整合 WebAuthn 前你應該知道的事情
介紹一些 WebAuthn 的基本概念,旨在幫助你在整合 WebAuthn 時做出更好的決策。
WebAuthn 提供了一種比傳統密碼更安全且更具使用者友好的替代方案。它的流行程度正在上升,越來越多的網站正在採用這項技術。如果你渴望將 WebAuthn 整合到你自己的网站,你並不孤單。然而,作為一項相對較新的技術,你可能對它有很多問題。
當考慮將 WebAuthn 整合到你的网站或應用程式時,了解這些關鍵概念和考慮因素將有助於你做出明智的決策,是否現在就實施它。
什麼是 WebAuthn 和 Passkeys?
讓我們澄清一下定義:
- **Web 身份驗證 API(WebAuthn)**是憑證管理 API 的擴展。它強化了使用公鑰加密技術的強身份驗證,實現無密碼和安全的多因素身份驗證(MFA),不再需要簡訊驗證。
- Passkeys是一個基於 WebAuthn 的有趣替代方案,取代了我們許多人經歷過的傳統「密碼 + 第二因素」方法。在此背景下,passkeys 是 WebAuthn 標準中的一個特定用例。
我可以跨設備使用 passkey 嗎
可以,你可以通過兩種方式在多個設備上使用 Passkey:
- 通過密碼管理器同步:流行的密碼管理器如 iCloud 鑰匙串、Google Password Manager 和 1Password 允許你同步使用。註冊響應中標記為「跨平台」的 Passkeys,如 GitHub 的「同步」標籤,可以在各種設備上使用。
- 二維碼和藍芽:另一種方法是使用二維碼和藍芽從其他設備登錄。這個方法為用戶在不同平台上訪問他們的帳戶提供了靈活性。
它能成為唯一的身份驗證方法嗎
絕對可以,WebAuthn 是一種非常安全的身份驗證因素。Passkey 包含一個「用戶 ID」,在驗證過程中,服務器接收經驗證的「用戶 ID」作為標識符。這個「用戶 ID」可以是全局唯一標識符(UUID)或其他唯一標識符如電子郵件、電話號碼或用戶名。用戶可以選擇先輸入他們的「用戶 ID」,然後搜索一個有效的 Passkey 或從與當前域相關的列表中選擇一個 Passkey。
如今的兼容性如何
WebAuthn 可以在安全環境(HTTPS)中使用,並被大多數瀏覽器的最新版本所支持。有關詳細的兼容性信息,請參閱 MDN 文檔。
領域是 passkey 的關鍵標識符
在 WebAuthn 操作中,無論是註冊還是驗證,「rp ID」(依賴方 ID)都是一個必填字段。它代表當前網頁的域名主機名。如果它與當前域不匹配,瀏覽器將拒絕請求。這意味著 passkeys 與特定域綁定,目前沒有辦法將現有的 passkeys 遷移到不同的域。此外,passkeys 不能跨不同域使用。欲了解更多詳情,請參閱此問題。
與身份驗證器應用相比(TOTP)
將 WebAuthn 與傳統雙因素身份驗證方法相比,如基於時間的一次性密碼(TOTP)和身份驗證器應用,可以揭示出一些優勢。WebAuthn 提供了一種更具使用者友好性和安全性的身份驗證體驗。不像 TOTP 需要手動輸入不斷變化的代碼,或身份驗證器應用可能在設備被偷竊時被破壞,WebAuthn 依賴於安全硬件和生物識別技術,提供無縫且穩健的身份驗證過程。
然而,TOTP 仍有其優勢,如備份容易和跨設備使用,這使得它與幾乎所有設備兼容。
結論
WebAuthn 無疑令人興奮,但就像任何突破性技術一樣,在採用它之前獲得全面了解是至關重要的。本文旨在為你提供進行 WebAuthn 整合決策時所需的知識。在考慮其潛在優勢時,請記住,保持資訊豐富是你成功的關鍵。順便說一下,請保持關注,因為 Logto 的下一個主要功能將支持 WebAuthn,提供更多無縫和安全身份驗證的可能性。