▪️資安 - FIDO2
2025-4-30
| 2025-4-30
字數 766閱讀時間 2 分鐘

定義

FIDO2 (Fast IDentity Online 2) 是使用者驗證的開放標準
用加強使用者對線上服務的登入方式,以提高整體信任度。
FIDO2 是 FIDO 聯盟所開發的最新開放驗證標準,FIDO 聯盟是 Microsoft 和其他技術、商業及政府組織的產業聯盟。

如何運作?

FIDO2 無密碼驗證通常使用通行金鑰做為帳戶驗證的第一個主要因素。
當使用者向 FIDO2 支援的線上服務註冊時,註冊以執行驗證的用戶端裝置會產生僅適用於該 Web App 或網站的金鑰組。
 
如何註冊 FIDO2 支援的服務:
  1. 向服務註冊時,系統會提示您選擇支援的 FIDO 驗證器方法。
  1. 使用驗證器支援的簡單手勢啟用 FIDO 驗證器,無論是輸入 PIN、觸碰指紋讀取器,或插入 FIDO2 安全性金鑰。
  1. 啟用驗證器後,您的裝置將會產生對您的裝置、帳戶和服務特有的私密金鑰組。
  1. 您的本機裝置會安全地儲存私密金鑰,以及任何與驗證方法相關的機密資訊,例如您的生物特徵辨識資料。公開金鑰會經過加密,並連同隨機產生的認證識別碼一起向服務登錄,並儲存在驗證器伺服器上。
如何登入 FIDO2 支援的服務:
  1. 服務會進行密碼加密挑戰以確認您的目前狀態。
  1. 當系統提示時,執行帳戶註冊期間所使用的相同驗證器手勢。以手勢確認您的目前狀態後,您的裝置就會使用儲存在您裝置上的私密金鑰來簽署挑戰。
  1. 您的裝置會將已簽署的查證傳送回服務,以安全登入的公開金鑰進行驗證。
  1. 完成後,您即已登入。
 

什麼是 WebAuthn 和 CTAP2?

Web 驗證 (WebAuthn)

WebAuthn 是在相容的網頁瀏覽器和平台中執行的 JavaScript API,讓已註冊的裝置可以 執行 FIDO2 驗證。World Wide Web Consortium (W3C) 是 World Wide Web 的國際標準組織,與 FIDO 聯盟合作開發了 WebAuthn。WebAuthn 在 2019 年成為正式 W3C Web 標準。

客戶端對驗證器通訊協定 2 (CTAP2)

CTAP2 是由 FIDO 聯盟開發,可讓漫遊驗證器 (例如 FIDO2 安全性密鑰與行動裝置) 與 FIDO2 支援的瀏覽器和平台通訊。
 

簡單來說 ⇒
使用者要求註冊或登入時,使用 FIDO2 的服務端 (RP App Server) 會告知瀏覽器說,我們現在要用 FIDO Authentication,而瀏覽器則會使用 WebAuthn API,透過 CTAP protocol 來與 Authenticator 溝通,存取到需要的資訊並產生 public key 傳回給服務端。

實作文章參考

  • 資安
  • 計算資料長度.Net - String VS StringBuilder
    Loading...