【要約】パスキーはなぜ「盗まれても意味がない」と言えるのか — 公開鍵暗号方式で理解する新しい認証 [Qiita_Trend] | Summary by TechDistill
> Source: Qiita_Trend
Execute Primary Source
// Problem
従来のパスワード認証では、ユーザーとサーバーが同じ秘密を共有する仕組みが、多くの攻撃を許容している。これらは、認証情報の「共有」という設計思想に起因する根本的な課題である。
- ・フィッシング攻撃:精巧な偽サイトへユーザーがパスワードを直接入力し、情報が盗まれる。
- ・サーバー漏洩:サーバー側のハッシュ化データが突破され、認証情報が流出する。
- ・構造的欠陥:秘密の文字列をネットワーク上で送受信・保存する前提そのものに脆弱性がある。
// Approach
パスキーは、公開鍵暗号方式を用いることで、秘密鍵をネットワークに一切流さない設計を採用している。これにより、秘密の値をネットワークに流す必要性を排除している。
- ・鍵ペアの生成:登録時にデバイス内で公開鍵と秘密鍵のペアを生成する。
- ・公開鍵の送付:サーバーには公開鍵のみを送り、秘密鍵はデバイス内に保持する。
- ・署名による認証:ログイン時は生体認証でデバイスを解除し、秘密鍵で署名を行う。
- ・ドメイン検証:ブラウザとOSがドメインを照合し、偽サイトでの署名を防ぐ。
// Result
パスキーの導入により、認証におけるセキュリティの前提条件が根本から書き換わる。攻撃者が奪える対象そのものが変わるため、従来の対策とは次元の異なる安全性を実現する。
- ・フィッシング耐性:設計レベルで偽サイトへの情報流出を無効化できる。
- ・漏洩リスクの最小化:サーバーから漏洩するのは公開鍵のみであり、ログイン偽装は不可能。
- ・運用の転換:守るべき対象が「秘密の値」から「デバイスの所持」へと移行する。
Senior Engineer Insight
> セキュリティ強度は飛躍的に向上する。しかし、可用性とのトレードオフに注意が必要だ。デバイス紛失や同期不全が、ユーザーのアクセス不能を招く。実戦投入時は、復旧フローの設計が鍵となる。守るべきものが「値」から「デバイス」へ移るため、デバイス管理の重要性が増す。