跳至主要內容

Passkeys(WebAuthn)

Passkey 提供比傳統密碼更安全且更友善的替代方案。Passkey 透過公開金鑰加密技術,將使用者裝置、服務網域與使用者 ID 綁定,有效防範釣魚與密碼攻擊。它相容於多種裝置或瀏覽器,並允許使用者利用生物辨識與硬體安全功能進行便捷驗證。 WebAuthn 則提供 API,讓網站能實作 passkey。

Logto 支援將 passkeys(WebAuthn)用於 多重要素驗證 (MFA, Multi-Factor Authentication)passkey 登入。同一組底層 WebAuthn 憑證可根據租戶設定重複用於上述場景。

概念

客戶通常認識 Passkeys,而非 WebAuthn,那麼兩者有何關係?又該如何使用?讓我們來釐清這些概念:

  • Passkeys:Passkey 是一種基於 FIDO、抗釣魚的憑證,用來取代密碼。它採用非對稱公開金鑰加密技術以提升安全性。Passkey 可以是硬體憑證或安全金鑰,例如 USB 或藍牙裝置。由於「Passkeys」是展示給使用者的驗證方式,建議於產品端使用此名稱。
  • WebAuthn:WebAuthn 是由 W3C 與 FIDO 聯盟制定的 JavaScript API,讓網頁應用程式能以 FIDO2 標準進行驗證。Passkeys 是 WebAuthn 支援的驗證方法之一。在 Logto Console 中,這項整合專業稱為「WebAuthn」。

WebAuthn 提供多樣化的驗證器,分為本地與雲端兩種型態:

  • 平台驗證器(內部驗證器,Platform authenticator / Internal authenticator):綁定於單一特定裝置作業系統,如電腦、筆電、手機或平板,僅能在該裝置上以生物辨識或裝置密碼授權,驗證速度快。例如 macOS 或 iOS 上以 Touch ID、Face ID 或裝置密碼驗證的 iCloud Keychain;Windows Hello 則可用臉部辨識、指紋或 PIN。
  • 漫遊驗證器(外部驗證器,Roaming authenticator / External authenticator / Cross-platform authenticator):獨立的可攜式裝置或軟體應用程式,如硬體安全金鑰或智慧型手機。需透過 USB、NFC 或藍牙連接裝置。漫遊驗證器不限於單一裝置或瀏覽器,彈性更高。

想深入瞭解 WebAuthn 的原理與流程,請參閱我們的部落格文章:WebAuthn 與 Passkeys 101整合 WebAuthn 前你該知道的事

設定 MFA 的 passkeys 驗證

  1. 前往 Console > 多重要素驗證 (Multi-factor authentication)
  2. 啟用「Passkeys(WebAuthn)」驗證因子。建議與其他 MFA 因子(TOTP、簡訊、備用碼)搭配使用,以降低單一因子依賴。
  3. 設定你偏好的 MFA 政策(必填或選填)
  4. 儲存設定變更
提示:

若同一使用者以 passkey 登入,Logto 會略過額外的 MFA 驗證步驟。因為 passkey 登入已滿足基於 WebAuthn 的驗證需求。

注意限制:

實作 WebAuthn 時,請留意以下限制:

  1. 平台與瀏覽器限制:Logto 目前尚未支援原生應用程式的 WebAuthn。此外,WebAuthn 驗證器的可用性取決於瀏覽器與裝置功能(查詢支援列表)。因此,WebAuthn 並非唯一的多重要素驗證 (MFA) 選項,否則你需自行控管哪些瀏覽器與裝置可存取產品。
  2. 網域限制:更換網域會導致使用者無法透過原有 WebAuthn 帳號驗證。Passkeys 綁定於當前網頁的特定網域,無法跨網域使用。
  3. 裝置限制:遺失裝置可能導致帳號無法存取,尤其是僅依賴「本裝置」平台驗證器的情境。建議提供多種驗證因子以提升存取彈性。

設定 passkeys 管理

你可以利用 Account API 建立自訂帳號管理介面,讓使用者新增、檢視、重新命名與移除 passkeys。這有助於打造個人化帳號中心,並支援跨裝置備份情境。

詳細實作步驟與 API 端點,請參閱 透過 Account API 管理帳號設定

Passkey 設定流程

Passkeys 規範要求使用者必須主動點擊當前頁面上的按鈕以啟動驗證元件。這表示在設定與驗證流程中,皆需將使用者導向起始頁面以啟動 WebAuthn。

WebAuthn 設定流程

Passkey 驗證流程

當使用者已設定多種 MFA 方法(包含 passkeys),passkey 會因其安全性與便利性,在第一個畫面作為推薦的 MFA 驗證方式。使用者可點擊下方「嘗試其他驗證方式」切換至其他驗證方法。詳情請參閱 設定 MFA

若使用者以 passkey 登入 完成登入,而非輸入其他第一因子,Logto 不會再要求額外的 MFA 步驟。因為 passkey 本身即視為 WebAuthn MFA 因子。

WebAuthn 驗證流程 整合 WebAuthn 前你該知道的事 WebAuthn 與 Passkey 101