W3C Web 認證 (WebAuthn)

2019 年 3 月 6 日,作者:Stian Thorgersen

W3C Web 認證 (WebAuthn) 最近被正式列為網路標準。這是朝向為使用者提供更安全、更簡單的身份驗證體驗邁出的一大步。

傳統的身份驗證方式,如密碼和 OTP,依賴於使用者和網路應用程式之間共享的機密,而 WebAuthn 則不然。WebAuthn 使用基於公鑰的憑證,使網路應用程式無法再存取使用者的機密。這些金鑰對於每個網路應用程式也是唯一的,從而消除了網路釣魚攻擊的風險。

WebAuthn 提供了一個標準協定,讓網路應用程式可以通過相對簡單的挑戰/回應機制,經由多種裝置進行身份驗證。所有主要的瀏覽器供應商現在都支援 WebAuthn 和 FIDO2,其中 FIDO2 是一個規格,使瀏覽器能夠與不同的硬體裝置進行通信。

WebAuthn 既可以用作雙重驗證機制,也可以實現無密碼驗證。目前已經有相當多的裝置可以與 WebAuthn 一起使用。有許多安全金鑰,例如 YubiKeyThinCTitan。許多新型筆記型電腦也配有內建指紋掃描器,而 Android 最近也允許在 Android 7+ 裝置上使用指紋掃描器進行 WebAuthn 驗證。

我們當然計畫在不久的將來為 Keycloak 帶來 WebAuthn 支援。 webauthn4j 背後的團隊一直致力於開發高品質的 Java WebAuthn 函式庫,並有望很快推出適用於 Keycloak 的擴充功能。

我們將首先專注於使用 WebAuth 的雙重驗證,並為此對 Keycloak 的雙重驗證功能進行一些改進。更多詳細資訊,請查看設計文件

之後,我們還將為 Keycloak 帶來無密碼體驗。這也將把 Keycloak 引入以身份優先的登入流程。通過首先要求使用者提供身份,Keycloak 可以根據使用者的偏好,就如何驗證使用者做出更明智的決策。例如,要求使用者按下安全金鑰上的按鈕,而不是要求輸入密碼。

資源