谷歌公告:SHA-1 哈希算法被攻破

collision-attack-sha-1.png

谷歌宣布攻破 SHA-1 技術的研究成果,Git 強依賴 SHA-1 引出 Linus 本人出面回應。作為非戰斗人員,面對持續的“高能”安全漏洞如何保護自己?

加密學哈希算法 SHA-1 被譽為密碼學的瑞士軍刀。哈希算法在我們日常的網絡安全、代碼倉庫安全、甚至是確認文件的完整性方面扮演著重要的角色。哈希函數可以為大量數據生成為很小的信息摘要。依照密碼學需滿足大規模使用的要求,算法設計使得兩個不同內容的消息要得到相同的信息摘要在計算量上難以達成。然而時過境遷,算法設計當初的需求定義會遭遇基于算法數學基礎上的攻擊和硬件計算能力提升而產生的風險。

今天,在 SHA-1 首次發布的20年后,Google 宣布了首次可操作的生成沖突的技術。這是 Google 與 CWI Institute 合作 2 年的研究成果。為了證明他們確實掌握了攻擊的方法,他們發布了2個 PDF 文件,兩個文件的內容是不同的,但經過 SHA-1 算法哈希后卻能得到相同的信息摘要。

shattered.png

上圖是 Google 發布的證據,兩個不同內容(背景藍色和背景紅色)的 PDF 文件,經過 SHA-1 計算后卻得到相同的信息摘要。

什么是哈希碰撞

密碼學的哈希算法(Hash),例如 MD5 和 SHA-1,就是可以將任意長度的信息映射成固定長度的信息。一個文件 Doc 1 通過哈希算法后會得到 42C1..21 這樣的一段信息摘要(digest),只要文件 Doc 1 沒有被修改過,通過相同的哈希算法總是得到相同的信息摘要。另一個文件 Doc 2 因為內容與 Doc 1 不同,通過哈希算法后就會得到不同的信息摘要 3E2A..AE。通過這樣的方式,我們就可以用這套算法來保證數據的完整性,保證文件不會被篡改。

Collision-illustrated.png

哈希碰撞 指的就是算法出現問題的情況,通過某種攻擊手段,攻擊者可以創造出一個 Bad doc,讓它通過哈希算法后卻得到與 Good doc 相同的數字摘要 3713..42。也就是說,有人可以修改信息的內容,而不能被你察覺到。如果攻擊者掌握了這套攻擊手段,所有依賴哈希算法驗證文件是否被篡改的系統都變得不再可靠了。

哪些系統會受影響?

任何依賴 SHA-1 做數字簽名的應用程序都將受影響。包括:

  • 數字證書簽名
  • 郵件 PGP/GPG 簽名
  • 軟件發布簽名
  • 備份系統
  • 冗余熱備份系統
  • Git

Git 高度依賴 SHA-1,由于算法出現漏洞,重要的代碼就有被篡改卻無法被檢查出來的風險。這次算法漏洞公布迫使 Linus 本人發聲回應,他的部分觀點是:

I doubt the sky is falling for git as a source control management tool. Do we want to migrate to another hash? Yes. Is it "game over" for SHA1 like people want to say? Probably not.

翻譯:我不信代碼管理軟件的天就要塌了。Git 要不要遷移到新的哈希算法呢?要。但 SHA-1 真如人們所說的要完蛋了嗎?未必。

不過,Linus 的回應遭到了猛烈抨擊,說 Linus 已經年老色衰,判斷力不行了。

非技術人員應該怎么保護自己

作為非戰斗人員,我們可能平時接觸不到這些算法,但我們永遠都需要提高安全意識。下面是一些避免自己受傷的幾點建議:

  1. 不在電腦或手機中安裝未知來源的軟件
  2. 不隨意下載和打開未知來源的文檔
  3. 盡量在軟件官網和 App Store 下載軟件,不信任軟件下載站點和網盤
  4. 在不同網站(或 app)使用不同的密碼
  5. 重要文件離線保存
  6. 電腦和手機一定要設定密碼,盡量開啟全磁盤加密

(完)


Stuff I Learned Yesterday 系列文章與你分享科技、設計、娛樂有關的話題。歡迎關注、打賞和轉載。

原文鏈接:谷歌公告:SHA-1 哈希算法被攻破

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 上學期選修了一門信息安全討論,期末的時候是寫一個關于信息安全方面的報告,找本科畢設精簡一下交上去,被老師發現了,開...
    cutoutsy閱讀 3,450評論 0 1
  • GIT分布式版本控制系統最佳實踐 這篇文章來自于老男孩教育高級架構師班12期的徐亮偉同學。 首先感謝老男孩架構師班...
    meng_philip123閱讀 3,467評論 4 36
  • 這篇文章主要講述在Mobile BI(移動商務智能)開發過程中,在網絡通信、數據存儲、登錄驗證這幾個方面涉及的加密...
    雨_樹閱讀 2,605評論 0 6
  • 所有貨幣都需要一些方法來控制供應,并強制執行各種安全屬性以防止作弊。在法定貨幣方面,像中央銀行這樣的組織控制貨幣供...
    Nutbox_Lab閱讀 3,142評論 1 3
  • 婚姻五年,我好似一直在無視——弟弟爸,他其實還是挺細心的。 1 一天中午,弟弟爸迷糊睡著,弟弟在床上爬來爬去。弟弟...
    師爺是枚美男子閱讀 322評論 0 0