跳至主要內容

通行密鑰 (Passkeys, WebAuthn)

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

Logto 現已支援用於多重要素驗證 (MFA, Multi-Factor Authentication) 的通行密鑰 (WebAuthn)。通行密鑰登入功能即將推出,敬請期待後續更新。

概念說明

客戶通常認識的是通行密鑰 (Passkeys) 而非 WebAuthn,那麼兩者之間有什麼關係?該如何使用?讓我們來釐清這些概念:

  • 通行密鑰 (Passkeys):通行密鑰是一種基於 FIDO、具備防釣魚能力的憑證,用來取代密碼。它採用非對稱公開金鑰加密技術以提升安全性。通行密鑰可以是硬體權杖或安全金鑰,例如 USB 或藍牙裝置。由於「通行密鑰」是呈現給使用者的驗證方式,建議在你的產品客戶端中使用此名稱。
  • WebAuthn:這是一個由 W3C 與 FIDO 聯盟共同制定的 JavaScript API,讓網頁應用程式能以 FIDO2 標準進行驗證。通行密鑰是 WebAuthn 支援的其中一種驗證方式。在 Logto Console 中,我們專業地將此整合稱為「WebAuthn」。

WebAuthn 提供多種驗證器 (authenticator) 供使用者選擇,分為本地與雲端兩種類型:

  • 平台驗證器 (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 與通行密鑰 101 以及 整合 WebAuthn 前你該知道的事

設定 MFA 通行密鑰驗證

  1. 前往 Console > 多重要素驗證 (Multi-factor authentication)
  2. 啟用「通行密鑰 (Passkeys, WebAuthn)」驗證因子。建議將通行密鑰與其他 MFA 因子(TOTP、簡訊、備用代碼)搭配使用,以降低單一因子依賴。
  3. 設定你偏好的 MFA 政策(強制 / 選用)
  4. 儲存你的設定變更
注意限制事項:

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

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

設定通行密鑰管理

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

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

通行密鑰設定流程

通行密鑰規範要求使用者必須在當前頁面主動點擊按鈕以啟動驗證元件。這表示在設定與驗證流程中,使用者都應被導向起始頁面以啟動 WebAuthn。

WebAuthn 設定流程

通行密鑰驗證流程

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

WebAuthn 驗證流程 整合 WebAuthn 前你該知道的事 WebAuthn 與通行密鑰 101