這(zhè)是網絡安全的(de)基石:密碼學(xué)2016大盤點
作者:CIO時代網  來源:CIO時代網  發表時間:2017-1-12  點擊:3690
  TLS1.3設計(jì)完成

  2016年密碼學(xué)最大的(de)實踐發展,就是安全傳輸層協議(yì)(TLS)1.3版。TLS是應用(yòng)廣泛的(de)重要加密協議(yì),也是安全互聯網通信的(de)基礎。在(zài)數(shù)百位研究人員和工程師(shī)長(cháng)達數(shù)年的(de)鑽研之後,新(xīn)的(de)TLS設計(jì)從密碼學(xué)的(de)角度看終于可被認為(wèi)是完工了。該協議(yì)如今支持Firefox、Chrome和Opera。雖然看起來像是個(gè)小版本升級,TLS1.3卻是TLS1.2的(de)重大再設計(jì)(1.2版已存世8年有餘)。事實上,最富争議(yì)的(de)問題之一,是要不(bù)要改個(gè)名字來表明TLS1.3所做(zuò)的(de)重大改進呢(ne)?

  用(yòng)戶從哪兒感受到TLS1.3?速度!TLS1.3就是為(wèi)速度而生,尤其是大幅減少了重複連接時數(shù)據發送前的(de)網絡往返通信數(shù)量,最低可減至1次往返(1-RTT)乃至0次。這(zhè)些理(lǐ)念之前已經以實驗形式出現過——QUIC協議(yì)(谷歌(gē)制定的(de)一種基于UDP的(de)低時延互聯網傳輸層協議(yì))和早期TLS中。但(dàn)作為(wèi)TLS1.3默認行(xíng)為(wèi)的(de)一部分,它們很快就會(huì)得到廣泛應用(yòng)。這(zhè)意味著(zhe)延遲減少和網頁加載速度的(de)加快。

  另外,TLS1.3應将成為(wèi)安全智慧的(de)顯著(zhe)改進。它吸收了TLS幾十年實踐中的(de)兩大主要教訓。首先,該協議(yì)摒棄了對一些舊協議(yì)功能和過時加密算法的(de)支持,大幅瘦身(shēn)。其次,TLS1.3引入了模式檢查,用(yòng)以在(zài)很多舊版TLS和SSL中查找漏洞。TLS1.3在(zài)标準化(huà)(huà)過程中經曆加密社區(qū)的(de)廣泛分析,而不(bù)是等到協議(yì)被廣泛部署難以修補的(de)時候才這(zhè)麼做(zuò)。

  對後量子(zi)加密的(de)要求仍在(zài)繼續

  加密社區(qū)一直在(zài)努力嘗試從當今算法(其中很多在(zài)實用(yòng)量子(zi)計(jì)算機出現後就會(huì)變得徹底不(bù)安全)遷移到後量子(zi)加密。

  自去年年底美國國家标準與技術協會(huì)(NIST)發布了後量子(zi)算法标準化(huà)(huà)計(jì)劃,算法轉型便受到了大幅推動。NIST在(zài)今年2月公布了首份工作報(bào)告,并在(zài)8月發布了一份召集算法提案的(de)草案。研究人員一直在(zài)争論後量子(zi)算法的(de)目标到底該是什麼(以及,雙橢圓曲線(DualEC)标準後門(mén)事件(jiàn)之後,NIST是否還應在(zài)後量子(zi)算法标準化(huà)(huà)過程中擔任領導角色)。

  同時,谷歌(gē)在(zài)實用(yòng)性實驗中采用(yòng)了新(xīn)希望(NewHope)後量子(zi)密鑰交換算法,來保護谷歌(gē)服(fú)務(wù)器(qì)和Chrome浏覽器(qì)之間的(de)真實流量。這(zhè)是後量子(zi)加密在(zài)現實世界中的(de)首例部署應用(yòng)。該實驗的(de)結果表明,計(jì)算成本幾乎可以忽略不(bù)計(jì),但(dàn)因更大的(de)密鑰規模導緻的(de)帶寬消耗有所增加。另一隊研究人員采用(yòng)不(bù)同的(de)算法,向TLS協議(yì)中加入了量子(zi)阻抗的(de)密鑰交換。

  關于後量子(zi)加密,我(wǒ)們不(bù)知道(dào)的(de)東西還很多,但(dàn)我(wǒ)們已開始探索其實際工程意義。

  關于給加密算法安後門(mén)的(de)新(xīn)思考

  很長(cháng)時間裡(lǐ),設計(jì)表面安全但(dàn)暗藏後門(mén)的(de)加密系統,一直是争議(yì)焦點。((“盜碼學(xué)(kleptography)”一次在(zài)1996年被創造出來,用(yòng)以描述此類概念。)但(dàn)斯諾登的(de)揭秘,尤其是DUAL_EC僞随機數(shù)字生成器(qì)被NSA故意安置後門(mén)的(de)消息,激發了對加密算法後門(mén)安置方法的(de)更多研究。法國和美國研究人員組成的(de)一個(gè)團隊就發表了一篇論文,展示了技巧地(dì)選擇素數(shù)可使離(lí)散對數(shù)計(jì)算變得簡單容易,足以破壞Diffie-Hellman密鑰交換的(de)安全性。

  更糟的(de)是,這(zhè)種後門(mén)素數(shù)無法與其他(tā)随機選擇的(de)素數(shù)相區(qū)别。

  RFC5114:NIST的(de)又(yòu)一後門(mén)加密标準?

  說(shuō)到後門(mén),今年還發現了另一個(gè)可能被後門(mén)了的(de)标準:RFC5114。該很少為(wèi)人所知的(de)标準是在(zài)2008編寫的(de),某種程度上,這(zhè)玩意兒一直很神秘。該協議(yì)是由國防承包商BBN編寫的(de),目的(de)是标準化(huà)(huà)NIST之前公布的(de)某些參數(shù)。它定義了8個(gè)Diffie-Hellman組,可用(yòng)于與互聯網工程任務(wù)組(IETF)的(de)協議(yì)協同工作,提供互聯網通信安全性。最終,這(zhè)些密鑰進入到了一些廣泛使用(yòng)的(de)加密庫中,比如OpenSSL和BouncyCastle(java平台輕量級加密包)。然而,其中一些組被發現十分可疑:沒有提供對産生過程和方法的(de)任何說(shuō)明(意味著(zhe)可能被後門(mén)了),隻要參數(shù)沒有被仔細審查,便無力對抗小組約束攻擊。

  雖然沒有切實證據,這(zhè)還是導緻了該标準是否被故意後門(mén)的(de)一些争論。作為(wèi)回應,該标準的(de)其中一位作者聲明稱,這(zhè)有部分原因是為(wèi)了給一位實習生一個(gè)“相對容易”的(de)項目來完成。NIST的(de)一名密碼學(xué)家聲稱,該标準不(bù)過是寫來給使用(yòng)曲線算法的(de)人提供測試數(shù)據的(de),“當然不(bù)是作為(wèi)給實際使用(yòng)或采納的(de)人的(de)建議(yì)”。該不(bù)良标準正是因其無能而提出的(de)可能性無疑是存在(zài)的(de),但(dàn)圍繞它的(de)質疑,凸顯出一直以來對NIST作為(wèi)密碼标準化(huà)(huà)機構的(de)信任缺失。

  美國總統大選暴露密碼可否認性問題

  可否認性,及其對立面——不(bù)可抵賴性,是加密通信可具有的(de)兩個(gè)基本技術特性:系統應該向局外人提供證據證明消息是由特定發送者發送的(de)嗎(不(bù)可抵賴性)?或者,系統應确保任何局外人都能根據需要修改記錄(可否認性)以便被洩通信不(bù)會(huì)牽連其他(tā)?這(zhè)些屬性的(de)現實必要性,是加密社區(qū)長(cháng)久以來的(de)争議(yì)重災區(qū)。2016總統大選的(de)新(xīn)聞報(bào)道(dào)所掩蓋掉的(de),是不(bù)可抵賴性出其不(bù)意的(de)崛起。資(zī)深民主黨政客們,包括副總統候選人蒂姆·凱恩及前DNC主席丹娜·布拉齊爾,正式聲明稱被洩DNC電子(zi)郵件(jiàn)是被篡改過的(de)。

  然而,網絡偵探們很快證實,電郵是以hillaryclinton.com郵件(jiàn)服(fú)務(wù)器(qì)的(de)正确密鑰,經域名密鑰識别郵件(jiàn)協議(yì)(DKIM)簽署的(de)。關于這(zhè)些簽名,有很多防止誤解的(de)說(shuō)明:其中一些郵件(jiàn)來自不(bù)支持DKIM的(de)外部地(dì)址,因而可能被修改過,DKIM隻斷言特定郵件(jiàn)服(fú)務(wù)器(qì)發送了消息(而不(bù)是某個(gè)個(gè)人用(yòng)戶),所以,有可能是hillaryclinton.com的(de)DKIM密鑰被盜或被惡意內(nèi)部人士使用(yòng)了,被洩郵件(jiàn)緩存也有可能被故意漏掉了某些郵件(jiàn)(DKIM證據不(bù)會(huì)揭露這(zhè)個(gè)的(de))。然而,這(zhè)可能是我(wǒ)們在(zài)不(bù)可抵賴加密證據的(de)價值(或無價值)中所有的(de)最引人矚目的(de)數(shù)據點了。

  攻擊隻會(huì)變得更好(hǎo)(hǎo)

  一系列新(xīn)型改進版攻擊已被發現。其中值得注意的(de)是:

  HEIST攻擊改進了之前BREACH和CRIME等Oracle壓縮攻擊的(de)通用(yòng)性,可通過惡意JavaScript從網頁盜取敏感數(shù)據。盡管因為(wèi)此類攻擊的(de)風險而在(zài)2014年就決定從TLS1.3中完全摒棄對壓縮的(de)支持,這(zhè)一漏洞還是進一步顯示出了往HTTP之類複雜協議(yì)中添加加密功能的(de)困難性。

  DROWN攻擊利用(yòng)幾十歲高(gāo)齡的(de)SSLv2協議(yì)漏洞,破壞Web服(fú)務(wù)器(qì)的(de)RSA簽名密鑰。如很多之前的(de)TLS/SSL攻擊(POODLE、FREAK等等),DROWN依賴的(de)是現代Web浏覽器(qì)已不(bù)支持的(de)老舊協議(yì)。然而,這(zhè)依然是很現實的(de)重大缺陷,因為(wèi)攻擊者可以用(yòng)此方法盜取Web服(fú)務(wù)器(qì)上那與現代客戶端所用(yòng)相同的(de)密鑰。該攻擊再一次提醒了我(wǒ)們:維持對過時加密協議(yì)的(de)支持是有多不(bù)安全!

  Sweet32攻擊顯示出:64比特塊密碼(著(zhe)名的(de)三重DES和Blowfish)以CBC模式使用(yòng)時,無法抵禦碰撞攻擊。生日悖論告訴我(wǒ)們,隻需觀察大約2^(64/2)=2^32個(gè)加密塊——即32GB數(shù)據,就可以1/2的(de)概率找到碰撞。這(zhè)再一次暴露出,早該抛棄的(de)遺留密碼卻依然在(zài)約1%的(de)加密Web流量中被使用(yòng)。

  可能有點點遠(yuǎn)離(lí)實際系統,新(xīn)攻擊在(zài)某些配對友好(hǎo)(hǎo)的(de)橢圓曲線族中被發現,包括了流行(xíng)的(de)Barreto-Naehrig曲線。雖然當今互聯網加密中并沒有廣泛使用(yòng)配對友好(hǎo)(hǎo)的(de)曲線算法,它們卻是一系列高(gāo)級加密系統的(de)基礎,比如Zcash中用(yòng)到的(de)高(gāo)效零知識證明,或Pond使用(yòng)的(de)組簽名。

  安全随機性依然是密碼系統中的(de)脆弱點:隻要不(bù)能産生真正随機的(de)數(shù)字,就不(bù)能創建真正不(bù)可預測的(de)密鑰。GnuPG項目(廣泛使用(yòng)的(de)PGP軟件(jiàn)維護者)宣稱修複了Libcrypt随機數(shù)産生方法中的(de)缺陷,堵上了這(zhè)個(gè)存在(zài)了18年的(de)漏洞。雖然實際利用(yòng)該漏洞并不(bù)容易,此類攻擊顯露出PRNG庫中的(de)微小漏洞可因從未導緻功能上的(de)可見損失而隐身(shēn)數(shù)十年之久。

  吐故納新(xīn):HTTPS仍在(zài)緩慢堅實的(de)路(lù)上

  HTTPS正慢慢變得更加安全:

  SHA-1散列函數(shù)在(zài)2016年就達美國法定最低飲酒年齡了——21歲,但(dàn)是沒人會(huì)慶祝這(zhè)個(gè)生日。相反,我(wǒ)們正逐漸逼近(jìn)讓這(zhè)個(gè)過時算法退休的(de)終點。有那麼點點令人驚訝的(de)是,今年并沒有發現任何SHA-1碰撞攻擊——算法被攻破的(de)無可辯駁的(de)明證。不(bù)過,浏覽器(qì)廠商可不(bù)會(huì)等到真出現碰撞。微軟、谷歌(gē)、Mozilla,全都宣稱2017年起自己的(de)浏覽器(qì)不(bù)再接受SHA-1證書(shū)。雖然還需要一段時間,對SHA-A的(de)協同抛棄,依然是加密社區(qū)的(de)大勝利。據觀察,浏覽器(qì)市(shì)場激勵廠商不(bù)擅自移除不(bù)安全舊協議(yì),因此,廠商在(zài)SHA-1被完全攻破之前達成棄用(yòng)時間線是個(gè)積極的(de)迹象。

  對證書(shū)透明性(CT)的(de)支持繼續增長(cháng)。CT是設計(jì)來提供哪些證書(shū)被頒發給哪些域名的(de)公開記錄協議(yì)。今年6月1日開始,所有賽門(mén)鐵克頒發的(de)證書(shū)就被包含到CT記錄中(會(huì)被Chrome和Firefox拒絕)。網站可用(yòng)Chrome的(de)HSTS預加載列表(Firefox也用(yòng))來選擇要求CT。就在(zài)本周,Facebook發布了首個(gè)基于Web的(de)CT記錄監視(shì)工具。

  RFC7748,橢圓曲線Curve25519和Curve448(“金發姑娘”)的(de)标準化(huà)(huà),終于完成了。這(zhè)兩個(gè)曲線算法在(zài)TLS1.3中可用(yòng),提供更快的(de)表現,作為(wèi)P-256之類NIST支持的(de)經典曲線算法集的(de)替代選擇。

獲取更多專業資(zī)訊

微信掃一掃


服(fú)務(wù)項目

維保運維服(fú)務(wù)

信息系統集成服(fú)務(wù)

機房(fáng)搬遷服(fú)務(wù)

 
 
 
QQ 在(zài)線客服(fú)
QQ 在(zài)線客服(fú)
 
電話:
0531-88818533
客服(fú)QQ
2061058957
1905215487