Skip to content

パスキーの認証の仕組み

パスキーは、FIDO2規格公開鍵暗号方式を基盤とした認証手段。従来のパスワードのように「共有の秘密」をサーバーに送信せず、デバイス内の秘密鍵を使ったデジタル署名で本人確認を行う。

1. 鍵ペアの仕組み

パスキーを登録すると、デバイス内で数学的に関連付けられた2つの鍵が生成される。

鍵の種類 保管場所 用途
秘密鍵(Private Key) デバイス内の安全な領域(TPM/セキュアエレメント) 署名生成のみ。外部に送信されない
公開鍵(Public Key) サービスのサーバー 署名の検証に使用

2. 認証のステップ(チャレンジ・レスポンス方式)

1. ユーザーがサイトでログインを開始
2. サーバーが「チャレンジ(一度限りのランダムデータ)」をデバイスに送信
3. デバイスがユーザーに生体認証またはPINを要求(ローカル認証)
4. 認証成功後、デバイス内の秘密鍵でチャレンジにデジタル署名を施す
5. 署名をサーバーに送信
6. サーバーが公開鍵で署名を検証 → ログイン許可

3. パスキーの主な特徴

フィッシング耐性

パスキーは作成時に特定のドメイン(サイトのURL)と数学的に紐付けられる。ブラウザ・OSがドメインを照合するため、偽サイトでは認証が成立しない。→ 詳細はパスキーのフィッシング耐性とドメインバインディング

サーバー漏洩への耐性

サーバー側に保存されるのは公開鍵のみ。万が一サーバーがハッキングされても、秘密鍵がなければログインに悪用できない。

デバイス間の同期

AppleのiCloudキーチェーン、Googleパスワードマネージャーなどを通じて、同一エコシステム内の複数デバイス間でパスキーを同期・共有できる。→ 詳細は同期型・デバイス固定型パスキーの比較

4. 多要素認証の統合

パスキーは以下の2要素を1操作で完結させる:

  • 所有要素(Something you have):パスキーが保存されたデバイス
  • 生体・知識要素(Something you are/know):生体認証またはPIN

関連

引用元: NotebookLM