FIDO2 是開放驗證標準,讓使用者無需密碼即可登入網站與 App。使用者不必輸入密碼,FIDO2 透過受信任裝置——智慧型手機、筆電或 FIDO2 安全金鑰——以公開金鑰密碼學驗證身分。私密金鑰留在裝置上,攻擊者無法從伺服器竊取,也無法用釣魚頁騙取「密碼字串」。
由 FIDO 聯盟與 W3C 制定,FIDO2 結合兩份規格:WebAuthn(瀏覽器 API)與 CTAP(與驗證器通訊的協定)。兩者並用,可在所有主流瀏覽器與作業系統上實現無密碼驗證。
本指南說明 FIDO2 是什麼、FIDO2 驗證如何運作、與較舊標準如 FIDO U2F 的差異,以及通行密鑰如何在其上發展。
理解「什麼是 FIDO2」
要清楚回答「什麼是 FIDO2」,可從目的談起。FIDO2 旨在以密碼學技術取代密碼,提供安全的驗證機制。
傳統系統中,使用者與伺服器共用密碼;伺服器儲存憑證並在日後登入比對。若攻擊者取得儲存的密碼資料,或騙使用者交出憑證,帳戶即可能淪陷。
FIDO2 以密碼學金鑰取代密碼,消除此風險。使用者向支援 FIDO 的服務註冊時,裝置會產生一對金鑰:公開金鑰由服務儲存,私密金鑰安全保存在使用者裝置。
驗證時,服務對裝置發出挑戰(challenge);裝置以私密金鑰簽署後回傳;伺服器以公開金鑰驗證簽章。因私密金鑰從不離開裝置,無法被攔截或竊取。
簡單說,當人們問「什麼是 FIDO 驗證」,答案就是:以綁定在裝置上的密碼學憑證驗證身分,而非依賴密碼。
此作法同時改善安全與可用性:使用者不必記複雜密碼,組織也不必在伺服器存放敏感密碼資料。
產業為何走向 FIDO 驗證
要理解 FIDO,也需理解密碼的局限。密碼有數個眾所皆知的弱點。常見問題之一是重複使用——帳戶一多,使用者常在多個服務用相同密碼。若一處外洩,攻擊者會嘗試在其他平台重用。
釣魚是另一大風險。攻擊者仿冒合法登入頁,使用者輸入憑證後即被竊取。
再嚴格的密碼政策也無法完全消除這些風險,組織仍須投入大量資源監控登入活動與保護儲存的密碼資料。
FIDO2 從登入流程移除密碼,改以受信任裝置上的密碼學金鑰驗證身分,不再依賴共享密鑰。
此舉大幅降低憑證竊取風險——沒有密碼可被偷,釣魚效果大減。此外,使用者可透過生物辨識或裝置確認登入,無須手動輸入密碼。
這些優勢說明為何許多組織將 FIDO 登入納入長期驗證策略。
FIDO2 驗證如何運作
要完整理解 FIDO2,需看實務上的兩階段:註冊與驗證。
註冊
註冊為安全 FIDO2 驗證的基礎,有時稱為憑證註冊(credential enrollment),即登記日後可用於 FIDO 登入的受信任裝置。
註冊時,使用者在支援的瀏覽器、App 或平台上選擇啟用 FIDO。服務透過 WebAuthn 介面向瀏覽器送出註冊請求;瀏覽器與裝置驗證器通訊,並提示使用者先驗證身分再繼續。
驗證步驟通常為裝置端方法:現代裝置多為指紋、臉部辨識等生物辨識,或儲存在裝置上的安全 PIN。確保僅合法使用者能核准註冊。
確認身分後,裝置產生一對獨特的密碼學金鑰。公開金鑰傳給服務並與帳戶一併儲存;私密金鑰留在裝置內安全儲存區,絕不離開。
註冊完成後,使用者即可安全登入,無需傳統密碼。
驗證
註冊完成後,使用者每次需要存取帳戶時即可進行 FIDO 登入。
使用者啟動登入時,伺服器產生密碼學挑戰,經瀏覽器轉送給驗證裝置。
裝置以生物辨識或裝置解鎖提示使用者確認。驗證通過後,裝置以私密金鑰簽署挑戰。
簽署後的回應送回伺服器,伺服器以儲存的公開金鑰驗證簽章。成功即完成驗證。
因私密金鑰不離開裝置,FIDO2 可防禦多種常見攻擊。
FIDO2 核心技術:WebAuthn 與 CTAP
兩項關鍵技術讓 FIDO2 能跨瀏覽器、裝置與應用運作。
WebAuthn
Web Authentication(WebAuthn) 是網頁標準,讓網站能在 FIDO2 流程中與驗證裝置互動。由 W3C 與 FIDO 聯盟合作制定,提供安全介面,使瀏覽器能在 Web App 中直接支援 FIDO 登入。
WebAuthn 定義網站如何向瀏覽器送出註冊或驗證請求,以及瀏覽器如何與智慧型手機、筆電或硬體安全金鑰等驗證器通訊。瀏覽器作為安全中介,將密碼學挑戰傳給驗證器,再把簽署回應送回網站。
此設計下,私密金鑰等敏感憑證不離開使用者裝置,有助防禦釣魚、憑證竊取與伺服器端資料外洩。
CTAP
Client to Authenticator Protocol(CTAP) 負責客戶端平台(瀏覽器或作業系統)與 FIDO2 驗證器裝置之間的通訊。WebAuthn 定義網站如何把請求送到瀏覽器;CTAP 定義下一步:瀏覽器如何與硬體安全金鑰、智慧型手機或內建生物感測器對話。
透過 CTAP,瀏覽器將密碼學挑戰送給驗證器,並取得確認使用者身分的簽署回應。協定確保驗證器能安全產生與使用金鑰,而不外洩敏感資訊。CTAP 歷經兩版:CTAP1(本質上即舊版 FIDO U2F 協定)與 CTAP2,支援定義現代 FIDO2 無密碼流程。
WebAuthn 與 CTAP 協同運作,構成 FIDO 驗證的技術基礎,讓跨瀏覽器、平台與裝置的安全無密碼登入成為可能。
FIDO 登入使用的驗證器類型
依憑證儲存方式與互動方式,有不同驗證器支援 FIDO 登入。
平台驗證器(Platform authenticators)
內建於智慧型手機、筆電、平板等裝置,與作業系統與硬體整合。使用者以裝置既有能力完成 FIDO 登入。
常見例子包含指紋、臉部辨識,以及 TPM、安全隔離區(Secure Enclave)等安全模組。使用者啟動 FIDO2 驗證時,裝置會先以這些內建方式確認身分。
金鑰安全存放在裝置內,外人難以存取。平台驗證器無需額外硬體,便利與裝置端強安全並存。
漫遊驗證器與 FIDO2 安全金鑰
漫遊驗證器為可攜帶的外接裝置,可跨多台電腦、手機、平板使用。與綁定單一裝置的平台驗證器不同,漫遊驗證器可帶著走。
常見連線方式為 USB、NFC 或藍牙低功耗(BLE)。較新 CTAP 亦支援混合傳輸(常稱 caBLE):電腦顯示 QR Code,使用者用手機掃描後在手機上完成驗證。YubiKey 等硬體安全金鑰是最常見的漫遊驗證器之一;登入時接上金鑰並輕觸確認即可。
企業環境常要求更嚴格控管時會廣泛採用漫遊驗證器,為管理員、遠端員工與需跨系統安全存取的使用者多加一層保護。
FIDO 與 FIDO2:演進
FIDO 聯盟多年來發布多項標準。釐清 FIDO 與 FIDO2 差異有助掌握現況。
最初 FIDO 包含 FIDO UAF(行動裝置無密碼)與 FIDO U2F(在密碼之上加入硬體金鑰作第二因子)。兩者都提升安全,但有局限:UAF 需平台特定整合;U2F 仍以密碼為主因子。
FIDO2 為統一並延伸兩者的後繼標準。結合 WebAuthn 與 CTAP2,以單一網頁標準支援無密碼、第二因子與多因子登入,且原生內建於瀏覽器,無需外掛或平台專用程式碼。
FIDO2 與 FIDO U2F 對照
| 特性 | FIDO U2F | FIDO2 |
|---|---|---|
| 無密碼登入 | 否(僅第二因子) | 是 |
| 瀏覽器整合 | 需擴充或外掛 | 原生 WebAuthn API |
| 生物辨識 | 否 | 是(平台驗證器) |
| 通行密鑰 | 否 | 是 |
| 安全金鑰 | 是 | 是(經 CTAP) |
| 釣魚抗性 | 是 | 是 |
| 支援的驗證器 | 僅漫遊(USB/NFC 金鑰) | 平台 + 漫遊 |
若組織仍使用 FIDO U2F 金鑰,好消息是 CTAP1 提供回溯相容:既有 U2F 金鑰在 FIDO2 架構下仍可作為第二因子使用。
通行密鑰與 FIDO2 的關係
通行密鑰(passkeys) 是與 FIDO2 最常被一併討論的創新。通行密鑰本質上是使用者友善的 FIDO 憑證實作,密碼學原理與 FIDO2 相同,但大幅簡化體驗。
通行密鑰有兩類。同步型通行密鑰可透過 iCloud 鑰匙圈、Google 密碼管理員、Microsoft 帳戶等平台,安全備份並跨裝置同步——在 iPhone 建立的通行密鑰,同一 Apple 帳戶下的 Mac、iPad 也可使用。裝置綁定型則綁在特定硬體(如 YubiKey 或裝置 TPM),無法複製或同步。
使用者以通行密鑰進行 FIDO 登入時,底層仍是密碼學驗證;體驗上尤其同步型更無縫、跨裝置無須重新註冊。
因通行密鑰建構在 FIDO2 標準上,是推動無密碼普及的重要一步。
在應用中實作 FIDO 登入
要部署 FIDO 登入,驗證系統須支援 WebAuthn 與相容驗證器。
第一步是在驗證流程中啟用 WebAuthn。開發者需設計註冊流程,讓使用者安全註冊驗證裝置。
過程中應引導使用者完成 FIDO2 設定;清楚說明可提高註冊成功率。
應允許使用者註冊多個驗證器,以免主要裝置不可用時無法登入。
帳戶復原流程須審慎設計:使用者遺失裝置時,須有安全方式恢復存取,又不犧牲安全。妥善實作下,FIDO 登入可同時安全且便利。
FIDO2 驗證的安全效益
採用 FIDO2 帶來多項安全優勢。其一是釣魚抗性:憑證與特定網域密碼學綁定,假網站無法取得有效驗證回應。
其二是無需儲存密碼:伺服器僅存公開金鑰,資料庫外洩也沒有「可重用的密碼」可偷。
FIDO 登入也防憑證重用:每個服務取得獨一無二的金鑰對。
這些保護使 FIDO2 成為當今最安全的驗證方式之一。
商務與使用者體驗效益
除安全外,FIDO2 也帶來營運與可用性效益。
首先,無密碼可大幅減少重設密碼工單,降低支援成本。
其次,使用者可快速以生物辨識或裝置確認登入,無須輸入複雜密碼。
第三,更強驗證提升對數位平台的信任。
因此許多組織積極評估將 FIDO2 納入身分策略。
FIDO 驗證的未來
數位生態演進下,驗證必須因應新威脅與使用者期待。釣魚、撞庫、大規模外洩凸顯密碼弱點,組織因而尋求更強且更易用的替代方案。FIDO2 普及顯示無密碼登入將在數位身分扮演愈來愈重角色。
主流瀏覽器、作業系統與驗證框架已支援 FIDO 所需標準,整合安全登入比以往容易;開發者可透過標準 API 實作,降低過去進階驗證系統的複雜度。
使用者對裝置端驗證也愈熟悉——指紋、臉部、裝置 PIN 已普遍。FIDO2 將這些熟悉互動延伸到線上服務,無需記憶或管理密碼。
通行密鑰採用與 FIDO 相同原則,並透過可信生態同步憑證,強化無密碼基礎。隨技術成熟,傳統密碼依賴預期將顯著下降。對規劃下一代安全數位服務的組織而言,理解 FIDO2 與其運作方式,是建置更安全、可擴展身分系統的關鍵一步。
結論
FIDO2 以存在受信任裝置上的密碼學憑證取代密碼,消除釣魚、撞庫與伺服器端密碼外洩風險,並以生物辨識或安全金鑰加快登入。
開發團隊若評估無密碼驗證,Authgear 內建 通行密鑰 與 FIDO2 安全金鑰支援,並可搭配 TOTP、SMS OTP、社交登入與使用者驗證概覽等其他管道——無須從零整合 WebAuthn。
開始使用 Authgear,為應用加入無密碼登入。
常見問題
什麼是 FIDO2?
FIDO2 是由 FIDO 聯盟與 W3C 制定的開放驗證標準,讓使用者透過智慧型手機、筆電或 FIDO2 安全金鑰等受信任裝置,無需密碼即可登入網站與應用。FIDO2 由兩部分組成:WebAuthn(瀏覽器 API)與 CTAP(驗證器協定)。
什麼是 FIDO 驗證?
FIDO 驗證是基於 FIDO 聯盟標準的無密碼身分驗證方式。使用者不必輸入使用者名稱與密碼,改以指紋、臉部辨識或硬體安全金鑰等裝置端方式完成登入。此詞涵蓋較早期的 FIDO UAF/U2F 與較新的 FIDO2 標準。
FIDO2 如何運作?
註冊時使用者裝置產生一對公開/私密金鑰;公開金鑰存於伺服器,私密金鑰留在裝置。登入時伺服器發出密碼學挑戰,裝置以私密金鑰簽署,伺服器以公開金鑰驗證。因私密金鑰不離開裝置,沒有可被釣魚或竊取的「密碼字串」。
什麼是 FIDO2 安全金鑰?
FIDO2 安全金鑰是小型硬體裝置——常見為 USB、NFC 或藍牙接收器——用於儲存密碼學憑證並執行 FIDO2 驗證。常見例子包括 YubiKey 5 系列、Google Titan Key、Thetis Pro 等。安全金鑰屬漫遊驗證器,可跨多台電腦與手機使用。
FIDO 與 FIDO2 有何不同?
FIDO 指 2018 年前的原始標準組合(FIDO UAF 與 FIDO U2F)。FIDO2 為後繼標準,將 WebAuthn 與 CTAP2 合為單一、瀏覽器原生標準。主要升級是 FIDO2 支援完全無密碼登入,而原始 FIDO U2F 僅能作為密碼之外的第二因子。
FIDO2 與通行密鑰的關係?
通行密鑰是 FIDO2 憑證的使用者向名稱;底層同樣是 WebAuthn/CTAP2。差別在於同步型通行密鑰可經 iCloud 鑰匙圈、Google 密碼管理員等平台備份與跨裝置同步;裝置綁定型(如 YubiKey 上的憑證)則留在單一裝置。
FIDO2 驗證安全嗎?
是。FIDO2 具釣魚抗性,因憑證與網站網域密碼學綁定,假網站無法觸發有效回應。伺服器僅存公開金鑰,資料庫外洩不會暴露可直接登入的密碼。每個服務使用獨立金鑰對,避免跨站憑證重用。