WebAuthn 和 密鑰 101
全面瞭解 WebAuthn,包括其概念、工作流程、流行的原因以及相關挑戰。
全面瞭解 WebAuthn,包括其概念、工作流程、流行的原因以及相關挑戰。
WebAuthn 在 NIST AAL 標準中名列最安全的身份驗證器之一。於 2013 年引入,現已成為企業身分驗證的首選。然而,其採用並未廣泛,導致許多人對 WebAuthn 和 密鑰產生疑問。我們來深入了解你需要知道的內容。
| FIDO 聯盟 | FIDO 聯盟是一個組織,提供開源和安全的無密碼認證標準,包括 UAF、U2F 和 FIDO2。 |
| FIDO2 | FIDO2 是一組由 FIDO 聯盟開發的安全網上驗證標準。FIDO2 包含兩個主要組件:WebAuthn 用於無密碼登錄,CTAP 用於安全設備通信。 |
| 密鑰 | 密鑰是一種基於 FIDO 的釣魚防護憑證,用於替代密碼。
|
| WebAuthn | WebAuthn 是由 W3C 和 FIDO 聯盟開發的 JavaScript API,讓網頁應用程式能以 FIDO2 標準進行身份驗證。密鑰是 WebAuthn 支持的其中一種身份驗證方式。 |
基本上,你可能知道 WebAuthn 流程中涉及的 4 個主要實體。
使用者: 使用 WebAuthn 註冊或驗證到網頁應用程式的人。
使用者代理: 處理 WebAuthn API 調用的網頁瀏覽器,並管理所有不同依賴方與身份驗證器之間的身份驗證過程。
依賴方: 使用者嘗試訪問的網頁服務或應用程式。使用者透過使用者代理與依賴方互動。
身份驗證器: 用於驗證使用者身份的硬體元件。可根據平台或瀏覽器功能採取不同形式,例如安全密鑰(如 Yubikeys)、手機或平板(通過藍牙、NFC 或 USB 連接)、基於設備的生物識別或 PIN 等。

非對稱公開密鑰加密是核心過程。
詳細說明的話,可將其分為註冊和身份驗證階段。
WebAuthn 註冊流程:

WebAuthn 身份驗證流程:

你可以選擇多種身份驗證器以增加靈活性。這些身份驗證器有兩種類型,分別適用於本地和雲端使用,你可以為你的服務啟用一個或兩者。
平台身份驗證器綁定至單一和特定設備操作系統,例如使用者登入的電腦、筆電、手機或平板。它僅在該設備上運作,使用像生物識別或設備密碼等方法進行授權。它是一種快速的身份驗證方法,尤其是透過生物識別,並可以替代手動輸入密碼。然而,如果使用者丟失設備,它可能成為無法訪問的障礙。 例如:

漫遊身份驗證器是一個獨立的便攜設備或軟體應用程式,如硬體安全密鑰或智能手機。它應使用 USB 連接設備或保持 NFC 或藍牙開啟。漫遊身份驗證器不限於單一設備或瀏覽器,提供更大的靈活性。例如:

高保證安全性對於保護業務資源至關重要。透過以下措施來實現:
WebAuthn 在提高安全性的同時,提高了用戶無密碼驗證體驗:
某些瀏覽器或平台不支持 WebAuthn 或不支持漫遊身份驗證器。雖然 Caniuse 的當前統計數據顯示支持良好,桌面平台覆蓋 97.37%,行動平台覆蓋 96.3%,但在不同瀏覽器版本和操作系統之間仍然存在差異。例如,桌面 Linux 不支持平台身份驗證器,Android 僅完全支持 Chrome 上的 WebAuthn,而 macOS 上的 Internet Explorer 不支持 WebAuthn。這要求管理員要求成員執行特定的瀏覽器或操作系統選擇或配置其他替代 MFA 方法。

尤其是對於依賴「此設備」平台身份驗證器的用戶,如果設備丟失可能導致其帳戶訪問受損。帳戶恢復可能是一個繁瑣的過程。為減輕此風險,建議用戶在設置 WebAuthn 時同時綁定其他備份身份驗證方法。
許多服務和應用程式尚未對密鑰提供支持。用戶常常缺乏對各種身份驗證方法的熟悉,可能不完全了解平台身份驗證器和漫遊身份驗證器之間的區別和限制。然而,隨著主要系統、瀏覽器和 SaaS 服務的增加使用 WebAuthn,它已成為一個增長中的趨勢,企業和用戶都開始接受。
Logto 正在進行準備於 11 月推出 MFA(多因素身份驗證)。初始階段將支持三種驗證方法:身份驗證器應用 TOTP,WebAuthn(密鑰),和備份代碼,提供全面的登入和註冊解決方案。我們將繼續開發與 WebAuthn 相關的進階功能。我們期待你的使用體驗,也邀請你關注 Product Hunt 的即將推出的 MFA 發布。