パスキー・WebAuthn・FIDO2とは(全体像)
これまでのログインの主役はパスワードだった。でもパスワードは「知っていること」なので、盗まれたり、にせサイトに入力してしまう事故が起きやすい。
そこで登場したのがパスキー。パスワードを使わず、公開鍵暗号と生体認証でログインするしくみだ。端末の中に秘密鍵を持ち、サーバには公開鍵だけを預ける。ログインのときは、顔や指紋で端末のロックを解いて、秘密鍵で署名する。
押さえるのは、しくみ(公開鍵)、フィッシングに強い理由、そして土台になる標準(WebAuthnとFIDO2)だ。
詳しく:しくみと標準を押さえる
ここが心臓部。パスキーは、公開鍵暗号を使って次のように動く。
パスキーのしくみ
| 手順 | 中身 |
|---|---|
| ① 鍵ペア作成 | 端末の中で公開鍵と秘密鍵のペアを作る |
| ② 公開鍵を登録 | 公開鍵だけをサーバに預ける(秘密鍵は端末に残る) |
| ③ ログイン時 | 顔・指紋で端末のロックを解き、端末内の秘密鍵で署名 |
| ④ 検証 | サーバが公開鍵で署名を検証する |
土台になる標準は、まぎらわしいので区別して押さえる。
パスキーを支える標準
| 名前 | 役割 |
|---|---|
| WebAuthn | ブラウザやWebで使うAPI(W3Cの標準) |
| FIDO2 | パスキー全体のしくみの仕様(FIDO Allianceが策定) |
| CTAP | 端末と認証器(鍵デバイス)どうしの通信の決まり |
言葉を噛み砕いておく。
- なぜフィッシングに強いのか … 秘密鍵は端末から外に出ないし、署名は正しいサイト(ドメイン)に紐づく。だから、にせサイトに大事な情報を送ってしまう事故が起きない。
- パスキー ≠ パスワード … 名前は似ているが、パスキーはパスワードを使わない公開鍵方式。覚えて入力する文字列ではない。
- WebAuthnとFIDO2の違い … WebAuthnはWebのAPI、FIDO2は全体の仕様。重なる部分はあるが、同じものではない。
わかりやすく言い換えると
つまり、パスキーは「端末の中のハンコ+顔・指紋」でログインするしくみにたとえるとスッと入る。
パスワードは「合言葉」なので、盗み聞きされたり、にせの受付に言ってしまう危険があった。パスキーでは、自分の端末だけが秘密のハンコ(秘密鍵)を持ち、サーバには照合用の公開鍵だけを預ける。ログインは、顔や指紋で端末のロックを解いてハンコを押す(署名する)だけ。
ハンコ(秘密鍵)は端末から持ち出されないし、押す相手のサイトも自動で確かめられる。だから、にせサイトにだまされるフィッシングに強い、というわけだ。
試験のツボ
🔴 一番出る:パスキーのしくみ
①パスワード不要・公開鍵暗号を使う
②端末内の秘密鍵で署名し、サーバは公開鍵で検証(秘密鍵は端末から出ない)
🔴 次に出る:フィッシング耐性と標準
①秘密鍵が出ず、正しいサイトに紐づくのでフィッシングに強い
②土台はWebAuthn(WebのAPI)とFIDO2(全体の仕様)
🟡 押さえると安定:2022年にApple・Google・Microsoftが推進開始。パスキー≠パスワード
よくある間違い
①「パスキーはパスワードの別名」→ ✗ パスキーはパスワードを使わない公開鍵方式。覚えて入力する文字列ではない。
②「WebAuthnとFIDO2はまったく同じもの」→ ✗ WebAuthnはWebのAPI、FIDO2は全体の仕様。重なるが同じではない。
③「パスキーの秘密鍵はサーバに預ける」→ ✗ サーバに預けるのは公開鍵。秘密鍵は端末から外に出ない。
試験での出題パターン
実際の問題でたしかめてみよう。
オリジナル問題1(パスキーのしくみ)
パスキーに関する次の記述のうち、正しいものはどれか。
- パスキーはパスワードを使わない公開鍵方式で、端末内の秘密鍵で署名しサーバが公開鍵で確かに検証する
- パスキーは覚えて入力する長い文字列のことで、これまでのパスワードをそのまま言い換えただけのものだ
- パスキーは秘密鍵をサーバに預けて保管する方式で、端末には鍵をいっさい持たないしくみとされている
- パスキーは通信を暗号化するためだけの方式で、本人かどうかを確かめることとは無関係とされているのだ
解答は 1 である。
パスキーは、パスワードを使わない公開鍵方式。端末の中の秘密鍵で署名し、サーバは公開鍵で検証する。秘密鍵は端末から外に出ない。
選択肢2は「パスワードの言い換え」が誤り。選択肢3は「秘密鍵をサーバに預ける」が誤りで、預けるのは公開鍵。選択肢4は「本人確認と無関係」が誤りだ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✓ | パスワード不要・秘密鍵で署名で正しい |
| 2 | ✗ | パスワードの言い換えではない |
| 3 | ✗ | サーバに預けるのは公開鍵 |
| 4 | ✗ | 本人確認のしくみである |
オリジナル問題2(フィッシング耐性)
パスキーがフィッシングに強い理由として、正しいものはどれか。
- パスキーは入力した文字をそのままにせサイトへ送るため、攻撃者にとって都合がよいしくみとされている
- 秘密鍵が端末から外に出ず、署名が正しいサイト(ドメイン)に紐づくため、にせサイトにだまされにくい
- パスキーは通信速度を二倍にするだけのしくみで、フィッシングへの強さとはまったく関係がないとされる
- パスキーは毎回同じ固定の文字列を送る方式なので、盗み見されてもまったく問題にならないとされている
解答は 2 だ。
パスキーがフィッシングに強いのは、秘密鍵が端末から外に出ず、署名が正しいサイト(ドメイン)に紐づくから。にせサイトには署名しないので、だまされにくい。
選択肢1は「にせサイトへ送る」が誤り。選択肢3は「速度を二倍にするだけ」が誤り。選択肢4は「固定の文字列を送る」が誤りだ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | にせサイトには署名しない |
| 2 | ✓ | 秘密鍵が出ず正しいサイトに紐づくで正しい |
| 3 | ✗ | 速度の話ではない |
| 4 | ✗ | 固定の文字列を送る方式ではない |
オリジナル問題3(WebAuthnとFIDO2)
パスキーを支える標準に関する次の記述のうち、正しいものはどれか。
- WebAuthnとFIDO2はまったく同じものの別名で、役割にも仕様にもまるで違いはいっさいないとされているのが実情だ
- WebAuthnもFIDO2も認証とは無関係の画像形式の規格で、ログインのしくみには使われないとされているのだ
- FIDO2はパスワードを長くするためだけの規格で、公開鍵や生体認証とはまったく関係がないとされているのだ
- WebAuthnはWebで使うAPI、FIDO2はパスキー全体の仕様という違いがあり、2022年から推進が本格化した
解答は 4 だ。
WebAuthnはWebで使うAPI、FIDO2はパスキー全体の仕様、という役割のちがいがある。パスキーは2022年にApple・Google・Microsoftが推進を本格化した。
選択肢1は「まったく同じ」が誤り。選択肢2は「画像形式の規格」が誤り。選択肢3はFIDO2を「パスワードを長くするだけ」とする誤りだ。
| 選択肢 | 判定 | 理由 |
|---|---|---|
| 1 | ✗ | 役割が違い同じではない |
| 2 | ✗ | 画像形式ではなく認証の標準 |
| 3 | ✗ | パスワードを長くする規格ではない |
| 4 | ✓ | WebAuthn=API・FIDO2=全体仕様で正しい |
まとめ
押さえどころ
- 🔴 パスキー = パスワード不要の認証。公開鍵暗号を使い、端末内の秘密鍵で署名・公開鍵で検証(秘密鍵は端末から出ない)。
- 🔴 フィッシングに強い。秘密鍵が出ず、署名が正しいサイトに紐づくから。パスキー≠パスワード。
- 🟡 土台はWebAuthn(WebのAPI)とFIDO2(全体の仕様)。2022年にApple・Google・Microsoftが推進開始。
次に学ぶ
- 認証要素・MFA(多要素認証) ── パスキーが組み合わせる、所持と生体などの認証要素のしくみ。
- RSA・ECC(公開鍵暗号) ── パスキーの土台になる、鍵が2つの暗号。
- 入力装置詳細(タッチ・生体認証) ── パスキーのロック解除に使う、顔や指紋を読み取るしくみ。
執筆: SikakuQuest編集部