FIDO2は、共有秘密(パスワード)ではなく公開鍵暗号を用いる現代的な認証標準です。記事はRP(サーバー)・クライアント(ブラウザ)・認証器(セキュリティキーなど)の3者構成と、登録時の鍵ペア生成、ログイン時の署名検証という2つの「セレモニー」(一連の処理フロー)を軸に、Go言語での実装例を交えながら仕組みを解説しています。

フィッシング耐性は、生成される秘密鍵がRPの起源(オリジン)に紐づけられ、別の起源からの署名が無効化されることで実現されます。記事は「パスワードなし、共有秘密なし、データベース侵害で盗まれる価値のあるサーバー側秘密なし」という点を強調しています。

出典が伝えている要点

  • FIDO2は共有秘密ではなく公開鍵暗号を用いる認証標準である
  • FIDO2の認証プロセスにはRP(サーバー)、クライアント(ブラウザ)、認証器(セキュリティキーなど)の3者が関わる
  • FIDO2には登録時の秘密鍵生成と、ログイン時の署名検証という2つのセレモニー(処理フロー)がある
  • FIDO2で生成される秘密鍵はRPの起源(オリジン)にバインドされる
  • 秘密鍵が起源にバインドされることで、異なる起源(なりすましサイトなど)では署名が無効になり、フィッシング耐性が実現される
  • 記事はGo言語による実装例を用いてFIDO2の仕組みを解説している

原文より

パスワードなし、共有秘密なし、データベース侵害で盗まれる価値のあるサーバー側秘密なし

出典: zenn.dev

← 2026.09.16 の号を通しで読む