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 流程中涉及的四個主要實體。
用戶: 使用 WebAuthn 註冊或驗證到網絡應用程序的人。
用户代理: 處理 WebAuthn API 調用的網絡瀏覽器,管理所有不同的依賴方和驗證器之間的驗證過程。
依賴方: 用戶嘗試訪問的網絡服務或應用程序。用戶通過用户代理與依賴方互動。
驗證器: 用戶擁有的硬件組件,用於驗證用戶的身份。它可以根據平台或瀏覽器的能力有多種形式,如安全密鑰(如 Yubikeys)、手機或平板電腦(通過藍牙、NFC 或 USB 連接)、基於設備的生物識別或 PIN 等。

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

WebAuthn 身份驗證流程:

你可以選擇多重驗證器以增加靈活性。這些驗證器有兩種類型,既可用於本地亦可用於雲端使用,你可以為你的服務啟用其中一個或兩個。
平台驗證器與單一且特定的設備操作系統綁定,例如用戶登錄的電腦、筆記本電腦、手機或平板電腦。它僅在設備上使用生物識別或設備密碼進行授權。這是一種快速的驗證方式,特別是使用生物識別時,可以替代手動輸入密碼的需要。然而,如果用戶丟失設備,則可能成為訪問的障礙。 例如:

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

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

特別是依賴於“此設備”平台驗證器的用戶,丟失設備可能導致失去對其帳戶的訪問權限。帳戶恢復可能是一個繁瑣的過程。為減少這一風險,建議用戶在設置 WebAuthn 時同時綁定其他備用驗證方法。
許多服務和應用程序尚未提供對通行密碼的支持。用戶通常不熟悉各種驗證方法,也可能不完全了解平台驗證器和漫游驗證器之間的區別和限制。然而,主要系統、瀏覽器和 SaaS 服務越來越多地採用 WebAuthn,這成為企業和用戶皆開始接受的增長趨勢。
Logto 計劃在 11 月推出多因素驗證(MFA)的初步支持,將支持三種驗證方法:身份驗證應用程序 TOTP、WebAuthn(通行密碼)和備用代碼,提供全面的註冊和登錄解決方案。我們將繼續開發與 WebAuthn 相關的高級功能。期望你的使用經驗,我們邀請你在 Product Hunt 上關注即將推出的 MFA 版本。