TextSecure是Android平臺下的一款加密聊天APP,這款免費APP設計目的是為了保證通信隱私。這款APP由Open WhisperSystems開發,代碼完全開源,支持端到端短信加密。看起來很安全是不?不過最近,來自德國魯爾大學的安全研究員發現TextSecure存在“未知密鑰共享攻擊”漏洞。
了解TextSecure
在Edward Snowden揭發NSA(美國國安局)的監控項目,Facebook又對WhatsApp進行收購后,TextSecure開始顯露頭角,成為那些注重隱私,有加密聊天需求人士的首選。
安全研究人員在報告中寫道:
"自從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。