認証プロトコルの一つであるFIDOについてまとめる。学習記事。
FIDOとは
- FIDO認証:パスワードの依存度を減らし、利便性と安全性を満たすための認証プロトコル。
FIDO登場の背景
- 認証手段として、パスワードは利便性と安全性の両面で課題がある。
- 利便性:複数のパスワード管理、小型端末での入力が不便。
- 安全性:パスワード漏洩時の不正アクセスの危険性。
- 上記課題を解決するための認証プロトコルとして、FIDOが登場した。
FIDO認証概念
FIDO認証の流れ
署名情報の生成・登録
- 認証サーバーに認証器を登録する。
- 認証器は秘密鍵と公開鍵を生成する。
- 認証器は秘密鍵を保管する。
- 認証サーバーは利用者のIDに紐づけて公開鍵を保管する。
- 認証器は秘密鍵と公開鍵を生成する。
認証
- [認証器]認証サーバーからチャレンジ(有効なランダム文字列)を受け取る。
- [認証器]本人性の検証を行う。
- [認証器] (本人性が検証できた場合、)1.で受け取ったチャレンジを秘密鍵で署名する。
- [認証器]検証結果+署名付きチャレンジを認証サーバーに送信する。
- [認証サーバー]受け取った署名付きチャレンジを対応する公開鍵で検証する。
- [認証サーバー] (署名検証に成功した場合、)認証成功。