FIDO2は、共有秘密(パスワード)ではなく公開鍵暗号を用いる現代的な認証標準です。記事はRP(サーバー)・クライアント(ブラウザ)・認証器(セキュリティキーなど)の3者構成と、登録時の鍵ペア生成、ログイン時の署名検証という2つの「セレモニー」(一連の処理フロー)を軸に、Go言語での実装例を交えながら仕組みを解説しています。
フィッシング耐性は、生成される秘密鍵がRPの起源(オリジン)に紐づけられ、別の起源からの署名が無効化されることで実現されます。記事は「パスワードなし、共有秘密なし、データベース侵害で盗まれる価値のあるサーバー側秘密なし」という点を強調しています。
出典が伝えている要点
- FIDO2は共有秘密ではなく公開鍵暗号を用いる認証標準である
- FIDO2の認証プロセスにはRP(サーバー)、クライアント(ブラウザ)、認証器(セキュリティキーなど)の3者が関わる
- FIDO2には登録時の秘密鍵生成と、ログイン時の署名検証という2つのセレモニー(処理フロー)がある
- FIDO2で生成される秘密鍵はRPの起源(オリジン)にバインドされる
- 秘密鍵が起源にバインドされることで、異なる起源(なりすましサイトなど)では署名が無効になり、フィッシング耐性が実現される
- 記事はGo言語による実装例を用いてFIDO2の仕組みを解説している
原文より
パスワードなし、共有秘密なし、データベース侵害で盗まれる価値のあるサーバー側秘密なし
出典: zenn.dev