流行安全聊天APP TextSecure存在“未知密钥共享攻击”漏洞

TextSecure是Android平台下的一款加密聊天APP,这款免费APP设计目的是为了保证通信隐私。这款APP由Open WhisperSystems开发,代码完全开源,支持端到端短信加密。看起来很安全是不?不过最近,来自德国鲁尔大学的安全研究员发现TextSecure存在“未知密钥共享攻击”漏洞。

了解TextSecure

在Edward Snowden揭发NSA(美国国安局)的监控项目,Facebook又对WhatsApp进行收购后,TextSecure开始显露头角,成为那些注重隐私,有加密聊天需求人士的首选。

安全研究人员在报告中写道:

TextSecure吸引了众多用户,在Google Play应用商店的下载量达到了50万。TextSecure使用了Curve25519、AES-256 和 HMAC-SHA256加密算法,这些算法历经各种测试后被证明安全可靠的。软件还使用端对端加密(end-to-end encryption),通信内容只有接收和发送方能够查看。

什么是未知密钥共享攻击?

研究团队称,TextSecure用了一个复杂的加密协议,它是CyanogenMod Android操作系统的一部分 ,CyanogenMod Android是一款拥有约10万用户的开源Android系统。研究人员在其中发现了一种能够攻击这个协议的方法,即未知密钥共享攻击(Unknown Key-Share, UKS)。

这个项目是由蒂尔曼·弗罗施(Tilman Frosch),克里斯汀·梅恩卡(Christian Mainka),克里斯托弗·巴德(Christoph Bader),弗洛里安·伯格斯马(Florian Bergsma),约尔格·施文克(Jorg Schwenk)和托尔斯滕·霍尔兹(Thorsten Holz)共同研究的。

为更好地理解“未知密钥共享攻击”,研究团队举了一个形象的例子:

Bart想耍耍他的朋友Milhouse。Bart知道Milhouse会用TextSecure邀请他来自己的生日派对,于是他用Nelson的公钥替换他自己的公钥,并让Milhouse验证他的新公钥指纹(fingerprint)。这个恶作剧可以做的合情合理,比如Bart可以编造理由说:自己买了个新手机,需要重新验证指纹……

那么,当Milhouse邀请Bart参加他的生日聚会,Bart只需转发此消息给Nelson,Nelson就会认为这条消息来自Milhouse。而Milhouse那边也被耍了:他本以为邀请了Bart参加他的生日派对,而实际上邀请的是Nelson。

FreeBuf小编:小编已经尽力编译了,如果还没看懂,请阅读原文……

研究人员提供了一个临时的解决方案,目前TextSecure开发者已经知晓了此方法,并通过它防止UKS攻击。

详细报告可参见此