2014年3月3日 星期一

Dual EC DRBG 後門事件的歷史發展摘要及雜記

撰寫 STS 年會 論文時, 針對 NSA 暗藏在 RSA 公司的 Dual_EC_DRBG 後門事件 (中文背景知識, 大推) 搜尋到一些連結, 趕快摘要一下。 以下如果沒有特別提到資料來源, 主要都是來自 A few more notes on NSA random number generators How a Crypto ‘Backdoor’ Pitted the Tech World Against the NSA 這兩篇文章。 前者的作者是 Johns Hopkins 大學資安教授 Matthew Green, 先前因為 文章戳到 NSA 的要害而被校方要求撤文。 後者則是貴哥的資安偶像 Bruce Schneier 所推薦的文章 (裡面有引用 Schneier 的評論), 很長, 包含非常白話而清楚的 Dual_EC_DRBG 技術解釋。

其實早在 2005 年就已出現可疑跡象。 Certicom 公司 握有許多關於橢圓曲線 (Elliptic Curve, 就是 Dual_EC_DRBG 當中的 EC 兩字母) 相關專利。 2005 年 ANSI 負責銀行業務相關標準的 X9F1 團隊在設計 X9.82 標準時, 注意到該公司兩位員工申請一項 名為 「橢圓曲線亂數產生器」 的專利, 專利文件明白指出這個方法可以藏後門。 2006 年 NIST 提出資安相關規範草稿意欲將 Dual_EC_DRBG 列為國家標準時, 就已有至少兩篇學術論文回應, 指出 Dual_EC_DRBG 不符合一般資安規範。 2007 年, 微軟工程師 Shumow 與 Ferguson 在 CRYPTO 資安會議上明確地指出 Dual_EC_DRBG 的問題不像是一個粗心的設計疏失, 而像是一個後門。

專門開發行動裝置資安產品的 Silent Circle 公司 技術長 Jon Callas 四兩撥千斤地表示到現在他還是不相信這是後門: 「如果 NSA 為了在標準當中植入後門而花了兩億五千萬美元只能做到這樣, 那我們實在沒什麼好怕的。」 他說這個演算法很可笑; 最後卻又以卡通偵探片嘲笑陰謀論述。 (嗯, 看來還是別買他們的產品比較安全。) [補充] 感謝 UGP 留言提醒。 我就覺得這個名字有點印象... 原來 先前曾經噗過他們的新聞。 再搜尋一下, 發現: Github 上面有他們的原始碼; 但 是不是全部? 不太確定。

Cryptography Research 的總裁 Paul Kocher 的看法卻很不一樣。 「設計不良的加密演算法是因為懶惰和無知而造成漏洞; 但是這個例子卻是精心設計出來的漏洞。」 Schneier 也這麼認為。 在 2007 年當時, 他就已經 公開呼籲大眾 避免採用這個可疑的演算法。 「這個弱點怎麼看就是一個後門。」 那時他以為這個後門太明顯了, 開發人員不可能會採用這個演算法。 但是他錯了。 美國政府採購需求的強大力量, 促使許多公司把它納入產品之中。

其中也包含微軟。 在 2007 年底, 照樣將它收入 Vista SP1。 Dual_EC_DRBG 不是 Windows 的預設亂數產生器。 但是 Schneier 表示: 相較於側錄鍵盤的木馬程式需要安插大量可疑程式碼進入受害者的電腦, NSA 所塞到 Windows 裡的 Dual_EC_DRBG 機制只需在 Windows registry 裡面改幾個 bits 就可以開始監聽, 這種作法很低調, 也讓陰謀論者難以攻擊、 NSA 很容易否認。 也請見我的文章: NSA 要求微軟安置在 Windows 裡的後門

Green 提醒: 除了 NIST 之外, 上述的 ANSI X9.82 以及 ISO 18031 裡面都有 Dual_EC_DRBG。 此外, 由 Micali 與 Schnorr 所發明的另一個可疑 DRBG 演算法也在 ANSI 與 ISO 的標準當中。

事情爆發之後, RSA 表示: 「決定採用 Dual_EC_DRBG 作為預設亂數產生器, 是在 2004 年。 當時 NSA 在資安產業界形象良好, 本來就是本公司的合作對象之一。 2007 年, NIST 將 Dual_EC_DRBG 列為國家標準, (關於這個演算法的爭議) 我們也以 NIST 的決策為依歸。 2013 年九月 NIST 建議大眾勿採用此演算法, 我們也就跟進。」 (沒有逐字逐句翻; 只是大意) 總之, 在我看起來, 或者他們的技術人員都不參與決策, 或者技術人員看不出問題, 或者技術人員所提的警告被其他考量壓下去了, 才會有這樣的結果。 此外, 這篇聲明也沒有譴責或至少要求 NSA 說明為何要強力推薦這個 [Kocher 與 Schneier 指出的] 後門亂數產生器。

後門的運作方式, 不再只有 公鑰夾帶私鑰的概念解釋 直接針對 Dual EC DRBG 的英文白話解說, 實際運作示範教學也出現了: Dual_EC_DRBG backdoor: a proof of concept

* * * * *

手邊沒電腦; 口頭推薦本文嗎? 可以請您的朋友搜尋 「dual_ec_drbg 歷史」 或 「」。

4 則留言:

  1. 文中提到的Silent Circle公司,最近剛好有一篇關於它要出主打隱私手機的新聞
    http://chinese.engadget.com/2014/01/15/blackphone-privacy-and-security-android-smartphone/
    http://linuxpilot.com/blackphone

    回覆刪除
  2. 波音推智慧手機 有自動銷毀資料防護
    http://newtalk.tw/news/2014/02/27/44794.html

    我還在用 Nokia N100,咋辦?

    回覆刪除
  3. Hi, 貴哥

    很欣賞您的部落格,無私地分享資訊科技評論分析,內容豐富實用,造福廣大讀者,佩服您的用心經營與熱情! 而我們注意到您尚未使用網路廣告(ex. Google Adsnese、Blogger Ads等),不曉得您是否有興趣拓展更多部落格贊助來源?

    我們是全球性的網路平台「聯盟網」,類似目前部落客常使用的網路廣告模式,針對部落客、粉絲團打造一個專業、透明且安全的網路賺錢平台,邀請您免費嘗試我們的合作模式:
    1. 免費加入會員→無成本、無風險!
    2. 自由選擇推廣商品→操作簡單、素材多元
    3. 廣告獎金高單價→非直銷模式! 放置廣告貼紙或連結並完成任務即可獲得獎金

    舉例說明:「Agoda網路訂房幫手網站」→廣告金:275元、任務:消費者訂購房間
    您將Agoda的廣告連結放置在部落格(或相關文章)版面,有一位消費者透過您的部落格進入Agoda並消費,您即可獲得$275的廣告金
    (獎金無上限累積、每月請款直接匯入您的帳戶)

    更多適合您的優質商品之廣告金與任務:
    1. 「TutorABC」任務:消費者報名試讀課程,您的廣告獎金→5,500元
    2. 「巨匠電腦」任務:消費者報名課程,您的廣告獎金→425元
    3. 「宅神爺」任務:消費者註冊遊戲帳號,您的廣告獎金→50元
    不限定推廣方式(ex.banner、EDM、轉貼、撰文分享等)
    每成交一次,您即可獲得一筆高額獎金

    邀請您→免費加入聯盟網會員http://goo.gl/zcsqeM

    也歡迎您來信交流任何問題~
    期待能收到您的回覆,謝謝!!
    by 聯盟網 姚佳玲 Jessy Yao (jyao@upstartdna.com)

    回覆刪除
  4. 不被電腦綁住 手機「行動敗家」取代PC
    http://news.tvbs.com.tw/entry/523308

    版主也可以考慮出「手機版」部落格。

    回覆刪除