パスキー・WebAuthn・FIDO2とは?しくみと標準

公開: 更新: カテゴリ: セキュリティ系

30秒で結論

パスキー・WebAuthn・FIDO2とは(全体像)

これまでのログインの主役はパスワードだった。でもパスワードは「知っていること」なので、盗まれたり、にせサイトに入力してしまう事故が起きやすい。

そこで登場したのがパスキーパスワードを使わず、公開鍵暗号と生体認証でログインするしくみだ。端末の中に秘密鍵を持ち、サーバには公開鍵だけを預ける。ログインのときは、顔や指紋で端末のロックを解いて、秘密鍵で署名する。

押さえるのは、しくみ(公開鍵)フィッシングに強い理由、そして土台になる標準(WebAuthnとFIDO2)だ。


詳しく:しくみと標準を押さえる

ここが心臓部。パスキーは、公開鍵暗号を使って次のように動く。

パスキーのしくみ

手順中身
① 鍵ペア作成端末の中で公開鍵と秘密鍵のペアを作る
② 公開鍵を登録公開鍵だけをサーバに預ける(秘密鍵は端末に残る)
③ ログイン時顔・指紋で端末のロックを解き、端末内の秘密鍵で署名
④ 検証サーバが公開鍵で署名を検証する

土台になる標準は、まぎらわしいので区別して押さえる。

パスキーを支える標準

名前役割
WebAuthnブラウザやWebで使うAPI(W3Cの標準)
FIDO2パスキー全体のしくみの仕様(FIDO Allianceが策定)
CTAP端末と認証器(鍵デバイス)どうしの通信の決まり

言葉を噛み砕いておく。

わかりやすく言い換えると

つまり、パスキーは「端末の中のハンコ+顔・指紋」でログインするしくみにたとえるとスッと入る。

パスワードは「合言葉」なので、盗み聞きされたり、にせの受付に言ってしまう危険があった。パスキーでは、自分の端末だけが秘密のハンコ(秘密鍵)を持ち、サーバには照合用の公開鍵だけを預ける。ログインは、顔や指紋で端末のロックを解いてハンコを押す(署名する)だけ。

ハンコ(秘密鍵)は端末から持ち出されないし、押す相手のサイトも自動で確かめられる。だから、にせサイトにだまされるフィッシングに強い、というわけだ。


試験のツボ

🔴 一番出る:パスキーのしくみ

①パスワード不要・公開鍵暗号を使う

②端末内の秘密鍵で署名し、サーバは公開鍵で検証(秘密鍵は端末から出ない)

🔴 次に出る:フィッシング耐性と標準

①秘密鍵が出ず、正しいサイトに紐づくのでフィッシングに強い

②土台はWebAuthn(WebのAPI)とFIDO2(全体の仕様)

🟡 押さえると安定:2022年にApple・Google・Microsoftが推進開始。パスキー≠パスワード


よくある間違い

「パスキーはパスワードの別名」→ ✗  パスキーはパスワードを使わない公開鍵方式。覚えて入力する文字列ではない。

「WebAuthnとFIDO2はまったく同じもの」→ ✗  WebAuthnはWebのAPI、FIDO2は全体の仕様。重なるが同じではない。

「パスキーの秘密鍵はサーバに預ける」→ ✗  サーバに預けるのは公開鍵。秘密鍵は端末から外に出ない。


試験での出題パターン

実際の問題でたしかめてみよう。

オリジナル問題1(パスキーのしくみ)

📝 オリジナル問題 1 パスキーのしくみ

パスキーに関する次の記述のうち、正しいものはどれか。

  1. パスキーはパスワードを使わない公開鍵方式で、端末内の秘密鍵で署名しサーバが公開鍵で確かに検証する
  2. パスキーは覚えて入力する長い文字列のことで、これまでのパスワードをそのまま言い換えただけのものだ
  3. パスキーは秘密鍵をサーバに預けて保管する方式で、端末には鍵をいっさい持たないしくみとされている
  4. パスキーは通信を暗号化するためだけの方式で、本人かどうかを確かめることとは無関係とされているのだ
ピーエムロボ
ピーエムロボ 解答・解説

解答は 1 である。

パスキーは、パスワードを使わない公開鍵方式。端末の中の秘密鍵で署名し、サーバは公開鍵で検証する。秘密鍵は端末から外に出ない。

選択肢2は「パスワードの言い換え」が誤り。選択肢3は「秘密鍵をサーバに預ける」が誤りで、預けるのは公開鍵。選択肢4は「本人確認と無関係」が誤りだ。

選択肢判定理由
1パスワード不要・秘密鍵で署名で正しい
2パスワードの言い換えではない
3サーバに預けるのは公開鍵
4本人確認のしくみである

オリジナル問題2(フィッシング耐性)

📝 オリジナル問題 2 フィッシング耐性

パスキーがフィッシングに強い理由として、正しいものはどれか。

  1. パスキーは入力した文字をそのままにせサイトへ送るため、攻撃者にとって都合がよいしくみとされている
  2. 秘密鍵が端末から外に出ず、署名が正しいサイト(ドメイン)に紐づくため、にせサイトにだまされにくい
  3. パスキーは通信速度を二倍にするだけのしくみで、フィッシングへの強さとはまったく関係がないとされる
  4. パスキーは毎回同じ固定の文字列を送る方式なので、盗み見されてもまったく問題にならないとされている
ピーエムロボ
ピーエムロボ 解答・解説

解答は 2 だ。

パスキーがフィッシングに強いのは、秘密鍵が端末から外に出ず、署名が正しいサイト(ドメイン)に紐づくから。にせサイトには署名しないので、だまされにくい。

選択肢1は「にせサイトへ送る」が誤り。選択肢3は「速度を二倍にするだけ」が誤り。選択肢4は「固定の文字列を送る」が誤りだ。

選択肢判定理由
1にせサイトには署名しない
2秘密鍵が出ず正しいサイトに紐づくで正しい
3速度の話ではない
4固定の文字列を送る方式ではない

オリジナル問題3(WebAuthnとFIDO2)

📝 オリジナル問題 3 WebAuthnとFIDO2

パスキーを支える標準に関する次の記述のうち、正しいものはどれか。

  1. WebAuthnとFIDO2はまったく同じものの別名で、役割にも仕様にもまるで違いはいっさいないとされているのが実情だ
  2. WebAuthnもFIDO2も認証とは無関係の画像形式の規格で、ログインのしくみには使われないとされているのだ
  3. FIDO2はパスワードを長くするためだけの規格で、公開鍵や生体認証とはまったく関係がないとされているのだ
  4. WebAuthnはWebで使うAPI、FIDO2はパスキー全体の仕様という違いがあり、2022年から推進が本格化した
ピーエムロボ
ピーエムロボ 解答・解説

解答は 4 だ。

WebAuthnはWebで使うAPI、FIDO2はパスキー全体の仕様、という役割のちがいがある。パスキーは2022年にApple・Google・Microsoftが推進を本格化した。

選択肢1は「まったく同じ」が誤り。選択肢2は「画像形式の規格」が誤り。選択肢3はFIDO2を「パスワードを長くするだけ」とする誤りだ。

選択肢判定理由
1役割が違い同じではない
2画像形式ではなく認証の標準
3パスワードを長くする規格ではない
4WebAuthn=API・FIDO2=全体仕様で正しい

まとめ

押さえどころ

次に学ぶ


執筆: SikakuQuest編集部

勉強は、クエストになった。

資格の勉強を、冒険に変えるRPG学習アプリ

App Storeで見る