パスワードの問題は「秘密を相手に送る」ことにあります。送る以上、途中で盗まれ、偽サイトに入力させられ、使い回しで別サービスまで破られる。パスワードレスはそもそも秘密を送らない形にして、この筋を丸ごと断ちます。
先に押さえる
登録時に端末の中で鍵の対を作り、公開できる側だけをサービスに預けます。以後のログインでは、サービスから届いたその都度違う値に端末が署名して返すだけ。秘密の鍵は端末から出ません。だからサービス側が漏えいしても、他人がなりすませる材料は落ちていません。
動きで見る
1登録:鍵を作り、公開側だけ預ける
利用者の端末サイトごとに鍵の対を作る。秘密側は端末内に保管
↓公開できる側を登録する
サービス公開側を利用者に紐づけて保存
2ログイン:その都度違う値に署名する
サービス毎回違う値を渡す(使い回しを防ぐ)
↓この値に署名してください
端末利用者を端末側で確認(指紋・顔・暗証番号)してから署名秘密の鍵は出ない
↑署名を返す → サービスは預かった公開側で検証
つまずきポイント
「指紋や顔のデータがサーバへ送られる」と誤解されがちですが、生体情報は端末の中で本人確認に使うだけで、外へは出ません。生体は端末の鍵を使う許可を出す役で、サービスが見ているのは署名だけです。この分離が分かっていないと、「生体情報が漏れたらどうする」という設問で的を外します。
なぜ偽サイトに強いのか
効く理由
- 鍵はサイトごとに分かれている:偽サイトでは本物用の鍵が使われない
- 送るのは署名だけ:盗んでも他所で使えない
- 毎回違う値に署名する:やり取りを再生されても通らない
残る論点
- 端末を失くしたときの再登録手段(ここが弱点になりやすい)
- 予備の手段としてパスワードを残すと、そこが穴になる
- 複数端末での登録の運用
見抜きどころ
答案の芯は「秘密を送らないので、盗んでも使い回せない」と「鍵がサイトごとに分かれているので、偽サイトへ流用できない」の2点です。設問はよく復旧手段を突いてきます。「端末紛失時にパスワードで戻れる」設計だと、結局その経路を狙われる——ここに気づけるかが差になります。