🔐
FIDO, WebAuthnの仕様の関係まとめ
概要
- FIDOやWebAuthnに関連する仕様の概要及び関係性を自分用に整理したメモ
FIDO (Fast IDentity Online) Alliance
- FIDOの仕様を作っている団体
- パスワード認証の課題を解決を目的に2012年に発足した非営利団体
- PayPalサービス向けの生体認証によるオンラインユーザ認証の構想がきっかけとなりPayPal, 指紋センサーのベンダーなどが集まって設立された
- amazon, apple, google, meta, microsoftなども加入
FIDO Allianceが策定している仕様とWebAuthnの関係
- FIDO Allianceは以下の仕様を発行している
- 上記の仕様の概要はFIDO Alliance Specifications Overviewがわかりやすい
- W3Cが策定しているWebAuthnとCTAPをあわせてFIDO2と呼ばれる
FIDOで策定している仕様
FIDO UAF(Universal Authentication Framework)
- オンラインサービスがパスワードレスでかつ多要素認証のセキュリティを提供するための仕様
- 上記を提供するためにサーバー(FIDO Sever)、クライアント(FIDO client)及び認証器(FIDO Authenticator)がどう振舞うべきか、それぞれのコンポーネントがどのように何をやりとりすべきかが書かれているの
- サーバー側も含めた登録、認証処理の流れが書かれているので全体像を掴むのにも役立つ
FIDO UAF Architectural Overview
CTAP (Client to Authentiator Protocol)
- スマートフォンやセキュリティキーなどの認証器とクライアント間のプロトコル
- AuthenticatorのAPI、メッセージエンコーディング及びトランスポート固有(USB, Bluetooth, NFC)の仕様を定義
- CTAPにはCTAP1とCTAP2が存在する
- CTAP1はFIDO U2Fとも呼ばれ、FIDO U2Fデバイスを二要素認証として利用するための仕様
- 仕様のドキュメント自体はCTAPの仕様とFIDO U2Fの仕様で分かれており、CTAPの仕様によりU2Fの仕様が一部置き換えられてそうにみえる
- CTAP2は外部の認証器をパスワードレス、二要素認証及びマルチファクター認証に利用するための仕様(CTAP1は二要素認証のデバイスとしてだけ使える、CTAP2はそれ以外もサポートしているという部分が差異と思われる)
WebAuthn
- ウェブアプリケーションがFIDOの仕組みを利用できるようにするためにブラウザAPIを定義している
- WebAuthnはブラウザが提供しているCredentials Management APIを拡張した形で提供される
- W3Cが策定している
Web Authentication:
An API for accessing Public Key Credentials
Level 2
Discussion