天天看點

這是網絡安全的基石:密碼學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(轉載)

繼續閱讀