はじめに
先日発表された,
パスワードを使わない世界を目指したFIDO Allianceと,
私はYubiKeyの販売・
本稿では,
- 公開鍵暗号方式を利用した認証のしくみ
- デバイス
(Authenticator) に紐づく秘密鍵
この2つはFIDOのコア技術と言えますが,
WebAuthnの概要
WebAuthnはFIDO2プロジェクトにおいて,
WebAuthnの概要は日本語ドキュメントとしては,
この図を見ればわかるとおり,
公開鍵暗号方式を利用した認証のしくみ
WebAuthnやFIDO認証では,
これによってシンプルで堅牢な,
公開鍵暗号については本稿では解説しません
- ※2
- 私は結城先生の秘密の国のアリスで勉強しました。
ただ,
実際にWebAuthnにおいて署名を行うデータは,authenticatorData
とclientDataHash
これらのデータの中には様々な情報が含まれています。そのうち重要なものはchallenge,
challengeはサーバーで生成されるランダムな値です。ユーザーはchallengeに対し,
rpIdはRPのIdつまり認証を行うサービスを識別するIDです
さらに,
SMS認証やスマートフォンのワンタイムパスワードを利用した2段階認証では,
これは逆に言うと,
Authenticator (認証器)
FIDOやWebAuthnでは,
WebAuthnにおいてClientであるブラウザーは,
- ※3
- ここでは簡単のため,
RPとFIDO認証サーバーは分かれておらず, RP=FIDOサーバーとしています。当然分離した構成も可能です。 - ※4
- 認証をAuthenticatorにRelyingするため,
Relying Partyと呼ばれます。
一方Authenticatorは,
AuthenticatorがCredentialの管理を行うことにより,