0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

なぜ「パスキー」はセキュリティに強いのか?

Last updated at Posted at 2025-06-23

〜仕組みと処理フローから読み解く、現実的にハッキング不可能な理由〜

 
つい最近、ForbesJapanでGoogleがユーザーへ認証方式をパスキーへ移行するよう推奨しているという記事を見て、改めて調べてみました。

はじめに

「パスキー(Passkey)」は、Apple・Google・Microsoftなどが推進する次世代の認証方式で、従来のパスワードによるログインを根本から置き換えるものです。

  • ✅ パスワードを覚えなくていい
  • ✅ フィッシング耐性がある
  • ✅ デバイスだけで認証が完結する

などのメリットがよく語られますが、この記事では特に 「なぜセキュリティに強いのか」 を重点的に、実際の処理フローと合わせてわかりやすく解説します。

パスキーとは何か?

パスキーは、「公開鍵暗号方式」を使った認証手段です。
ユーザーがサービスにアカウントを登録する際に、以下のような鍵ペアが生成されます:

  • 🔑 秘密鍵(private key):ユーザーのデバイス内に保存(外部に出ない)
  • 🗝️ 公開鍵(public key):サービス側に送信・保存

✅ 秘密鍵は絶対に外部に出ないのが大前提です。

認証の処理フロー

以下に、ユーザーがログインする際の一般的な処理フローを説明します。

  1. ログイン開始
    ユーザーがサービスのログイン画面で「パスキーでログイン」を選択

  2. チャレンジ送信
    サービスが「チャレンジ(乱数)」をブラウザに返す
    → ブラウザはそのチャレンジをOS/認証デバイスに渡す

  3. 生体認証 or PIN
    デバイス側で秘密鍵にアクセスする前に、ユーザーの認証(顔/指紋/PIN)を実施

  4. 署名処理
    秘密鍵を使ってチャレンジにデジタル署名を行う

  5. 署名検証
    ブラウザが署名と公開鍵をサーバーに送信
    → サーバー側で公開鍵を用いて署名を検証
    → 一致すればログイン完了!

パスキーが強力なセキュリティを実現できる理由

✅ 1. 秘密鍵が外に出ない

最大の強みはここです。
秘密鍵はユーザーのスマホやPCのセキュア領域(例:Secure Enclave / TPM)に保存され、外部には一切出ません。

各OS毎の保存される領域は以下の表を参考にしてください。

プラットフォーム セキュア領域名 特徴
Apple (iOS, macOS) Secure Enclave OSカーネルからも直接アクセス不可
Android StrongBox / TEE (Trusty OS等) ARM TrustZone内で動作、OSから隔離
Windows TPM (Trusted Platform Module) ハードウェア独立でアクセス不可

これらの領域では:

  • 秘密鍵を取り出すAPIは存在しない

  • 秘密鍵で署名だけを実行し、出力は署名済みデータのみ

  • OSやマルウェアから直接アクセス不可

つまり、秘密鍵は「ただの文字列」としてすら取得できない構造になっています。


✅ 2. 生体認証によるデバイスロック

ほとんどのパスキー対応デバイスでは、秘密鍵へのアクセスに生体認証が必要です。
つまり、デバイスを盗まれても、指紋や顔認証を突破しない限り使えません

パスワードのように「知識」ではなく、「本人の身体」を使った認証です。


✅ 3. フィッシングに強い

フィッシングサイトは「見た目だけ本物」ですが、パスキーはドメイン単位で公開鍵を識別しています。
つまり:

  • google.com に登録したパスキーは
  • g00gle-login.com では絶対に使えない(チャレンジ拒否)

これにより、パスワードを盗む系の攻撃は通用しません。

生体認証が使えないシーンでも意味はあるのか?

明確に優れています。
ポイントになるのは「認証に使える秘密鍵を持っているデバイスが本人の手元にある」という事実そのものであり、パスワードとは決定的に違うセキュリティ保証になります。

生体認証は、以下の点で最適です:

  • 他人が使えない

  • ロック解除が高速(利便性)

  • PINを推測するリスクがない

しかし、あくまで秘密鍵へのアクセスを制限するための“トリガーの1つ”であり、それがPINやパスワードで代替されたとしても、「秘密鍵を持っている端末が必要」という物理的な制約が最重要ポイントです。

まとめ:パスキーの安全性は現実的に破られにくい

特性 セキュリティ上の利点
🔒 秘密鍵が外に出ない サーバーがハッキングされても漏洩なし
🧑‍💻 生体認証が使用可能 なりすましが現実的に不可能
🌐 ドメイン制限 フィッシング対策が組み込まれている
📱 デバイス署名方式 利用デバイス以外からの認証は不可能

おまけ:クロスデバイス認証でログイン

例えば「ネットカフェのPCから自分のGoogleアカウントにログインしたい」とします。
このPCにはあなたの秘密鍵はありません。でもログインは可能です。

🔄 処理イメージ

  1. ネットカフェのPCで「パスキーでログイン」を選択
  2. QRコードが表示される
  3. あなたのスマホでQRコードを読み取る
  4. スマホで生体認証 → チャレンジに署名 → ネットカフェPCに送信
  5. PC側でログイン成功

この仕組みを クロスデバイス認証 と呼びます。

🔐 秘密鍵は常に「あなたのデバイスの中」だけに存在しており、
リモートで安全に署名処理が可能になります。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?