パスキーを知る
パスキーの基礎
パスキーの登録方法
パスキーの削除方法
開発者向け解説
Push! Passkeyを知る
Push! Passkeyとは
システム構成・責任分界
利用を開始する
管理ツールの使い方
実装する
実装ガイド
フロントエンド実装
PHPでの実装
Rubyでの実装
Node.jsでの実装
Pythonでの実装
Javaでの実装
C#での実装
結果を連携する
認証結果の受け取り
調べる
APIリファレンス
エラーコード
対応環境
セキュリティ上の注意
トラブルシューティング
よくある質問

パスキー基礎解説

パスワードを覚えず、安全にログインする仕組み

パスキーは、パスワードの代わりに、スマートフォンやパソコンなどの端末に保存された暗号鍵を使ってログインする仕組みです。

ログイン画面で顔認証、指紋認証、または端末のPINを求められるため、パスキーを「顔認証や指紋認証の別名」だと思われることがあります。しかし、顔や指紋そのものがWebサービスのログイン情報になるわけではありません。

このページでは、技術的な専門知識がなくても、なぜボタンを押すだけのログインが安全なのかを理解できるように解説します。

スマートフォンのパスキーログイン画面を中心に、従来のパスワード入力から端末による安全な本人確認へ移行する様子を示す、文字を最小限にしたシンプルなインフォグラフィック。白背景、青緑系、法人向け、横長構成。

1. なぜ今、パスキーなのか

パスワードを盗む手口が高度化している

これまでのWebサービスでは、IDとパスワードを入力し、さらにSMSやメールで届いたワンタイムパスワードを入力する方法が広く使われてきました。

しかし、正規サイトとよく似た偽サイトへ利用者を誘導し、ID、パスワード、ワンタイムパスワードを続けて入力させるリアルタイム型のフィッシングでは、二要素認証を設定していても被害を防げない場合があります。

フィッシングに強い認証への移行

金融庁や警察庁は、金融機関をかたるフィッシング被害への対策として、パスキーなどのフィッシング耐性のある認証方式の導入を推進しています。

金融機関や証券会社では、ログイン、出金、登録情報の変更などの重要な操作から、パスキーなどを優先的に利用する方向へ移行が進んでいます。今後は金融分野だけでなく、一般的なWebサービスでも利用が広がると考えられます。

パスワードという「本人しか知らない文字列」で確認する方式から、本人の端末に保存された「本人しか使えない鍵」で確認する方式への転換です。

左側に偽サイトへID、パスワード、ワンタイムパスワードを入力してしまう従来方式、右側に端末内の鍵で安全に認証するパスキー方式を対比したインフォグラフィック。文章は最小限、警告色は控えめ、青緑系の法人向けデザイン。

2. パスキーは顔認証や指紋認証の別名ではない

パスキーの正体は暗号鍵

パスキーの正体は、端末やパスキー管理サービスに保存される公開鍵と秘密鍵の組み合わせです。

顔認証、指紋認証、PINは、Webサイトへ送信するログイン情報ではありません。端末内に保存された秘密鍵を、今操作している人に使わせてよいかを端末が判断するための本人確認です。

顔や指紋はWebサービスに送られない

生体認証を利用した場合でも、Webサービス側が利用者の顔写真や指紋データを受け取って照合するわけではありません。顔や指紋の照合は端末側で行われ、Webサービスには秘密鍵を使って作られた認証結果が返されます。

PINも同様です。ここで入力するPINは、そのWebサービスのパスワードではなく、端末のロックを解除し、秘密鍵の使用を許可するための番号です。

端末の中に秘密鍵があり、その手前で顔認証、指紋認証、PINが鍵の使用許可を確認している構造を示すインフォグラフィック。Webサービス側には顔や指紋が送られないことを矢印で表現し、文字は最小限。

3. ID・パスワード+二要素認証との決定的な違い

従来方式は、人が秘密情報を入力する

パスワードやワンタイムパスワードは、人が文字を見てWebサイトへ入力します。そのため、偽サイトを本物だと信じて入力してしまうと、入力した情報が第三者に渡る可能性があります。

パスキーは、端末が本人であることを証明する

パスキー認証では、パスワードや秘密鍵そのものをWebサイトへ送信しません。Webサイトから届いた一度限りの確認データに対して、端末内の秘密鍵でデジタル署名を作成し、その署名だけを返します。

Webサービス側は、登録時に預かった公開鍵を使い、その署名が正しいかを検証します。

秘密鍵を持たない第三者が、パスワードを入力するだけで本人になりすますことはできません。

上段にID、パスワード、ワンタイムパスワードを人が入力してサーバへ送る従来方式、下段に端末内の秘密鍵で署名し公開鍵で検証するパスキー方式を対比したインフォグラフィック。鍵そのものは移動しない表現、文字は最小限。

4. なぜパスキーはフィッシングに強いのか

パスキーはWebサイトのドメインに結び付く

パスキーを登録すると、その認証情報は登録したWebサービスのドメインに結び付けられます。

攻撃者が正規サイトと同じロゴやデザインの偽サイトを作っても、偽サイトのドメインは正規サイトとは異なります。そのため、正規サイト用のパスキーは偽サイトでは利用できません。

人の判断だけに頼らない

パスワードは、人が見た目を信じて入力します。
パスキーは、端末がドメインを確認してから動作します。

利用者が偽サイトを本物だと思い込んでも、端末とブラウザが正規のドメインではないと判断すれば、そのサイトに対応するパスキーは呼び出されません。

これが、パスキーにフィッシング耐性があるとされる大きな理由です。

見た目がほぼ同じ正規サイトと偽サイトを並べ、正規ドメインではパスキーの鍵が開き、異なるドメインの偽サイトでは鍵が作動しない様子を示すインフォグラフィック。URLと鍵アイコンを中心に、文章は最小限。

5. 公開鍵と秘密鍵を使った本人確認

登録時に、2つの鍵を作る

パスキーの登録時には、互いに対応する公開鍵秘密鍵が作られます。

  1. 公開鍵はWebサービス側に登録される
  2. 秘密鍵は利用者側の端末やパスキー管理サービスで保護される
  3. 秘密鍵そのものはWebサービスへ渡さない

ログイン時は署名を確認する

ログインするとき、Webサービスは毎回異なる確認データを端末へ送ります。端末は秘密鍵を使ってそのデータに署名し、Webサービスへ返します。

Webサービスは公開鍵を使い、署名が正しいことを確認します。正しい署名を作れるのは、対応する秘密鍵を持つ端末だけです。

公開鍵は知られても、そこから秘密鍵を簡単に作ることはできません。そのため、Webサービス側のデータベースに公開鍵を保存しても、パスワードと同じ共有秘密を預かる構造にはなりません。

左に利用者端末と秘密鍵、右にWebサービスと公開鍵を配置し、登録時は公開鍵だけを渡し、ログイン時はチャレンジ、署名、検証の順に矢印で示すインフォグラフィック。秘密鍵は端末から出ないことを明確に表現。

6. パスキーは誰が作った仕組みなのか

複数の企業と標準化団体が共通仕様を策定

パスキーは、特定の1社だけが管理する独自のログイン方式ではありません。パスワードへの依存を減らすことを目的に、FIDO AllianceW3Cを中心として標準化された技術を基礎にしています。

FIDO2

Webサイトやアプリで公開鍵認証を利用するための枠組みです。一般的には、WebAuthnとCTAPを組み合わせた仕組みとして説明されます。

WebAuthn

Webサイトがブラウザを通じて、パスキーの登録や認証を行うためのWeb標準APIです。W3Cによって標準化されています。

CTAP

パソコンやスマートフォンなどのクライアントと、セキュリティキーや別のスマートフォンなどの認証器が通信するための仕様です。FIDO Allianceが策定しています。

Apple、Google、Microsoftをはじめ、多くのOS、ブラウザ、端末、Webサービスが共通仕様に対応しているため、パスキーは広い環境で利用できるようになっています。

中央にFIDO2を置き、Webサイトとブラウザを結ぶWebAuthn、端末とセキュリティキーを結ぶCTAP、周囲にスマートフォン、パソコン、ブラウザを配置した規格の関係図。ロゴに依存せず、文字は用語名だけに限定。

7. パスキーはどこに保存されるのか

端末に限定して保存するパスキー

パスキーには、特定の端末やセキュリティキーの中だけで利用する方式があります。この方式では、その端末を持っていることが認証の重要な条件になります。

複数の端末で利用できる同期パスキー

現在広く利用されているのが、Apple、Google、Microsoftなどのアカウントを通じて、複数の端末で利用できる同期パスキーです。

例えば、スマートフォンで作成したパスキーを、同じプラットフォームアカウントで利用している別の端末でも使用できる場合があります。端末を買い替えたときも、アカウントへ安全にサインインすることで、パスキーを引き継げる場合があります。

同期されるのは顔や指紋ではない

顔画像や指紋情報がクラウドへ同期され、Webサービスへ共有されるわけではありません。同期の対象は、保護されたパスキーの認証情報です。

代表的な保存・管理環境には、AppleのiCloudキーチェーンやPasswords、Google パスワード マネージャー、Microsoftアカウントに対応したパスキー管理機能などがあります。利用できる範囲や同期方法は、OS、ブラウザ、端末、アカウントの設定によって異なります。

一人の利用者がスマートフォン、ノートパソコン、タブレットを使い、保護されたクラウド経由でパスキーを同期している様子を示すインフォグラフィック。顔や指紋は端末内に留まり、鍵情報だけが安全に同期されることを図示。

8. パスキーは安全性と使いやすさを両立する

ユーザーは秘密鍵を覚えない

利用者が長い文字列を作成したり、記憶したり、定期的に変更したりする必要はありません。

Webサービス側は秘密鍵を預からない

Webサービス側に保存されるのは、本人確認に使用する公開鍵です。ログインに必要な秘密鍵は利用者側で保護されます。

ネットワーク上に秘密情報そのものが流れない

パスワードや秘密鍵そのものを送信せず、毎回異なる確認データに対して作られた署名で本人確認を行います。

パスキーは、安全性を高めるために操作を複雑にする仕組みではありません。

パスワードを覚える、入力する、使い回しを避ける、ワンタイムパスワードを転記するといった負担を減らしながら、フィッシングによる不正ログインを防ぎやすくします。

安全性と使いやすさを同時に改善できることが、パスキーがこれからの標準的なログイン方式として期待されている理由です。

利用者、Webサービス、通信ネットワークの3者を配置し、利用者は覚えない、サービスは秘密鍵を預からない、通信には秘密情報が流れないという3つの利点をアイコン中心で示すインフォグラフィック。文章は最小限、明るい法人向けデザイン。

参考情報

本ページは、以下の公的機関・標準化団体が公開する情報を参考に、一般利用者向けに内容を整理しています。