Google震驚密碼界,攻破了網絡加密的基石SHA-1算法

雷鋒網 於 25/02/2017 發表 收藏文章
雷鋒網消息,在美國的2月23日,Google在密碼學領域幹了一件大事,它宣佈了一個公開的SHA-1算法碰撞方法,將這種算法攻破了。這也是對曾經在密碼學中最流行的算法宣判死亡。不過好消息是,幾乎沒有人仍在使用SHA-1了,所以看到這篇文章的你,也不需要安裝什麼安全補丁。但Google公佈的結果對網絡安全仍有十分重大的意義。

在了解整個事件前,應該先知道,Google到底做了什麼?

一句話:Google公開破解了web加密中的一個主要算法SHA-1。公司研究人員在博文中稱,有足夠的計算力(其中一個階段就花1個GPU大約110年的計算)就能實現碰撞,有效地破解算法。其實在之前,大家就知道這是可能的,但沒人這麼做過。

根據Google的披露政策,它將在90天后説明自己是怎麼做的,雷鋒網(公眾號:雷鋒網)屆時會第一時間跟進。不過一旦這種概念驗證方法公佈出來,任何有足夠計算力的人都能實現SHA-1碰撞,這樣這一算法也就不安全,該過時了。

也許Google都不是第一個這麼做的(比如一些國家情報機關),但是第一個公開的。

那麼問題來了,SHA-1是什麼呢?

SHA-1是一個散列函數(或哈希函數),它會從給定的文件中產生數字指紋(就像人的 指紋一樣),從而讓你驗證文件的完整性,又不會暴露整個文件內容,只需要檢查哈希值即可。如果散列函數一切正常,每個文件會產生唯一的哈希值,所以如果哈希值能匹配上,文件本身也能匹配上。這對於登陸系統尤其重要,因為它需要在不暴露密碼本身的情況下,驗證密碼是否正確。

知道了SHA-1,那什麼叫碰撞呢?剛才説的“實現碰撞”是什麼意思?

當散列函數有漏洞,兩個文件產生相同的哈希值時,就產生了碰撞。它會讓攻擊者濫用惡意文件,因為它與合法文件有一樣的哈希值。

作為證明,Google在公佈的結果中,顯示了兩個PDF文件,經過SHA-1處理後,產生了相同的哈希值。

實際上,被攻破的散列函數能用來攻擊另一個加密系統HTTPS,後者保護了全球超過一半網頁的安全。

作為普通用户,我能怎麼辦?

其實完全不用擔心。密碼學家已經預測到這種碰撞很多年了,對怎麼做以及需要多少計算力,都了解的很清楚。Google這麼做,是因為它有錢,服務器多……所以就動手了,業界對這種可能性一直都是很清楚的。

另外就是,多數網站都已經棄用了SHA-1。雖然也就是在2014年的時候,網絡上九成的加密都是用的它,但隨後的幾年它迅速被拋棄。截至今年的1月1日,當你訪問一個經由SHA-1加密的網站時,每一個主流的瀏覽器都會向你發出警告(一般情況是全屏紅色)。雖然很難説還有多少網站在用它,但正常的網絡活動都是安全的。

SHA-1也仍被用在除網絡加密外的其它地方,比如Git存儲庫,但考慮到它已經被棄用一段時間了,所以影響不會很大。

還有一個問題是,如果Google做的並不那麼激動人心,那為什麼要這樣做呢?

很可能是因為它想結束爭論,因為放棄SHA-1也是花了行業人士不少時間和精力的,而且不是每個人都想這麼做。如果直接破解了它,就能給反對的人致使一擊,快速結束戰鬥。

雷鋒網了解到,Chrome早在2014年就開始對SHA-1加密的網頁進行警告,Firefox和微軟的Edge和IE也迅速跟進了。

雖然現在來看,整個事件的影響不會很大,但我們應該慶幸的是,行業的進步很快,迅速棄用了原來的加密方式,否則現在來看就危險了。

關於整個事件 ,還可以看看Google的博文,裏面也有不少技術細節的展示。

雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知


資料來源:雷鋒網
作者/編輯:張馳

留言


請按此登錄後留言。未成為會員? 立即註冊
    快捷鍵:←
    快捷鍵:→