ハードウェアセキュリティキーとパスキー:最強の2FA
ハードウェアセキュリティキーとパスキーはFIDO2とWebAuthnを利用し、SMSコードや認証アプリでは防げないフィッシングを阻止します。仕組みと導入方法を解説します。
コードと認証アプリが不十分である理由
長年、アドバイスはシンプルでした。二要素認証を有効にすれば、盗まれたパスワードだけでは足りなくなる、と。ほとんどのアカウントで、その第二要素はコードです。SMSで届く6桁の数字、または認証アプリで生成されるもの。SMSコードは2つのうち脆弱な方で、SIMスワップ攻撃で傍受される可能性があります。一方、アプリ生成コードは少なくともデバイスの外に出ることはありません。どちらもパスワードのみより確実な改善であり、それしか選択肢がないなら使いましょう。しかし、それらは当時の脅威に対応して作られたものであり、脅威はすでに進化しています。
弱点は根本的なものです。コードは、自分で入力する共有秘密情報だからです。入力できるものは、だまされて入力させられる可能性があります。巧妙な偽ログインページはパスワードで止まりません。リアルタイムフィッシング攻撃では、攻撃者のサイトが入力されたすべての情報(パスワード、次にコード)を本物のウェブサイトにそのまま中継し、コードが届いた瞬間にログインします。あなたには曖昧な「問題が発生しました」というエラーが表示され、攻撃者は有効なセッションを手に入れます。コードはその役目を果たしました。ただし、間違った相手のために。
FIDO2とWebAuthnの正体
FIDO2は、ハードウェアキーとパスキーを支える包括的な標準規格です。連携して動作する2つの部分から構成されます:
- WebAuthnはブラウザ上で動作します。ウェブサイトがログインを要求し、応答を検証するためのプロトコルです。
- CTAPは、お使いのデバイス(USBキー、スマートフォン、ノートPC内蔵リーダー)がそのブラウザと通信する方法を定めます。キーを差し込むかNFCでかざすと、CTAPがそのやり取りを運びます。
ウェブサイトごとに1つの鍵ペア
デバイスをサイトに登録すると、鍵はそのサイト専用の新しい公開鍵/秘密鍵ペアを生成します。秘密鍵はハードウェア内に留まり、外に出ることはありません。ウェブサイトが受け取るのは、あなたのアカウントに紐付いた対応する公開鍵だけです。
この分離こそが、漏洩時の被害を大幅に減らす仕組みです。従来のログインでは、サーバーがパスワードまたはそのハッシュを保存せざるを得ず、攻撃者に本当に狙われるデータベースになります。FIDO2では、サーバーのデータベースが持つのは公開鍵のみ。公開鍵ではあなたとしてログインできないため、そもそも破られるべき秘密の保管庫が存在しません。
ハードウェアセキュリティキー:手に取れる鍵
ハードウェアセキュリティキーは、ログイン専用に作られた小型の物理デバイスで、大きさはUSBメモリや家の鍵程度です。YubiKeyが最も有名なブランドですが、複数のメーカーが製造しています。キーホルダーに入れて持ち歩き、コンピュータに差し込んでボタンを押すだけでサインインできます。
キーはデバイスに合わせて異なるコネクタで提供されています:
- USB-C: 最新のノートパソコン、タブレット、Androidスマートフォン向け
- USB-A: 古いコンピュータ向け
- NFC: iPhoneや多くのAndroidスマートフォンにかざして使う — ケーブル不要
多くのモデルはこれらのコネクタを2種類備えているため、1本のキーでノートパソコンもスマートフォンもカバーできます。
セキュリティの強さは、キーの内部動作にあります。登録すると、一意の暗号鍵が生成され、デバイス自体に保存されます。この鍵がキーの外に出ることはありません — ウェブサイトにも、コンピュータにも、どこにも送られません。キーは各ログインを内部で署名し、物理的にタッチするまで何も起こりません。遠隔の攻撃者は、あなたのポケットの中にあるボタンを押すことはできないのです。
パスキー:同じテクノロジー、同期される
パスキーは、セキュリティキーが作成するものと同じ WebAuthn 認証情報です。違いはその保存場所にあります。パスキーは物理デバイスの内部に存在するのではなく、OS やパスワードマネージャーに保存され、デバイス間で同期できます。
同期の仕組み
パスキーを作成すると、デバイスがその保存先を提供します:
- Apple デバイスでは iCloud キーチェーン が保存先となり、iPhone、iPad、Mac 間でエンドツーエンドで同期されます
- Android および Chrome では Google パスワード マネージャー が保存先となり、Google アカウントに同期されます
- サードパーティのパスワードマネージャーは、ログイン情報と一緒にパスキーを保存します
認証情報があなたと共に移動するため、新しいデバイスでのサインインは、手元にあるデバイスでプロンプトを承認するだけで済むことがよくあります。
同期型かハードウェアバインド型か?
同期型パスキーは日常のアカウント(ショッピング、SNS、ストリーミング)に適しています。利便性が重要であり、スマートフォンを紛失してもアクセスできなくなることはありません。
リスクが高い場面ではハードウェアバインド型キーが有利です。デバイスから決して出ない認証情報は、同期もコピーもクラウドアカウントからの引き出しもできません。そのため、銀行、勤務先、管理者アカウントでは今も物理キーを使う価値があります。
フィッシングが通用しなくなる理由
従来の2FAはフィッシングに対して機能しません。コードは単なる数字であり、入力できるものは何でも、被害者が偽のフォームに入力できてしまうからです。
FIDO2の資格情報は異なる仕組みで動作します。セキュリティキーやパスキーを登録すると、資格情報は暗号学的にウェブサイトの正確なドメイン名に結び付けられます。たとえば bank.example.com のような形です。この結び付けはブラウザが強制します。キーは、別のドメインに対する署名を単に拒否します。
偽サイトが手に入るもの
本物そっくりの偽サイト bank.example-login.com へのリンクをクリックしたとします。ブラウザがWebAuthnのプロセスを実行すると、偽のドメインがキーに提示されます。キーは、自分の資格情報が存在しないドメインを検知します。ログインは失敗するか、利用可能なものは何も生成されません。攻撃者が受け取るデータは、他の場所へのサインインには無価値なものです。
音声で盗めるものは何もない
電話で読み上げたりフォームに貼り付けたりする6桁のコードも存在しません。シークレットは決してデバイスの外に出ることなく、レスポンスは本物のドメインに紐付いています。「画面に表示されている数字」を求める詐欺師は、存在しないものを求めているのです。
はじめに:実用的なセットアップ
キーを2本購入する
ハードウェアセキュリティキーは2本購入してください。できれば異なるメーカーのものを選び、同一ロットの欠陥で両方とも使えなくなる事態を避けましょう。購入前にコネクタの種類を確認してください。お使いのデバイスに応じて、USB-C、USB-A、NFCのいずれかが必要です。1本目は日常使いのためにキーホルダーに付けておきます。2本目は安全かつ取り出せる場所——家庭の金庫や、確実に思い出せる引き出し——に保管してください。登録していないバックアップ用キーは何も守りません。
両方を登録し、さらにバックアップも用意する
最も価値の高いアカウントから始めます。まずメール、次にパスワードマネージャー、その後に銀行やSNSです。各アカウントのセキュリティ設定で、両方のキーを登録し、サービスのリカバリーコードをオフラインで保存してください。リカバリーコードは、両方のキーを同時に紛失した際に再びログインするための手段です。2つ目のパスワードとして扱ってください。
それ以外でも2FAを有効にする
すべてのアカウントにハードウェアキーが必要なわけではありません。キーが対応していない場合は、提供されている2FAを有効にしてください。可能であれば、SMSよりも認証アプリを優先します。メールとパスワードマネージャーを最優先してください。これらを掌握した者は、事実上すべてを掌握します。残りは少しずつ、週に数アカウントずつ進めてください。
紛失時の対処、復旧、よくある質問
ハードウェアキーを紛失しても、事前の備えがあれば危機ではありません。キーは2本ペアで購入し、すべてのアカウントに両方を登録し、予備は安全かつ別の場所に保管します——自宅の引き出しなど、同じキーリングには入れないこと。片方を紛失したら、バックアップでログインし、紛失したキーをアカウントから削除してください。
最も弱いリンク:復旧
アカウント復旧は、攻撃者が2FAに阻まれたときに狙う場所です。リカバリーコードは使い捨てのパスワードです。オフラインで保管し、メールには絶対に保存しないでください。電話番号やバックアップメールなどの復旧手段を厳重に管理してください。セキュリティキーを省略できるリセット経路は、すべての防御を無効化します。別のパスキーまたはキーのみで復旧できるサービスを優先しましょう。
現在の対応状況
Google、Apple、Microsoft、そして多くの銀行、パスワードマネージャー、SNSプラットフォームがパスキーまたはFIDO2キーに対応しています。各アカウントのセキュリティ設定を確認してください。
実践的なまとめ
重要なアカウント1つから始めましょう。パスキーを追加し、バックアップを登録し、リカバリーコードを印刷します。それを繰り返します。フィッシング耐性のあるサインインの設定には午後ひとときしかかかりませんが、保護は何年も続きます。
このガイドを共有
ブログの最新記事
2FAセキュリティチェックリスト:今日からアカウントを守る12のステップ
2FAの設定、パスワードの管理、回復オプションを網羅する実践的なセキュリティチェックリスト。今日から実践できる12の具体的なステップで、アカウントを乗っ取りから守りましょう。
続きを読む2FAの歴史:ハードウェアトークンからパスキーまで
クリップ式ハードウェアトークンやSMSコードから、今日のフィッシング耐性のあるパスキーへ。二要素認証がどのように進化し、なぜ各段階が起きたのかを解説します。
続きを読む