繁體中文(香港)
  • webauthn
  • passkey
  • mfa

整合 WebAuthn 前你應該知道的事情

介紹 WebAuthn 的一些基本概念,旨在幫助你在整合 WebAuthn 時做出更好的決策。

Sijie
Sijie
Developer

Stop wasting weeks on user auth
Launch secure apps faster with Logto. Integrate user auth in minutes, and focus on your core product.
Get started
Product screenshot

WebAuthn 提供了一種比傳統密碼更加安全和友好的替代方案。隨著越來越多的網站採用這項技術,其普及率正在上升。如果你渴望將 WebAuthn 整合到自己的网站中,你並不是唯一一個。然而,作為一種相對較新的技術,你可能對其有許多疑問。

在考慮將 WebAuthn 整合到你的网站或應用程式時,理解這些關鍵概念和考量將幫助你做出有根據的決定,是否現在就實施它。

WebAuthn 和通行碼是什麼?

讓我們澄清定義:

  • Web 認證 API (WebAuthn)Credential Management API 的擴展。它利用公鑰加密實現強身份驗證,支持無密碼和安全的多因素身份驗證 (MFA),無需 SMS 文字。
  • 通行碼 是一種有趣的基於 WebAuthn 的替代方案,不同於「密碼 + 第二因素」的傳統方法。就這個背景而言,通行碼是在 WebAuthn 標準中的一個特定應用場景。

我可以跨裝置使用通行码嗎?

是的,你可以通過兩種方式在多個裝置上使用通行碼:

  1. 通過密碼管理器同步:流行的密碼管理器如 iCloud 密鑰串、Google Password Manager 和 1Password 允許你同步。註冊響應中標記為「跨平台」的通行碼,例如 GitHub 的「synced」標籤,可以在各種裝置上使用。
  2. QR 碼和藍牙:另一種方法是使用 QR 碼和藍牙從另一個裝置登錄。這種方法為用戶提供了在不同平台上訪問其帳戶的靈活性。

它可以作為單一的認證方法嗎?

絕對可以,WebAuthn 是一種高度安全的認證因素。通行碼包含一個「用戶 ID」,在身份驗證過程中,服務器接收經過驗證的「用戶 ID」作為標識符。這個「用戶 ID」可以是通用唯一識別碼 (UUID) 或其他唯一識別符,如電郵、電話號碼或用戶名。用戶可以選擇先輸入其「用戶 ID」,然後搜索有效的通行碼,或從與當前域名關聯的列表中選擇一個通行碼。

現在的兼容性如何?

WebAuthn 可以在安全上下文(HTTPS)中使用,並且在大多數瀏覽器的最新版本中受到支持。有關詳細的兼容性信息,請參閱 MDN 文檔

網域是通行碼的關鍵識別符

在 WebAuthn 操作中,不論是註冊還是身份驗證,「rp ID」(依賴方 ID)都是必填字段。它代表當前網頁的網域主機名。如果它與當前域名不匹配,瀏覽器將拒絕請求。這意味著通行碼是綁定到特定網域的,目前無法將現有通行碼遷移到不同網域。此外,通行碼不能跨不同網域使用。詳情請參閱此 問題

與身份驗證應用程式 (TOTP) 的比較

與傳統的雙因素身份驗證方法相比,如基於時間的一次性密碼 (TOTP) 和身份驗證應用程式,WebAuthn 展現出幾個優勢。WebAuthn 提供了一種更加用戶友好和安全的身份驗證體驗。不像 TOTP 需要手動輸入不斷變化的代碼,或身份驗證應用程式可能在裝置被盜時被破壞,WebAuthn 依賴於安全硬體和生物識別技術,提供流暢且強大的身份驗證過程。

然而,值得注意的是,TOTP 仍然有其優勢,比如易於備份和跨裝置使用,使其幾乎可以與所有裝置兼容。

結論

WebAuthn 無疑令人興奮,但像任何突破性技術一樣,在採用它之前,掌握全面的理解是至關重要的。本文旨在裝備你具備做出關於 WebAuthn 整合的明智決策所需的知識。在考慮其潛在好處時,請記住,保持了解是你成功的關鍵。順帶一提,請密切關注,因為 Logto 的下一個主要功能將支持 WebAuthn,提供更多無縫且安全的身份驗證可能性。