0
本文作者: 張馳 | 2017-02-24 09:15 |
雷鋒網(wǎng)消息,在美國的2月23日,Google在密碼學領(lǐng)域干了一件大事,它宣布了一個公開的SHA-1算法碰撞方法,將這種算法攻破了。這也是對曾經(jīng)在密碼學中最流行的算法宣判死亡。不過好消息是,幾乎沒有人仍在使用SHA-1了,所以看到這篇文章的你,也不需要安裝什么安全補丁。但Google公布的結(jié)果對網(wǎng)絡(luò)安全仍有十分重大的意義。
在了解整個事件前,應(yīng)該先知道,Google到底做了什么?
一句話:Google公開破解了web加密中的一個主要算法SHA-1。公司研究人員在博文中稱,有足夠的計算力(其中一個階段就花1個GPU大約110年的計算)就能實現(xiàn)碰撞,有效地破解算法。其實在之前,大家就知道這是可能的,但沒人這么做過。
根據(jù)Google的披露政策,它將在90天后說明自己是怎么做的,雷鋒網(wǎng)屆時會第一時間跟進。不過一旦這種概念驗證方法公布出來,任何有足夠計算力的人都能實現(xiàn)SHA-1碰撞,這樣這一算法也就不安全,該過時了。
也許Google都不是第一個這么做的(比如一些國家情報機關(guān)),但是第一個公開的。
那么問題來了,SHA-1是什么呢?
SHA-1是一個散列函數(shù)(或哈希函數(shù)),它會從給定的文件中產(chǎn)生數(shù)字指紋(就像人的 指紋一樣),從而讓你驗證文件的完整性,又不會暴露整個文件內(nèi)容,只需要檢查哈希值即可。如果散列函數(shù)一切正常,每個文件會產(chǎn)生唯一的哈希值,所以如果哈希值能匹配上,文件本身也能匹配上。這對于登陸系統(tǒng)尤其重要,因為它需要在不暴露密碼本身的情況下,驗證密碼是否正確。
知道了SHA-1,那什么叫碰撞呢?剛才說的“實現(xiàn)碰撞”是什么意思?
當散列函數(shù)有漏洞,兩個文件產(chǎn)生相同的哈希值時,就產(chǎn)生了碰撞。它會讓攻擊者濫用惡意文件,因為它與合法文件有一樣的哈希值。
作為證明,Google在公布的結(jié)果中,顯示了兩個PDF文件,經(jīng)過SHA-1處理后,產(chǎn)生了相同的哈希值。
實際上,被攻破的散列函數(shù)能用來攻擊另一個加密系統(tǒng)HTTPS,后者保護了全球超過一半網(wǎng)頁的安全。
作為普通用戶,我能怎么辦?
其實完全不用擔心。密碼學家已經(jīng)預(yù)測到這種碰撞很多年了,對怎么做以及需要多少計算力,都了解的很清楚。Google這么做,是因為它有錢,服務(wù)器多……所以就動手了,業(yè)界對這種可能性一直都是很清楚的。
另外就是,多數(shù)網(wǎng)站都已經(jīng)棄用了SHA-1。雖然也就是在2014年的時候,網(wǎng)絡(luò)上九成的加密都是用的它,但隨后的幾年它迅速被拋棄。截至今年的1月1日,當你訪問一個經(jīng)由SHA-1加密的網(wǎng)站時,每一個主流的瀏覽器都會向你發(fā)出警告(一般情況是全屏紅色)。雖然很難說還有多少網(wǎng)站在用它,但正常的網(wǎng)絡(luò)活動都是安全的。
SHA-1也仍被用在除網(wǎng)絡(luò)加密外的其它地方,比如Git存儲庫,但考慮到它已經(jīng)被棄用一段時間了,所以影響不會很大。
還有一個問題是,如果Google做的并不那么激動人心,那為什么要這樣做呢?
很可能是因為它想結(jié)束爭論,因為放棄SHA-1也是花了行業(yè)人士不少時間和精力的,而且不是每個人都想這么做。如果直接破解了它,就能給反對的人致使一擊,快速結(jié)束戰(zhàn)斗。
雷鋒網(wǎng)了解到,Chrome早在2014年就開始對SHA-1加密的網(wǎng)頁進行警告,F(xiàn)irefox和微軟的Edge和IE也迅速跟進了。
雖然現(xiàn)在來看,整個事件的影響不會很大,但我們應(yīng)該慶幸的是,行業(yè)的進步很快,迅速棄用了原來的加密方式,否則現(xiàn)在來看就危險了。
關(guān)于整個事件 ,還可以看看Google的博文,里面也有不少技術(shù)細節(jié)的展示。
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。