パスキー(英語: “a passkey” または  “passkeys”)は認証技術の一つであり、公開鍵暗号に加え生体認証やデバイスPINなどを組み合わせ、アカウントの身元を確認する技術である。従来のパスワードによる認証の欠点を克服すべくFIDOアライアンスとW3Cによって策定された。

仕組みとしては、公開鍵暗号方式で認証を行うための秘密鍵とメタデータの組み合わせで、FIDO認証資格情報(英語:FIDO Credentials)とも称される。パスキーを用いた認証をパスキー認証と称する。

前述の通りパスキー認証はパスワード認証を代替する認証手段で、パスキーはウェブサイトやアプリへ簡単かつ安全なログインを可能とする。従前のパスワード認証はパスワードをウェブサイトやアプリのサーバーで一致を検証する。一方パスキー認証はパスキーを送信せず、「チャレンジ」と称するデータに対してユーザーが手元のパスキーで署名し、ウェブサイトやアプリのサーバーは署名されたチャレンジを検証してパスキーの真偽を確認する。

## 概説

パスキー認証では公開鍵暗号方式を用いた署名がユーザー側で行われ、検証がウェブサイトやアプリのサーバー側で行われることで認証が完了する。署名時は指紋認証、顔認証、またはデバイスの画面ロック解除でユーザーの当人認証を行う。

「パスキー」の名称は、Appleが2021年6月にFIDO2のFIDO認証資格情報のiCloudキーチェーンで端末間の同期機能として発表し、初めて用いられた。2023年頃は、同期されるものだけでなく同期されないものも含めたFIDO認証資格情報の総称を「パスキー」と称する事例がある。

パスキーは、複数の端末でも同じパスキーでパスキー認証が可能な同期パスキー (Synced Passkeys) と、端末とパスキーが紐づいていて単一の端末で使用するデバイス固定パスキー (Device-Bound Passkeys) がある。現在はアカウントリカバリーの利便性などから同期パスキーが注目を集めている。

パスキー認証は、利用時にウェブサイトのURLのドメインごとにパスキーが生成される。正規のウェブサイト用に生成されたパスキーはドメインが異なるフィッシングサイトで認証されず、パスキーはウェブサイトへ送信されず、フィッシング攻撃などの脅威からアカウントを保護する非常に強力な認証手段である。

このような利点のため、政府も令和6年度の犯罪対策閣僚会議において「国民を詐欺から守るための総合対策」を取りまとめ、パスキーの利用を促進させると記したほか、米国のビッグテックをはじめ、国内でもNTTドコモ、KDDI、三菱UFJ信託銀行など30社近くがパスキーを導入した。

## 特徴

### 対パスワードと比較

#### 認証時文字入力不要

- ユーザー識別を行うID入力は、Discoverable Credentialに対応する場合は入力が不要となる。
- ユーザー入力がなく、事前にパスキーを登録すると、従来のパスワード認証やメールやショートメッセージサービス (SMS) を使用したコード認証よりも簡単に認証することが可能となる

#### フィッシング耐性

- 端末からサーバーへ送られる情報は「チャレンジ」データを署名したもので、パスワードやコード認証と異なり入力文字列の再使用がない。
- ウェブサイトのドメインごとにパスキーが生成されるため、ドメインが異なるフィッシングサイトでは使えないことや署名に使用するパスキーがウェブサイトへ送られないためフィッシング詐欺を困難にしている。

### 同期パスキー (Synced Passkeys)

同期パスキーは、Apple、Googleなどのサービスが提供するApple AccountやGoogle アカウントなどのユーザーアカウントに紐付けて、同一アカウント配下の複数端末でユーザーが同じパスキーを使えるようにしたものである。パスワードマネージャーのパスワード管理に類似する方法である。

同期パスキーは、Apple, Googleらプラットフォーマーが提供するだけではなく、1Password, DASHLANE, LastPass, Bitwardenなど従来パスワードマネージャーを提供した会社も同期パスキーを提供し始めている。ユーザー視点では、選択肢や自由度が増え、パスキーがパスワード同様に利用可能となる。

同期パスキーは、従来のFIDO認証の高いセキュリティの裏返しで、アカウントリカバリーや異なる端末でパスキーの共有が難しい課題を解決している。FIDO認証資格情報を格納している1つのデバイスを紛失しても同期パスキーとして登録されている場合は、他の端末でパスキーの回復が可能となる。新端末の購入時なども同様である。

- 高セキュリティ - パスワードよりも高いセキュリティを提供。特にフィッシング耐性が高い。
  - パスワードのようにフィッシングで攻撃者が同期パスキーを盗むことは原理的に不可能。
- パスワード同等の利便性 - パスワードマネージャで使えて、パスワードと同等の利便性を提供する。
  - 複数端末で同じ同期パスキーが利用可能。
  - 端末紛失しても他の端末で利用可能。
  - 一部OSで同期パスキーの共有が可能 (AppleのAirDrop)
- 全OS・プラットフォームのサポート - 全てのOS・プラットフォームベンダーがサポートし、パスキーを従来のパスワードと同様にパスワードマネージャで提供した。

### デバイス固定パスキー (Device-Bound Passkeys)

同期パスキーとは違いFIDO認証資格情報が端末に紐づいており、クラウドでの同期などができない。

FIDO認証資格情報がデバイスの外に出ないため所持認証の意味合いが同期パスキーよりも強く、プラットフォームベンダーのセキュリティ強度に依存しない。

同期パスキーと違い、端末との紐づけが強いのでアカウントリカバリーを行うことが難しく、実際にアカウントリカバリーを行うときはパスキーの再登録が必要になる。

扱い的には秘密鍵をデバイスのセキュア領域で格納し、外部に出さなかった従来のFIDO認証と同じような扱いになる。

高いAuthenticator Assurance Level (AAL) を要求する決済サービスや金融サービスで需要がある。

## 技術概要

### WebAuthn

パスキー認証はWebAuthnを使用したFIDO2準拠の技術が用いられている。

WebAuthnは公開鍵暗号方式を用いて認証が行われる。パスキー認証は「登録」と「認証」のフローがある。

#### 登録 (Registration)

1. サーバーがそのフローでのみ利用されるランダムな文字列を送信する。
2. クライアントがデバイス内で公開鍵ペアを作成する。
3. パスキー(秘密鍵を含むFIDO認証資格情報)を端末内のセキュア領域に保存する。
4. 公開鍵、チャレンジ、それらの署名データをサーバーに送信する。
5. サーバーは受信した公開鍵を用いてチャレンジや署名データを検証する。
6. 検証が成功した場合、公開鍵をユーザーアカウントに紐づけて保存する。

#### 認証 (Authentication)

1. サーバーがそのフローでのみ利用されるランダムな文字列(チャレンジ)を送信する。
2. クライアントはユーザーアカウントに紐づいているパスキーを選択する。
3. 送信されたチャレンジに対してパスキーの中に含まれている秘密鍵で署名してサーバーに送信する。
4. サーバーは保存している公開鍵で受信した署名データを検証
5. 検証に成功した場合、認証成功とする。

以上はWebAuthnを使用したブラウザ上での動作になるが、AndroidやiOSなどのネイティブアプリからでもFIDO2をサポートしたAPIを使用して同様のフローが実現されている。

### Discoverable Credential

Discoverable Credentialはパスキーをユーザー識別子と一緒にクライアント側に保存する。ユーザーがパスキーを用いてウェブサイトやアプリへログインする際、クライアントがアクセスできる範囲内で、当該サイトに登録済みのすべてのパスキーを検索し、パスキーが存在するすべてのユーザー識別子をアカウントチューザーを用いて候補として提示する。ユーザーは候補から希望するユーザー識別子を選択することで、そのユーザー識別子でサイトにログインすることできる。ユーザーはユーザー名を入れたり、サーバー側からクライアントにユーザー名を教える必要がなくなる。

Discoverable Credentialとアカウントチューザーによって、ログイン時のユーザー体験が向上する。同期パスキーの場合は、この機能がクラウド経由で当該ユーザーの他の端末にも共有され、同じインタフェースを提供することが可能となっている。

### Conditional UI

Discoverable Credentialに対応することで、FIDO認証資格情報とIDの組み合わせをログイン時に自動で提示する(オートフィル)ことが可能になる。WebAuthnの認証フローと相まってログイン時に文字列入力をする必要がなくなり、ユーザーがログインを行うハードルを下げることが可能になる。

Conditional UIを使用することによってオートフィルに表示されたアカウントを選択するだけでログインが可能となり、パスワードを使っている時のオートフィルとユーザー体験が変わらないため、パスワードからパスキーへの移行をスムーズに行うことが可能になる。

## 対応状況

パスキーは、2022年に「認証資格情報の管理システム」が各OSに実装され、日本国内は2023年から順次、各種アカウントがパスキーに対応する。

### 2022年

- 5月5日(木) - Apple、Google、Microsoftの3社が、パスキー対応を表明する。毎年5月第1木曜日は、「世界パスワードの日 (World Password Day)」である。
- 6月6日 - Appleのティム・クックCEOが、WWDC22の基調講演内で、次期iOSにパスキーの機能を搭載することを表明。
- 9月13日 - AppleがiOS 16でパスキー対応を開始し、iCloudキーチェーンで各種アカウントの認証資格情報の管理が可能となる。2022年10月24日にiPadOS 16とmacOS Venturaもパスキー対応開始。Apple ID(現Apple Account)はパスキーに非対応。
- 12月15日 - Google Chromeのパスワードマネージャーにて、各種アカウントの認証資格情報の管理が可能となる。

### 2023年

- 3月14日 - Yahoo! JAPANが、Yahoo! JAPAN IDへのパスキー対応を開始。
- 4月3日 - マネーフォワードが、マネーフォワードIDへのパスキー対応を開始。
- 4月5日 - NTTドコモが、dアカウントへのパスキー対応を開始。
- 4月14日 - メルカリが、一部のログインにパスキーへの対応を開始。2024年1月29日、全てのログインにパスキーを展開。
- 5月3日 - Googleが、Google アカウントへのパスキー対応を開始。
- 5月16日 - アドビが、パスキーへの対応を開始
- 6月22日 - Microsoft Windows 11がInsider Preview Build 23486にて、各種アカウントの認証資格情報の管理としてパスキーへの対応を開始。同年9月配信開始の「Windows 11 22H2 Moment 4」で、パスキーを正式にサポート開始
- 6月14日 - PayPalが、日本においてパスキーへの対応を開始(米国では2022年10月に開始済み)
- 6月28日 - オプテージが、mineoとeo光で使用するeoIDへのパスキー対応を開始。
- 7月12日 - GitHubが、パスキーへの対応を開始
- 7月18日 - TikTokが、パスキーへの対応を開始
- 8月 - MIXIが、MIXI Mへのパスキー対応を開始
- 9月20日 - 1Passwordが、パスキーへの対応を開始
- 9月21日 - 任天堂が、ニンテンドーアカウントへのパスキー対応を開始
- 10月10日 - Googleが、パスキーを個人向けGoogle アカウントの標準とした
- 10月23日 - Amazonが、パスキーへの対応を開始
- 10月25日 - ヌーラボが、パスキーへの対応を開始
- 10月26日 - Uberが、パスキーへの対応を開始

### 2024年

- 1月23日 - Xが、パスキーへの対応を開始
- 2月26日 - ソニー・インタラクティブエンタテインメントが、PlayStation Networkへのパスキー対応を開始
- 3月25日 - はてなが、パスキーへの対応を開始
- 6月17日 - pixivが、パスキーへの対応を開始

企業などが構築するVPN環境へ、パスキーを用いてログインするソリューションも存在する。