谷歌利用了更安全的網路日推出一種新工具,旨在提高我們日常 IT 安全水平。受洗密碼檢查,這是 Chrome 瀏覽器的擴展,每次網路使用者在連接表單中插入登入和密碼時,都會檢查該資料是否尚未因盜版而受到損害。如果適用,軟體將顯示警告,鼓勵使用者更改密碼。
原則上,這種類型的工具並不是很新。自 2017 年 9 月以來,Haveibeenpwned 網站提供了類似的服務,名為破解密碼。此類軟體的困難在於確保密碼不會外洩。因為,顯然,沒有人願意將自己的密碼交給 Haveibeenpwned 或 Google。
閱讀:如何使用 Google 的擴充功能「密碼檢查」來檢查密碼的完整性
K-匿名和指紋識別
為了解決這個棘手的問題,這兩項服務依賴加密指紋和「k-匿名性」。其想法如下:瀏覽器在本地產生密碼的指紋,並僅發送該指紋的第一個字元。作為回應,驗證服務返回以相同字元開頭並引用洩漏密碼的指紋清單。此清單在瀏覽器層級本地與使用者的密碼指紋進行比較。如果它出現在那裡,則會向用戶發出警報。最後,該服務既不會收到密碼,也不會收到其加密指紋,而只會收到該指紋的一部分。
然而,Haveibeenpwned 和 Google 實現這項驗證原則的方式卻截然不同。在第一種情況下,該設備非常簡單。瀏覽器將密碼轉換為 SHA-1 雜湊值,並從伺服器接收受損的 SHA-1 雜湊值清單。然後他進行比較。問題在於 SHA-1 是一種過時的演算法,不適合保護密碼免受暴力攻擊。因此,指紋清單存在被攔截的風險。
Google 提供雙重安全服務
對於谷歌來說,系統要複雜得多。瀏覽器將使用者名稱和密碼轉換為 Argon2 指紋,演算法的優點是對暴力攻擊更加穩健。然後,使用基於橢圓曲線的加密演算法和只有用戶知道的秘密密鑰對該指紋進行本地加密。
然後,加密的指紋被送到谷歌,谷歌使用自己的金鑰添加類似的加密層,並將其全部發送回瀏覽器。然後根據用戶的密鑰對雙重加密的指紋進行解密。因此,我們在本地獲取了由 Google 加密的 Argon2 指紋。然後,該加密指紋將在瀏覽器層級與 Google 加密並傳送的 Argon2 指紋清單進行比較。
從表面上看,Google的設備似乎更加安全,因為它使用了更強大的加密指紋演算法,並透過加密增加了額外的保護。
然而,谷歌的受損指紋資料庫目前還不如 Haveibeenpwned 的資料庫完整。有線使用高度受損的標識符測試了擴展程序,而沒有引起任何警報。一些網路用戶也擔心谷歌會使用此擴充功能來收集和分析他們的網路旅程。我們向網路巨頭詢問了這個問題,並將在收到答覆後立即更新本文。
來源 :
Google部落格