Googleアカウントにログインすると、「パスキーを作成しますか」という画面が表示されることがあります。

パスキー(Passkey)という言葉は聞いたことがあっても、スマートフォンで作る場合とWindowsで作る場合に何が違うのか、意識している人は少ないかもしれません。
暗号方式の基本は同じですが、秘密鍵の保存先と同期の有無がプラットフォームごとに異なります。
1. パスキーの基本的な仕組み

パスキーは公開鍵暗号(Public-Key Cryptography)を使って本人確認する仕組みです。
登録時にデバイス側で「秘密鍵」と「公開鍵」のペアが生成され、公開鍵だけがGoogleのサーバーに登録されます。
ログイン時、Googleはチャレンジ(Challenge:一度きりの確認用データ)を送ります。
デバイスが秘密鍵でそのデータに署名し、Googleが公開鍵で検証することでログインが成立します。
パスワード自体はネットワークを流れないため、フィッシングで情報が盗まれるリスクを根本的に回避できます1。
この仕組みはFIDO2(Fast IDentity Online:オンライン認証の標準規格)とWebAuthn(Web Authentication:ブラウザから公開鍵認証を使うための標準API)で定義されており、iPhoneでもAndroidでもWindowsでも同じ規格が使われています2。
違いは「秘密鍵をどこに保存し、何でロックを解除するか」です。
1.1. Windowsでのパスキー作成フロー

Windowsでパスキーを作るとき、主役はChromeではなくWindows Helloです。
Windows HelloはWindowsのPINや顔認証・指紋認証を管理するローカル認証機構で、FIDO2 / WebAuthn標準に対応しています3。
技術的な流れを順番に見ると、まずGoogleがChromeに対して「このアカウント用の鍵ペアを作ってください」とWebAuthnの navigator.credentials.create() を通じて要求します。
ChromeはそれをWindowsのWebAuthn Platform APIに渡します。
Windows 10 version 1903以降でこのAPIが使えるようになっています4。
Windows Helloが起動し、PINや生体認証でユーザーを確認します。
ここで入力するWindowsのPINはGoogleには届きません。
「このPCの正当な利用者か」をWindowsがローカルで確認するためだけに使われます。
確認が通ると、Windows側でGoogleアカウント用の鍵ペアが生成され、秘密鍵はPC内に保存され、公開鍵だけがGoogleに登録されます。
2. パスキーの保存先

2.1. Windowsでの保存先は2系統ある

Windowsでのパスキー保存先には、現在のところ大きく2種類があります。
ひとつは、Windows Helloにローカル保存する方式です。
秘密鍵はTPM(Trusted Platform Module:改ざん耐性のある専用セキュリティチップ)に保存され、そのPCの外に出ることはありません5。
PCを買い替えた場合は、新しいPCで改めてパスキーを作成する必要があります。
Googleのパスキー作成画面に「Windows PIN または生体認証データ」と書かれている場合、少なくともロック解除はWindows Helloが担います。
もうひとつは、Google Password Managerに同期保存する方式です。
最近のChromeでは、Windows上でもGoogle Password Managerにパスキーをエンドツーエンド暗号化した状態で保存できます。
別のChrome環境でも同じパスキーが使えるようになります。
初回設定時に「Google Password Manager PIN」の作成を求められる場合は、こちらの方式です6。
実際にどちらになるかは、作成を進めたときに表示される「保存先」の名称を確認するのが確実です。
2.2. iPhoneとAndroidはどうなっているか

iPhoneでは、パスキーはiCloud Keychain(iCloudキーチェーン:Appleの資格情報同期機能)に保存されます。
Face IDまたはTouch IDでロックを解除し、エンドツーエンド暗号化されたままAppleデバイス間で自動的に同期されます。
Apple自身もiCloud Keychainの中身を読めないとされています7。
Androidでは、パスキーはGoogle Password Managerに保存され、Googleアカウントを通じて同期されます。
こちらもエンドツーエンド暗号化されており、同じGoogleアカウントを使うAndroidデバイス間で利用できます8。
プラットフォームを並べると次のようになります。
| iPhone | Android | Windows(Windows Hello) | Windows(Google PM) | |
|---|---|---|---|---|
| ロック解除 | Face ID / Touch ID | 指紋・顔・PIN | Windows PIN / 生体認証 | Windows PIN / 生体認証 |
| 保存先 | iCloud Keychain | Google Password Manager | TPM(デバイスローカル) | Google Password Manager |
| デバイス間同期 | Appleデバイス間 | Googleアカウント間 | しない | Chromeデバイス間 |
iPhoneとAndroidはいずれも「クラウドに暗号化して同期」が標準動作です。
Windows Hello(ローカル型)はデバイスに縛られる分、ネットワーク上に鍵が存在しないというシンプルな安心感があります。
3. 「自分のデバイスでだけ作成してください」の意味

Googleのパスキー作成画面に「これがご自分のデバイスである場合のみ、パスキーを作成してください」と書かれているのは、特にWindows Hello(ローカル型)の特性を踏まえた注意書きです。
秘密鍵がそのPCに紐づくため、他人も使えるPCに作ってしまうと、そのPCにアクセスできる人がWindowsのPINなどを知った時点でGoogleにログインできてしまいます。
共有PC、職場の共用端末、ネットカフェ、家族と共用しているPCでは作成しないほうが安全です9。
パスキーを作成してもGoogleのパスワードが消えるわけではなく、ログイン方法が1つ追加されるだけです。
3.1. RP(リライングパーティー)という考え方

WebAuthnの仕様では、認証を受け取るサービス側をRP(Relying Party:認証を受ける側)と呼びます10。
RPが受け取るのは「公開鍵」「資格情報ID」「チャレンジへの署名」だけです。
WindowsのPINや生体認証データ、秘密鍵そのものはGoogleに渡りません。
この分離がパスキーのセキュリティ設計の核心で、サービス側がどれだけ情報漏えいしても、秘密鍵はデバイスの外に出ないため悪用できません。
パスキーは「どのデバイスで作るか」「どこに保存されるか」を把握してから使い始めると、PCを買い替えたときの混乱や、意図せず共有端末に鍵を残してしまう失敗を防げます。
Googleのパスキー作成画面で「次へ」を押す前に、保存先の名称を確認する習慣をつけておくと安心です。
- パスキーは特定のWebサイトやアプリのIDに紐づくため、ブラウザとOSが正規サイトでのみ使えることを保証する。フィッシングサイトに誘導されても、ドメインが異なるためパスキーは機能しない – Passkeys | Google for Developers
- WebAuthn Level 3はW3Cが策定した仕様で、ブラウザが公開鍵資格情報の作成・取得を行うAPIを定義する。パスキーはこの仕様に基づいて実装されており、プラットフォームを問わず共通のプロトコルで動作する – Web Authentication: An API for accessing Public Key Credentials – Level 3
- MicrosoftはWindows 10 version 1903のリリース時にFIDO Allianceから認定を受け、Windows HelloはFIDO2認定のプラットフォームオーセンティケーターとなった。このタイミングで、ブラウザからWindows Helloを経由したWebAuthn認証が公式に利用可能になった – Windows Hello FIDO2 certification gets you closer to passwordless | Microsoft Community Hub
- MicrosoftはW3C/FIDO2のWin32 WebAuthn Platform APIをWindows 10 version 1903で導入した。Windows 11 version 22H2以降ではECCアルゴリズムのサポートも追加されており、version 24H2ではプラグイン型のパスキーマネージャーにも対応している – WebAuthn APIs for passwordless authentication on Windows | Microsoft Learn
- Windows HelloでパスキーをTPMに保存した場合、秘密鍵はデバイスのハードウェア内に固定されクラウドへは同期されない。PCを買い替えた際には新しいデバイスで改めてパスキーを作成し直す必要がある – Where are passkeys stored on my machine? – Microsoft Q&A
- Google Password Manager PINはパスキーをエンドツーエンド暗号化するための追加レイヤーで、GoogleはこのPINの内容を知ることができない設計になっている。WindowsやmacOS、Linux上のChromeで初めてパスキーを作成する際に設定が求められる – Chrome to sync passkeys on Google Password Manager between desktop and Android | Chrome for Developers
- iCloud KeychainはAppleが保有する鍵では解読できないエンドツーエンド暗号化を採用しており、AppleアカウントやiCloudが外部から攻撃を受けた場合も、パスキーの中身は保護される設計になっている – About the security of passkeys – Apple Support
- Google Password Managerに保存されたパスキーは、AndroidデバイスのスクリーンロックやGoogle Password Manager PINから派生したキーで暗号化されてクラウドに同期される。暗号化の管理にはTitan HSMが使われており、Googleも暗号化された資格情報の中身を読めない – Passkey support on Android and Chrome | Google for Developers
- Microsoftのサポートページでも、パスキーの保存先として「このWindowsデバイス」を選んだ場合はWindows Helloによりデバイスにローカル保存されると明記されており、端末を使える全員がアクセスできるリスクがある – Create and save a passkey | Microsoft Support
- W3CのWebAuthn仕様では、パスキーはそれを作成したRPのoriginでのみ使える制限がある。ブラウザとOSがこの制限を強制するため、別ドメインのフィッシングサイトでは同じパスキーが機能しない。これがパスキーのフィッシング耐性の技術的な根拠になっている – Web Authentication API – MDN Web Docs