Firefox 60 推出 支援無密碼認證新標準 WebAuthn

Firefox 60 推出 支援無密碼認證新標準 WebAuthn

Firefox 60 日前推出,除了修正幾個高危以至嚴重的漏洞外,更重要的是正式開始支援新一代認證標準 WebAuthn ,將來使用支援 Firefox 來登入支援 WebAuthn 的網絡服務,就無需要記住密碼,也不擔心密碼漏洩、釣魚網和中間人攻擊的風險。

先說說修正部分,今次 Firefox 60 修正了兩項被列為「嚴重」的記憶體安全性問題,惡意利用的話可以執行任何程式碼,另外亦有兩項關於 SVG 動畫和 PDF 的「高危」漏洞修正,所以各位用戶應該立即更新。

WebAuthn —— 未來網絡認證新標準

在未介紹 WebAuthn (Web Authentication API) 是甚麼神奇把戲之前,大家可能會懷疑這東西會不會又是小眾遊戲。首先, WebAuthn 是由 W3C 組織與 FIDO 聯盟共同開發的技術,於上月中正式被 W3C 列為候選推薦標準,目的是要解決倚賴密碼的網絡認證方式,和釣魚網、中間人攻擊及使用盜取來的認證來進行重播攻擊。它是 FIDO 聯盟制訂的 FIDO2 認證技術中的核心部分,得到主要科技巨企和銀行支持,包括 Google 、 Microsoft 、 Mozilla 、 Intel 、 ARM 、 Amazon 、 VISA 、 Mastercard 、 美國運通 、NTTDocomo 、 KDDI 、 三星 、華為等,而且 Facebook 、 Google 和 PayPal 等主流網絡服務均已支援,絕非小眾遊戲(但就只欠 Apple )。

WebAuthn 支持用不同的裝置和方式進行認證,而且得到主流瀏覽器和網站支持,是日後網絡服務認證的標準。

WebAuthn 支持用不同的裝置和方式進行認證,而且得到主流瀏覽器和網站支持,是日後網絡服務認證的標準。

WebAuthn 是運用公開鍵認證的方式,支援指紋認證、人臉認證、外置驗證器等各種驗證方式,用戶可以自己選擇驗證方式,而不用記住煩瑣的密碼,又怕一個密碼用在多個網站時,萬一一個網站洩漏,其他網站帳號都遭殃的問題。

WebAuthn 的認證過程是這樣的:

  1. 假設你決定使用手機的指紋認證為你的驗證器,登錄指紋時,手機就會產生一對金鑰——公開鑰和私密鑰。私密鑰存放在手機的安全地方,公開鑰就會按要求傳送到網站去;
  2. 登入網站時,你先要用指紋向你的手機驗證身分;
  3. 網站會向你的手機發送一段資料,手機會用你的私密鑰簽署那段資料,然後把它送回去;
  4. 網站收回資料後,就用你的公開鍵驗證簽名是否你本人,驗證成功就完成登入程序。

由於傳送的是公開鑰和每次不同的簽署過資料,所以完全不怕中間人人截取。而且全個驗證過程中你的指紋都沒有離開過手機,也不擔心網站會存下你的驗證資料。

你可以到這個網站去體驗一下 WebAuthn 註冊和登入程序,不過可能因為 Apple 沒有加入聯盟, MacBook Pro 上的  Touch ID 暫時還不能用來登入網站。

開始註冊程序時,地址列會出現指紋標誌,網站會向你的裝置請求一些驗證器資料。

開始註冊程序時,地址列會出現指紋標誌,網站會向你的裝置請求一些驗證器資料。

收到驗證器資料後,網站就會要求你在驗證器(你的電腦、手機或者外置驗證器)驗證。

收到驗證器資料後,網站就會要求你在驗證器(你的電腦、手機或者外置驗證器)驗證。

除了 Firefox 之外, Chrome 和 Edge 都會陸續加入對 WebAuthn 的支援,相信不久將來,主流網站都會改用新登入方式。

像 YubiKey 這種外置一次性密碼令牌將也可以用來作為驗證器,而不用將驗證資料存放在電腦。

像 YubiKey 這種外置一次性密碼令牌將也可以用來作為驗證器,而不用將驗證資料存放在電腦。