這是網絡安全的基石:密碼學2016大盤點
2015年是密碼學應用標誌性的一年,2016年或許沒有那麼絢麗奪目,但全世界的研究人員仍在繼續精進密碼技術。
TLS 1.3 設計完成
2016年密碼學最大的實踐發展,就是安全傳輸層協議(TSL) 1.3 版。TLS是應用廣泛的重要加密協議,也是安全互聯網通信的基礎。在數百位研究人員和工程師長達數年的鑽研之後,新的TLS設計從密碼學的角度看終於可被認為是完工了。該協議如今支持Firefox、Chrome和Opera。雖然看起來像是個小版本升級,TLS 1.3 卻是 TLS 1.2 的重大再設計(1.2版已存世8年有餘)。事實上,最富爭議的問題之一,是要不要改個名字來表明 TLS 1.3 所做的重大改進呢?
用戶從哪兒感受到 TLS 1.3 ?速度!TLS 1.3 就是為速度而生,尤其是大幅減少了重複連接時數據發送前的網絡往返通信數量,最低可減至1次往返(1-RTT)乃至0次。這些理念之前已經以實驗形式出現過——QUIC協議(穀歌製定的一種基於UDP的低時延互聯網傳輸層協議)和早期TLS中。但作為 TLS 1.3 默認行為的一部分,它們很快就會得到廣泛應用。這意味著延遲減少和網頁加載速度的加快。
另外,TLS 1.3 應將成為安全智慧的顯著改進。它吸收了TLS幾十年實踐中的兩大主要教訓。首先,該協議摒棄了對一些舊協議功能和過時加密算法的支持,大幅瘦身。其次,TLS 1.3 引入了模式檢查,用以在很多舊版TLS和SSL中查找漏洞。TLS 1.3 在標準化過程中經曆加密社區的廣泛分析,而不是等到協議被廣泛部署難以修補的時候才這麼做。
對後量子加密的要求仍在繼續
加密社區一直在努力嚐試從當今算法(其中很多在實用量子計算機出現後就會變得徹底不安全)遷移到後量子加密。
自去年年底美國國家標準與技術協會(NIST)發布了後量子算法標準化計劃,算法轉型便受到了大幅推動。NIST在今年2月公布了首份工作報告,並在8月發布了一份召集算法提案的草案。研究人員一直在爭論後量子算法的目標到底該是什麼(以及,雙橢圓曲線(DualEC)標準後門事件之後,NIST是否還應在後量子算法標準化過程中擔任領導角色)。
同時,穀歌在實用性實驗中采用了新希望( New Hope )後量子密鑰交換算法,來保護穀歌服務器和Chrome瀏覽器之間的真實流量。這是後量子加密在現實世界中的首例部署應用。該實驗的結果表明,計算成本幾乎可以忽略不計,但因更大的密鑰規模導致的帶寬消耗有所增加。另一隊研究人員采用不同的算法,向TLS協議中加入了量子阻抗的密鑰交換。
關於後量子加密,我們不知道的東西還很多,但我們已開始探索其實際工程意義。
關於給加密算法安後門的新思考
很長時間裏,設計表麵安全但暗藏後門的加密係統,一直是爭議焦點。((“盜碼學(kleptography)”一次在1996年被創造出來,用以描述此類概念。)但斯諾登的揭秘,尤其是DUAL_EC偽隨機數字生成器被NSA故意安置後門的消息,激發了對加密算法後門安置方法的更多研究。法國和美國研究人員組成的一個團隊就發表了一篇論文,展示了技巧地選擇素數可使離散對數計算變得簡單容易,足以破壞Diffie-Hellman密鑰交換的安全性。
更糟的是,這種後門素數無法與其他隨機選擇的素數相區別。
RFC 5114:NIST的又一後門加密標準?
說到後門,今年還發現了另一個可能被後門了的標準:RFC 5114。該很少為人所知的標準是在2008編寫的,某種程度上,這玩意兒一直很神秘。該協議是由國防承包商BBN編寫的,目的是標準化NIST之前公布的某些參數。它定義了8個Diffie-Hellman組,可用於與互聯網工程任務組(IETF)的協議協同工作,提供互聯網通信安全性。最終,這些密鑰進入到了一些廣泛使用的加密庫中,比如OpenSSL和 Bouncy Castle (java平台輕量級加密包)。然而,其中一些組被發現十分可疑:沒有提供對產生過程和方法的任何說明(意味著可能被後門了),隻要參數沒有被仔細審查,便無力對抗小組約束攻擊。
雖然沒有切實證據,這還是導致了該標準是否被故意後門的一些爭論。作為回應,該標準的其中一位作者聲明稱,這有部分原因是為了給一位實習生一個“相對容易”的項目來完成。NIST的一名密碼學家聲稱,該標準不過是寫來給使用曲線算法的人提供測試數據的,“當然不是作為給實際使用或采納的人的建議”。該不良標準正是因其無能而提出的可能性無疑是存在的,但圍繞它的質疑,凸顯出一直以來對NIST作為密碼標準化機構的信任缺失。
美國總統大選暴露密碼可否認性問題
可否認性,及其對立麵——不可抵賴性,是加密通信可具有的兩個基本技術特性:係統應該向局外人提供證據證明消息是由特定發送者發送的嗎(不可抵賴性)?或者,係統應確保任何局外人都能根據需要修改記錄(可否認性)以便被泄通信不會牽連其他?這些屬性的現實必要性,是加密社區長久以來的爭議重災區。2016總統大選的新聞報道所掩蓋掉的,是不可抵賴性出其不意的崛起。資深民主黨政客們,包括副總統候選人蒂姆·凱恩及前DNC主席丹娜·布拉齊爾,正式聲明稱被泄DNC電子郵件是被篡改過的。
然而,網絡偵探們很快證實,電郵是以hillaryclinton.com郵件服務器的正確密鑰,經域名密鑰識別郵件協議(DKIM)簽署的。關於這些簽名,有很多防止誤解的說明:其中一些郵件來自不支持DKIM的外部地址,因而可能被修改過,DKIM隻斷言特定郵件服務器發送了消息(而不是某個個人用戶),所以,有可能是hillaryclinton.com的DKIM密鑰被盜或被惡意內部人士使用了,被泄郵件緩存也有可能被故意漏掉了某些郵件(DKIM證據不會揭露這個的)。然而,這可能是我們在不可抵賴加密證據的價值(或無價值)中所有的最引人矚目的數據點了。
攻擊隻會變得更好
一係列新型改進版攻擊已被發現。其中值得注意的是:
HEIST攻擊改進了之前BREACH和CRIME等Oracle壓縮攻擊的通用性,可通過惡意JavaScript從網頁盜取敏感數據。盡管因為此類攻擊的風險而在2014年就決定從 TLS 1.3 中完全摒棄對壓縮的支持,這一漏洞還是進一步顯示出了往HTTP之類複雜協議中添加加密功能的困難性。DROWN攻擊利用幾十歲高齡的SSLv2協議漏洞,破壞Web服務器的RSA簽名密鑰。如很多之前的TLS/SSL攻擊(POODLE、FREAK等等),DROWN依賴的是現代Web瀏覽器已不支持的老舊協議。然而,這依然是很現實的重大缺陷,因為攻擊者可以用此方法盜取Web服務器上那與現代客戶端所用相同的密鑰。該攻擊再一次提醒了我們:維持對過時加密協議的支持是有多不安全!Sweet32攻擊顯示出:64比特塊密碼(著名的三重DES和Blowfish)以CBC模式使用時,無法抵禦碰撞攻擊。生日悖論告訴我們,隻需觀察大約 2^(64/2) = 2^32 個加密塊——即32GB數據,就可以1/2的概率找到碰撞。這再一次暴露出,早該拋棄的遺留密碼卻依然在約1%的加密Web流量中被使用。可能有點點遠離實際係統,新攻擊在某些配對友好的橢圓曲線族中被發現,包括了流行的 Barreto-Naehrig 曲線。雖然當今互聯網加密中並沒有廣泛使用配對友好的曲線算法,它們卻是一係列高級加密係統的基礎,比如Zcash中用到的高效零知識證明,或Pond使用的組簽名。安全隨機性依然是密碼係統中的脆弱點:隻要不能產生真正隨機的數字,就不能創建真正不可預測的密鑰。GnuPG項目(廣泛使用的PGP軟件維護者)宣稱修複了Libcrypt隨機數產生方法中的缺陷,堵上了這個存在了18年的漏洞。雖然實際利用該漏洞並不容易,此類攻擊顯露出PRNG庫中的微小漏洞可因從未導致功能上的可見損失而隱身數十年之久。
吐故納新:HTTPS仍在緩慢堅實的路上
HTTPS正慢慢變得更加安全:
SHA-1散列函數在2016年就達美國法定最低飲酒年齡了——21歲,但是沒人會慶祝這個生日。相反,我們正逐漸逼近讓這個過時算法退休的終點。有那麼點點令人驚訝的是,今年並沒有發現任何SHA-1碰撞攻擊——算法被攻破的無可辯駁的明證。不過,瀏覽器廠商可不會等到真出現碰撞。微軟、穀歌、Mozilla,全都宣稱2017年起自己的瀏覽器不再接受SHA-1證書。雖然還需要一段時間,對SHA-A的協同拋棄,依然是加密社區的大勝利。據觀察,瀏覽器市場激勵廠商不擅自移除不安全舊協議,因此,廠商在SHA-1被完全攻破之前達成棄用時間線是個積極的跡象。對證書透明性(CT)的支持繼續增長。CT是設計來提供哪些證書被頒發給哪些域名的公開記錄協議。今年6月1日開始,所有賽門鐵克頒發的證書就被包含到CT記錄中(會被Chrome和Firefox拒絕)。網站可用Chrome的HSTS預加載列表(Firefox也用)來選擇要求CT。就在本周,Facebook發布了首個基於Web的CT記錄監視工具。RFC 7748,橢圓曲線Curve25519和Curve448 (“金發姑娘”)的標準化,終於完成了。這兩個曲線算法在 TLS 1.3 中可用,提供更快的表現,作為P-256之類NIST支持的經典曲線算法集的替代選擇。
本文轉自d1net(轉載)
最後更新:2017-07-20 17:02:31