在賽博空間中,你和一個(gè)金融機(jī)構(gòu),或是推特,再或是和你的醫(yī)生之間的信任基礎(chǔ)依賴于加密散列值。一種形式過時(shí)的加密散列算法將會(huì)在2016年的1月1日開始逐漸被拋棄,你將感受到這所帶來的影響。
如果你是一個(gè)網(wǎng)站的站長,你為了形成一個(gè)安全的會(huì)話,就需要更新數(shù)字證書。即使你只是一個(gè)在網(wǎng)上沖浪的人,你依然偶爾會(huì)遇到你經(jīng)常訪問的網(wǎng)站的問題。像Facebook這樣的網(wǎng)站正在嘗試提供一種更穩(wěn)妥的遷移,盡管這一天很晚才會(huì)到來。
問題是一旦新的標(biāo)準(zhǔn)到位,便很難再將它移走,因?yàn)樵诖蠖鄶?shù)國家沒有一個(gè)統(tǒng)一的權(quán)威和標(biāo)準(zhǔn)。
通過驗(yàn)證
為了在瀏覽器和服務(wù)器之間建立一個(gè)加密的鏈接,聰明的工程師開發(fā)了一套使用公共密鑰(public-key)的系統(tǒng)。這個(gè)系統(tǒng)可以給出一個(gè)公共的線索,并提供一個(gè)私人的線索。
提供安全連接的每一個(gè)網(wǎng)絡(luò)服務(wù)器都需要一個(gè)數(shù)字證書,這個(gè)證書有很多域名格式化的文本。一個(gè)瀏覽器可以使用服務(wù)器的公鑰來交換一個(gè)獨(dú)一無二的加密密鑰。
但是,你怎么能確保這一證書沒有被篡改或交通沒有被攔截或者被其他人使用?這些第三方的證書是被寫入操作系統(tǒng)和瀏覽器的。
為了證明證書是由認(rèn)證中心頒發(fā)的,瀏覽器使用公共密鑰解析哈希值,如果它們匹配,認(rèn)證中心的私有密鑰將被使用。
通常使用的算法唯一的問題是哈希算法在最近今年被廣泛的沒有限制的使用,最終導(dǎo)致惡意的組織或者研究人員使用不同的文本并計(jì)算出相同的hash值。
如果這是有效的,即使它很昂貴,政府和罪犯也將能夠偽造證書簽名,并使用它們插入到網(wǎng)絡(luò)連接進(jìn)而無縫攔截?cái)?shù)據(jù)。這是非常糟糕的。
辭舊迎新
多年來,瀏覽器和操作系統(tǒng)制造商一直在努力提高自己的產(chǎn)品,發(fā)布補(bǔ)丁,并說服認(rèn)證機(jī)構(gòu)使用更快的新的標(biāo)準(zhǔn)。最早的哈希運(yùn)算法則是MD5,但它在2008年就被破解了。接下來是SHA-1來代替。
一個(gè)名叫CloudFlare的互聯(lián)網(wǎng)服務(wù)公司幫助網(wǎng)站處理拒絕服務(wù)攻擊的問題,這個(gè)公司發(fā)布了一個(gè)博客勾畫出了剩下的問題。主要的問題在于Windows XP Service Pack 2 and Android 2.2版本,CloudFlare每個(gè)月要處理20億中的百分之二的訪問者。大多數(shù)發(fā)展中國家的瀏覽器使用者并不會(huì)處理SHA-1。
iOS和Mac的用戶處于一個(gè)很理想的狀態(tài),硬件在失敗率和即將退休的設(shè)備低于百萬,如果真的是這樣,一些新的但不是最新的運(yùn)行著SHA-256的瀏覽器將支持在OS上運(yùn)行。
在自然環(huán)境下真正的過時(shí)了
你也許還會(huì)在你訪問的網(wǎng)站上發(fā)現(xiàn)這個(gè)網(wǎng)站正在使用SHA-1證書,然而,證書的更換在2014年中期才開始。
如果你不想訪問使用SHA-1證書的網(wǎng)站,你可以使用Safari瀏覽器,版本9可以幫助你這樣做。
SHA-1還沒有被打破,但是這個(gè)時(shí)間很快就會(huì)到來。當(dāng)它被打破的時(shí)候這依然需要一步一步來。首先一個(gè)證書需要被打印,一個(gè)證書的頒發(fā)需要大量的計(jì)算能力。然后證書需要安裝到服務(wù)器。這被嵌入進(jìn)網(wǎng)絡(luò)連接,因?yàn)橛蛎牟檎冶仨毐活嵏瞾硎固鎿Q工作不出錯(cuò)誤。
以上所說的這些在以前就嘗試過,這就是為什么SHA-1被如此的關(guān)注。保持你的瀏覽器及時(shí)更新,那么當(dāng)SHA-1真正被淘汰的時(shí)候,你早就已經(jīng)準(zhǔn)備好了。