パスキー入門 ~ 仕組みから種類まで解説 ~

こんにちは。SCSKの福田です。

ここ数年で、Web サービスへのサインイン方法が大きく変わってきました。
Microsoft や Google、Amazon といった大手はもちろん、国内のキャッシュレス決済や EC サイトでも「パスキー」に対応するサービスが急速に増えています。楽天証券や野村證券など、特に証券業界では2026 年に入ってからパスキーの登録を必須とするサービスが増えてきています。

また、企業で利用するサービスでも同じです。
Microsoft の Entra ID( Microsoft 365 )において、2027 年 2 月 1 日に Microsoft が提供する SMS・音声通話による認証の提供を終了し、SMS・音声通話による認証を利用しているユーザーはパスキーの登録が必須となります。

背景にあるのは、認証情報を狙った攻撃の深刻化です。
フィッシング対策協議会に寄せられた 2025 年の国内フィッシング報告件数は約 245 万件と、前年の約 1.4 倍に達し過去最多を更新しました。ID とパスワードは、いまや日常的に狙われる情報になっています。
また、 中間者攻撃( AiTM 攻撃 ) により、ワンタイムパスワードや認証アプリの承認といった従来の多要素認証も突破されてしまいます。

「パスワードを正しく管理する」「多段階認証を設定する」という運用面の努力だけでは、もはや守り切れない状況になっています。

本記事では、パスキーとは何か、なぜ安全と言われるのかについて、仕組みの部分から分かりやすく解説します。
今回はパスキー概念の整理が中心で、次回以降では Entra ID でパスキーを有効化し、登録するまでの操作方法を解説する予定ですので、ぜひ参考にしていただければ幸いです。

 

パスキーとは?(ざっくり編)

言葉の成り立ちから考える

まずは難しい話を抜きにして、言葉そのものを見てみます。

  • パスワード:パス(通す)+ワード(合言葉)
  • パスキー:パス(通す)+キー(鍵)

パスワードが「合言葉を伝えて通してもらう」方式なのに対し、パスキーは「鍵を使って通してもらう」方式です。
つまり パスキーとは、鍵(暗号鍵)を使った認証方法 ということになります。ここでいう鍵は物理的な鍵ではなく、暗号技術で作られたデジタルの鍵です。

合言葉は、伝えた相手が本物とは限りませんし、聞かれてしまえばその人も同じ言葉を使えてしまいます。
一方で鍵は、渡すのではなく手元に持ったまま使います。この違いが、後述する安全性のポイントにつながっていきます。

具体的な仕組みは次章で解説します。

生体認証=パスキー、ではない

パスキーの話をすると、「顔認証や指紋認証のことですよね」と言われることがよくあります。
実際、iPhone でパスキーを使うと Face ID が起動しますし、PC では Windows Hello の顔認証が求められます。そのため両者が同じものに見えてしまうのは自然なことです。

しかし、生体認証はパスキーの本質ではありません。

生体認証は、端末の中にしまわれている鍵を取り出す(解錠する)ための手段の 1 つに過ぎません。
実際、Windows Hello では PIN でも解錠できますし、生体認証に対応していない端末でもパスキーは利用できます。

  • 鍵を使ってサービスに認証する仕組み → パスキーの本体
  • その鍵を取り出すための本人確認 → 生体認証や PIN

この 2 階建ての構造を押さえておくと、以降の話が理解しやすくなります。

 

パスキーの仕組み(詳細編)

パスキーは 公開鍵暗号 という技術を土台にしています。
公開鍵暗号では、秘密鍵公開鍵という 2 つで 1 組の鍵を使います。

Entra ID( Microsoft 365 )へのサインインを例に、実際にどのようなやり取りが行われているのかを見ていきます。

事前準備:パスキーの登録

サインインの前に、まずパスキーを登録する作業があります。

  1. ユーザーが Entra ID に対してパスキーの登録を開始します。
  2. 端末側で秘密鍵と公開鍵のペアが新規に生成 されます。
  3. 秘密鍵は端末側に、公開鍵は Entra ID 側に保存されます。

ポイントは、鍵ペアが サービスごとに新しく作られる ことです。
Entra ID 用のパスキーと、他のサービス用のパスキーは別物であり、使い回されることはありません。

そして重要なのは、Entra ID 側が持っているのは公開鍵だけという点です。
パスワード認証であればサーバー側にも検証用のデータ(ハッシュ)が保存されますが、パスキーではサーバーに秘密鍵を預けません。

サインイン時の流れ

登録が済んだ状態でサインインすると、次のようなやり取りが行われます。

  1. ユーザーが Entra ID にアクセスする
    サインイン画面でユーザー名を入力します。(環境によってはユーザー名の入力も不要です)
  2. Entra ID からチャレンジが送られる
    Entra ID がチャレンジ(使い捨てのランダムな値)を端末に送ります。
  3. 端末が秘密鍵を取り出す
    ここで顔認証や指紋認証、PIN 入力が求められます。本人確認が取れると、端末内に保管された秘密鍵が使える状態になります。
  4. 秘密鍵でチャレンジに署名する
    秘密鍵を使ってチャレンジに署名処理が行われます。
  5. 署名を Entra ID に送る
    署名結果を Entra ID に送ります。(ネットワーク上を流れるのはあくまで署名の結果だけで、秘密鍵そのものは端末の外に出ません)
  6. Entra ID が公開鍵で署名を検証する
    公開鍵で署名が正しいか、また署名の対象が自分の送ったチャレンジと一致するかを確認します。公開鍵で確認できるのは対になる秘密鍵で署名されたものだけなので、本人からのアクセスだと判断でき、サインインが成立します。

パスワード認証との決定的な違いは、ユーザーが「秘密の情報」をサーバーに送っていないことです。
送っているのは署名という計算結果だけであり、そこから秘密鍵を復元することはできません。

補足:チャレンジとは

サーバーがその都度作成するランダムな値のことです。

中身の意味は重要ではなく、大事なのは「毎回違う」「一度きり」という性質です。
この性質があることで、通信を盗み見て署名を手に入れたとしても、次のサインインでは別のチャレンジが飛んでくるため、その署名は使えません。

このように「サーバーがお題を出し、クライアントが鍵で応答する」やり取りを、チャレンジ・レスポンス方式と呼びます。

 

FIDO2 とは? パスキーとの関係は?

FIDO2 とは?

パスキーについて調べていると、必ずセットで登場するのが FIDO2 という言葉です。
FIDO2 は 規格(技術仕様)の名前 であり、パスキーそのものを指す言葉ではありません。

FIDO は「 Fast IDentity Online 」の略で、パスワードへの依存を減らし、より安全で利便性の高い認証技術の標準化を目指す非営利の業界団体である FIDO アライアンス が策定しています。
前章で見た「サーバーがチャレンジを出し、端末が秘密鍵で署名して返す」という一連のやり取りは、この FIDO2 が定めたルールに沿って行われています。

補足:FIDO2 を構成する 2 つの仕様

FIDO2 は単独の仕様ではなく、次の 2 つを組み合わせた総称です。

  • WebAuthn( Web Authentication )
    Web サービスとブラウザの間のやり取りを定めた仕様。W3C( World Wide Web Consortium )が策定。
  • CTAP( Client to Authenticator Protocol )
    ブラウザや OS が、鍵を保管している機器と会話するための仕様。FIDO アライアンスが策定。

PC 内蔵の Windows Hello でサインインする場合は、WebAuthn の範囲で完結します。
一方、物理セキュリティキーを使ったり、スマートフォンのパスキーで PC にサインインしたりする場合は CTAP が登場します。

パスキーとの関係

パスキーは、この FIDO2 に基づいて作られた鍵(認証資格情報)につけられた呼び名 です。
規格そのものの名前ではなく、規格に沿って実際に生成されたモノを指す言葉、という関係になります。

「パスキー」という呼び名は、Apple・Google・Microsoft が FIDO によるパスワードレス認証を普及させる過程で広く使われるようになりました。
特に 2022 年 5 月には、3 社が FIDO 標準のサポート拡大を共同発表し、その中で FIDO のサインイン認証情報を「パスキー」と呼ぶ表現が使われ、業界共通の呼び名として広まりました。

そして 2023 年には FIDO アライアンスも、FIDO の資格情報全般を指す言葉としてこの呼称を採用しました。

 

なぜ安全なのか?

パスワードの何が危ないのか?

パスキーの利点を理解するために、まずパスワードが抱える弱点を整理します。

  • サーバー側に検証用のデータが存在する
    サービス側は入力されたパスワードを検証する必要があるため、ハッシュ化されているとはいえ照合用のデータを保持しています。ここが漏洩すれば、解析されるリスクがあります。
  • ユーザーが自分で入力してしまえる
    パスワードは「知っている情報」なので、偽サイトの入力欄にうっかり入力すれば、そのまま攻撃者の手に渡ります。
  • 使い回しが起きる
    複数のサービスで同じパスワードを使っていると、1 か所の漏洩が芋づる式に被害を広げます。
  • 盗まれたら、そのまま再利用できる
    毎回同じ文字列を送っているため、一度盗まれれば何度でも使えてしまいます。

要するに、パスワードは 「盗める秘密を、本人が入力して送る」 という構造そのものに弱点があります。

パスキーが安全な理由

パスキーはこの構造を根本から変えています。

  • 秘密鍵が端末の外に出ない
    サーバーに送られるのは署名だけです。通信を盗聴されても秘密鍵は流れておらず、そもそも「ユーザーが入力して攻撃者に渡してしまえる秘密」が存在しません。
  • サーバー側に秘密が保存されない
    サービス側が持っているのは公開鍵だけです。仮にサービス側から情報が漏洩しても、公開鍵は単体では不正サインインに使えません。「漏れて困る情報を預けない」という設計になっています。
  • ドメインに紐づいている
    パスキーは登録時に、どのサービス(ドメイン)用の鍵なのかという情報が刻み込まれます。Entra ID であれば「login.microsoft.com」といったドメインです。この識別子を RP ID( Relying Party ID ) と呼びます。

サインインの際、ブラウザは 今アクセスしているドメインと一致する RP ID のパスキーしか使わせません。
そのため、見た目がそっくりな偽サイトにアクセスしてしまっても、ドメインが違えばパスキーは反応せず、署名を作ることすらできません。

ユーザーが URL を目視で確認して見破る、という人間の注意力に頼った対策ではなく、仕組みとしてフィッシングを成立させない点が重要です。

中間者攻撃にも耐えられる

近年増えているのが 中間者攻撃( AiTM 攻撃) です。

これは、攻撃者が本物そっくりの偽サイトを用意し、ユーザーが入力した情報をリアルタイムで本物のサイトへ中継する手口です。
ユーザーから見ると本物のサイトと同じ画面が表示され、実際にサインインも成功するため、被害に気づきにくいという厄介さがあります。

この攻撃が特に問題なのは、多要素認証( MFA )を設定していても突破されうる点です。

  • SMS で届いたワンタイムパスワードを偽サイトに入力してしまえば、攻撃者がそれをそのまま本物のサイトに転送できます。
  • 認証アプリのプッシュ通知も、ユーザーが承認してしまえば同じことが起きます。
  • 結果として、認証を通過した後のセッション情報(クッキー)を攻撃者に奪われます。

一方、パスキーは前述のとおりドメインに紐づいているため、偽サイトのドメインでは署名そのものが生成されません。
ユーザーが騙されていたとしても、攻撃者に渡せる材料が発生しないのです。

このように、フィッシングや中間者攻撃に対して仕組みとして耐性を持つ認証方式を フィッシング耐性のある認証 と呼びます。

パスキーは 1 つで多要素認証を満たす

「パスキーだけでサインインできてしまうのは、かえって危ないのでは?」という疑問を持たれることがあります。

しかし、パスキーによるサインインは以下の 2 要素を同時に満たしています。

  • 持っているもの(所持要素) … 秘密鍵が入った端末そのもの
  • 本人であること/知っていること(生体・知識要素) … 解錠に必要な生体認証や PIN

端末を盗まれただけでは解錠できず、PIN を知っているだけでも端末がなければ意味がありません。
そのため、パスキーは単体で多要素認証の要件を満たすとされています。パスワード+SMS といった従来の組み合わせより、利便性と安全性の両面で優れています。

 

パスキーの種類

ここまで「パスキー」とひとくくりに説明してきましたが、実は 秘密鍵をどこに保管するか によって 2 つのタイプに分かれます。
企業での導入を検討する際は、この違いを理解しておくことが重要です。

デバイスバウンドパスキー

デバイスバウンドパスキー( Device-bound passkey ) は、秘密鍵がその端末から一切出ないタイプです。
鍵がコピーされることはなく、登録した端末でのみ使えます。

秘密鍵が保管されるのは、端末に内蔵されたセキュアな専用領域です。
Windows なら TPM( Trusted Platform Module )、iPhone なら Secure Enclave、Android なら StrongBox などが使われます。物理セキュリティキーの場合は、キー本体に内蔵されたチップが保管先になります。

いずれも OS やアプリからも中身を直接読み出せない領域で、署名の計算までその内部で完結します。

補足:認証器について

Windows Hello や Microsoft Authenticator は、認証器 と呼ばれるものです。FIDO2 の仕様で使われる正式な用語で、パスキーの鍵を作り、保管し、実際のサインイン時に使う役割をまとめて担う仕組みを指します。

代表的な認証器には、Windows 標準の Windows Hello、Apple 標準の iCloud キーチェーン、Android 標準の Google パスワードマネージャー、スマートフォンにインストールして使う Microsoft Authenticator アプリ、YubiKey などの FIDO2 セキュリティキー があります。

混同しやすいのですが、保存場所と認証器は別のものです。Windows Hello は認証器であって、鍵そのものは TPM の中にあります。「鍵が保管されている領域」と「その鍵を扱う仕組み」を分けて捉えておくと整理しやすくなります。

デバイスバウンドパスキーのメリット、デメリットは以下の通りです。

メリット

  • 秘密鍵が複製されないため、保管場所が明確
  • 認証器の素性を証明する 構成証明( attestation ) に対応できる場合があり、「許可した認証機でしか登録させない」といった制御が可能

デメリット

  • 端末ごとに登録が必要で、端末を替えるたびに登録し直しになる
  • 端末を紛失すると、その端末のパスキーは復旧できず再登録が必要

同期パスキー

同期パスキー( Synced passkey ) は、秘密鍵をクラウド上のパスワード管理サービス(パスキープロバイダー)経由で、本人の複数端末に同期するタイプです。

保存先の考え方も、デバイスバウンドとは異なります。複数の端末で同じパスキーを使えるようにするため、秘密鍵はプロバイダーが管理する領域に暗号化された状態で保存され、クラウドを経由して端末間を移動します。

代表的なプロバイダーは以下のとおりです。

  • Apple の iCloud キーチェーン(主に iPhone / iPad / Mac )
  • Google の パスワードマネージャー(主に Android / Chrome )
  • Microsoft のパスワードマネージャー(主に Edge )

同期パスキーのメリット、デメリットは以下の通りです。

メリット

  • iPhone で登録したパスキーを Mac でもそのまま使えるなど、端末をまたいで利用できる
  • 端末を紛失・機種変更しても、同期元から復元できるため再登録の手間が少ない
  • ユーザーの利便性が高く、大規模展開しても問い合わせが増えにくい

デメリット

  • どの端末に鍵の複製が存在するのか、管理者側から把握・制御できない
  • 秘密鍵の保護の一部が、Apple ID や Google アカウントのセキュリティに依存する
  • 構成証明(認証器の素性証明)に対応できない

なお、秘密鍵はクラウドへ平文で置かれるわけではなく、暗号化された状態で保管されます。
とはいえ、「端末の外に出る」こと自体が管理上のリスクとして扱われる点は押さえておく必要があります。

 

さいごに

今回は、パスキーの基本的な考え方について解説しました。あらためて要点をまとめます。

  • パスキーとは、合言葉ではなく鍵(暗号鍵)を使った認証方法である
  • 生体認証や PIN は、その鍵を取り出すための手段であってパスキーの本体ではない
  • 秘密鍵は端末から出ず、サーバーには公開鍵しか渡らない
  • 鍵がドメインに紐づいているため、偽サイトでは署名すら作れない(フィッシング耐性)
  • 保管場所によって同期パスキーデバイスバウンドパスキーに分かれる

次回以降で、Entra ID でパスキーを実際に有効化し、登録するまでの手順を解説する予定です。

今後も Entra ID 関連の役立つ情報を発信していきますので、ぜひチェックしてください!

×
タイトルとURLをコピーしました