一次對“電報”開發人員的加密挑戰

50infivedays發表於2013-12-23

這周早些時候,一家叫做“電報”的公司釋出了一種“安全”移動資訊產品。多安全呢?用他們在常見問題解答中的話來說,“非常安全”。出於好奇,為了瞭解更多,我檢視了他們的協議,然後立即產生了一些問題和擔憂。然而,當觸及技術細節時,他們用開發人員的學歷(數學博士)來回答,而不是進行一次更講道理的對話。他們同時謝絕了我以任何形式與之合作的嘗試。

最近,他們選擇了用一次加密破解挑戰賽對安全社群的憂慮作出迴應!

 

加密測試的謬誤

一如既往,這些東西都是不好的訊號。通過用他們的方式設計的測試,“電報”開發人員正利用一個作弊的挑戰來欺騙公眾。他們沒有花費時間更新他們的常見問題解答,以說明他們舉辦的比賽是他們絕對安全的堅實證據,即便這基本上已毫無意義。

所以,“電報”開發人員們,作為一種迴應,我為你們準備了我自己的加密破解測試。下面展示一個極差的“安全”協議,它在實際環境中面對攻擊連一秒都不能堅持,但是在與“電報”挑戰賽完全一樣的測試框架中卻變得“牢不可破”。

  1. Alice使用了一個美國國家安全域性(NSA)有後門的隨機數生成器,叫做Dual_EC_DRBG,並用它生成一段隨機的32位元組值作為超級金鑰,叫做super_secret
  2. Alice向Bob傳送一條訊息請求他的公鑰。
  3. Bobbob_public——一個896bit的RSA公鑰——來回復。沒有簽名,沒有驗證,我們僅寄希望於不會有中間人攻擊。
  4. Alicebob_public作為公鑰,採用“教科書RSA”(譯者注:主要與生產環境中更安全的“部署用RSA”相比,這種RSA有明顯弱點)加密super_secret,然後傳送給Bob。沒有任何隨機填充,僅僅是全零填充。e=65537。
  5. AliceBob現在用super_secret計算出簡訊密碼 message_key=MD2(super_secret)(我們知道你們喜歡過時的加密方式,所以我們覺得你們應該會喜歡用MD2作雜湊函式)。
  6. Alice給Bob發資訊時,這樣計算密文:ciphertext = message xor message_key。陳舊到完美的方案,我們的異或加密方式甚至比你們的70年代加密方式更古老,那麼現在會發生什麼呢?

這樣,我們就構建了一個資訊協議,它使用了NSA有後門的隨機數生成器(Dual_EC_DRBG),弱公鑰演算法(896位RSA,沒有填充,沒有簽名,沒有認證),儘可能最差的加密雜湊函式(MD2),以及用異或作為加密演算法。AliceBob之間通訊的全部副本在下面附錄中,Alice每天都會把同一條資訊發給Bob一次(正如“電報”公司的測試一樣)。

測試框架完全與“電報”的一樣(沒有中間人攻擊,沒有已知明文攻擊,沒有選擇明文攻擊,沒有選擇密文攻擊,沒有篡改,沒有重放,等等)。如果“電報”想要證明他們的協議比這個絕對的垃圾協議更好,那麼我質疑他們能否釋出Alice資訊中的明文。如果他們使用他們建立的框架,不能在這個明顯殘缺的協議中展示一次破解,那麼,我們就會明白他們的測試在胡說。

按照他們的邏輯,這個測試“證明”了這個殘缺協議令人費解的安全,儘管他所能證明的只是這樣的測試不過是用於騙人的工具。

 

對於我們其餘的人

讓我們來把這件事做好,並且建立一個真正的開源安全非同步資訊傳輸解決方案,使它不只是騙人的萬靈油或營銷噱頭。

我們在OpenWhisperSystems開發了開源應用TextSecure,並使用了我們認為能夠代表當今安全非同步資訊傳輸解決方案的精髓。我們已經與Cyanogen公司合作,將TextSecure協議,透明的整合到他們的產品CyanogenMod中,這給了我們1000萬脫離了像“電報”這樣不誠信開發者的使用者。

請加入我們這次集體開源的努力。加入郵件列表並幫助開發,設計或者編寫文件的工作。如果你想要贊助我們,你可以資助我們的BitHub例項,這會給任何無償貢獻者一個獲得贊助的機會,同時我們會提供機會讓你能夠精確的檢視你的錢是怎麼花的。

不論多少,任何你能提供的幫助都使我們向著一個真正的隱私資訊傳輸解決方案更進一步,這會讓如“電報”這樣的騙子更容易消失於大眾視野。這需要我們所有人。

 

附錄——測試傳輸日誌

相關文章