實例論證:NSA在安全標準中植入了后門
前不久,我寫到NSA可能在安全標準中植入后門。今天,我們談一談NSA被指責在標準中植入后門的兩個案例,然后通過它們來區分兩種后門之間的不同。
第一個案例
是關于NIST標準,SP 800-90A,該標準詳細說明了一種偽隨機數生成器(PseudoRandom Generator 以下簡稱PRG)。一個RPG可以通過計算得到一小組不可預料的隨機比特,并進而“延展”得到大量的隨機比特數。在密碼學中,PRG作為大多數密鑰的源頭,是必需的。因此,如果你能“破解”某些人的PRG,你就能預測其使用的密鑰,進而擊潰其整個加密算法。
NIST標準中提供了一些核心算法供PRG選擇。其中一個算法使用了一種叫做橢圓曲線的數學結構,在這里我并不打算展開介紹這個數學概念??傊?,這個算法使用了兩個“公開參數”P和Q,它們均在標準中有指定的值,因此說它們是公開的。
密碼學家相信,如果P和Q是隨機的,PRG就是安全的。但是2006年,兩個獨立密碼學家指出,通過某種方法選定P和Q后,它們之間就具有了某種特殊的關系。一個“局外人”可能并不知道這種特殊關系的存在,但是如果你知道了描述P和Q之間關系的“密鑰”,就可以輕松擊潰PRG的安全體系。
知道了這一點,會發現很多事實突然變得有趣起來。首先,NSA看起來十分執意要將這種算法寫入標準,即使它的運行效率很低;其次,NSA在標準中指定了P和Q的建議取值范圍;第三,NSA并未解釋這些給定的取值范圍是如何得出的。怎么樣,是不是有點兒意思?
不僅如此,現在已經可以通過一些已公開的步驟,得出新的隨機的P和Q,也就是說,以上三種問題都可以得到解決,但是NSA并沒有這么做。
值得注意的是,(也許是為了辟謠),前不久(9月10日),NIST重新開放了SP 800-90A的公開評論。
第二個案例
是由John Gilmore提出的,他在IPSEC標準中發現了問題。IPSEC被視為安全技術的一塊基石,能夠為因特網中的個人IP數據包提供完整可靠的加密。一個成功廣泛部署的IPSEC協議可以大大強化因特網安全,為多種網絡通信提供加密保護。
John說,NSA及其代理部門始終在降低該標準的安全水平與執行效率,同時卻不斷提高其復雜程度和安全方面的實現難度。盡管John還沒有掌握NSA植入后門的確鑿證據,但是他發現,NSA的確在不斷削弱該標準的效力,事實上,IPSEC已經沒有人們想象中的那樣安全可靠。
上述案例向我們展示了兩種不同類型的后門。第一個關于PRG的案例中,我們懷疑NSA嘗試建立一個只有它能使用的后門,因為只有它知道關聯P和Q的密鑰。第二個關于IPSEC的案例中,NSA不斷削弱用戶的安全防護能力,這樣它就能更輕易地訪問你的數據,但同時其他所有人都具有了這樣的機會。
可以確定的是,一個私有后門很可能無法一直“私有”。如果真有這樣一個magic密鑰,能讓NSA窺探所有人的秘密,那這把鑰匙很可能會被濫用或泄露到外界。因此,NSA私有后門和公開后門之間的界限并不明顯。
但是,看起來這兩種后門之間還是引起了不同的政策辯論。前者使得NSA能秘密地輕易訪問每個人的數據,后者則賦予了每個人這種訪問權限,后者的影響力要更加嚴重。
同時,我們應該看到一個后門是如何創造出來的。在PRG的案例中,需要獲得制定標準的專家們通過,NSA才能使其加密過程中那微小的缺陷“蒙混過關”。在IPSEC的案例中,則貌似需要在標準的整個制定過程中不斷協調公關活動才有機會制造那小小的缺陷,在這個過程中,即使沒有人發現某種模式,也應該能注意到某些單個步驟,(但是卻沒有)。
也許有人會懷疑,這些案例真的是NSA有意而為之,還是只是空穴來風。對此,我們并不敢保證。但是只要NSA一直擁有參與制定安全標準的許可權限,我們就有必要,對他們所參與制定的任何標準保持懷疑。