物理セキュリティキーは、USBやNFCなどで端末に接続し、ログイン時の本人確認に使うデバイスです。
FIDO2は、Web Authentication(WebAuthn)とClient to Authenticator Protocol(CTAP)を組み合わせた公開鍵認証の仕組みです。
WebAuthnはウェブアプリとブラウザのAPIを定義し、CTAPはクライアントと外部認証器の通信を定義します。
WebAuthnに対応するキーは、接続先のウェブサイトと認証結果を結び付けるため、コードを入力する方式とは異なるフィッシング対策になります。
購入前に、使いたいサービスの対応、端子、スマートフォンとの接続、予備キー、紛失時の復旧方法を確認してください。
セキュリティキーとは何か
物理セキュリティキーは、ログイン時に端末へ接続し、タッチやボタン操作で本人確認を行うデバイスです。
YubiKeyは、Yubicoが提供する物理セキュリティキーの製品名です。
製品によって、FIDO2、WebAuthn、U2F、スマートカードなど対応する機能が異なります。
USB-A、USB-C、NFCなどの接続方式もモデルによって異なるため、製品名だけで端末との互換性を判断しません。
物理キーは、パスワードを保管するパスワードマネージャーとは役割が違います。
パスワードマネージャーは認証情報の生成や保管を担い、セキュリティキーは登録したサービスへ本人であることを証明する認証手段です。
FIDO2、WebAuthnの仕組み
FIDO2は、FIDO Allianceが定義するWebAuthnとCTAPを組み合わせた公開鍵認証の仕組みです。
WebAuthnは、ウェブアプリがブラウザを通じて公開鍵資格情報を登録し、認証するためのW3C仕様です。
WebAuthnでは、ウェブアプリがRelying Partyとしてチャレンジを作り、ブラウザが認証器との処理を仲介します。
登録時には、認証器の内部で公開鍵と秘密鍵の組み合わせが作られ、サービス側へ公開鍵が登録されます。
認証時には、サービスが送ったチャレンジなどのデータに対して認証器が署名し、サービスが登録済みの公開鍵で署名を確認します。
WebAuthnは、接続元のoriginとRelying Party IDを認証処理へ結び付けます。
そのため、正規サイト用に作られた公開鍵資格情報を、別ドメインの偽サイトでそのまま使う攻撃を抑えやすくなります。
この効果は、サービス側がWebAuthnの仕様どおりにoriginと資格情報を検証する場合に成り立ちます。
CTAPは、ブラウザやOSなどのクライアントと、USBやNFCなどで接続する外部認証器の間で、資格情報の作成や署名などを行う通信プロトコルです。
CTAPはウェブサイトと外部キーを直接つなぐ仕様ではなく、WebAuthnの要求をクライアントが認証器へ渡すために使われます。
この仕組みは、SMSや認証アプリのOTPを偽サイトへ入力させ、攻撃者がリアルタイムで使う攻撃とは異なります。
FIDO AllianceのCTAP仕様とW3CのWebAuthn仕様で、認証方式、ブラウザ、OS、サービスの役割を確認できます。
SMS、認証アプリ、セキュリティキーの使い分け
認証方式は、強さの順位だけでなく、対象サービス、端末、復旧手段で選びます。
| 認証方式 | 向いている場面 | 確認する限界 |
|---|---|---|
| SMS認証 | 多くのサービスで使える方式を追加したい | 電話番号や携帯回線の管理、コードを入力するフィッシング、端末紛失 |
| 認証アプリ | SMS以外のコード方式を使いたい | コードを偽サイトへ入力する攻撃、端末故障、バックアップと復旧 |
| セキュリティキー | 対応サービスでフィッシング耐性を高めたい | サービス対応、端子やNFC、紛失、予備キー、端末の侵害 |
OTP(ワンタイムパスワード)は、一回の使用または一定時間の経過で無効になる認証コードです。
メール、金融、パスワードマネージャーなど影響の大きいアカウントで対応している場合は、セキュリティキーを候補にします。
対応していないサービスでは、認証アプリなど利用できる方式を公式案内で選びます。
購入前に確認する項目
サービスの対応
利用したいサービスの公式ヘルプで、FIDO2、WebAuthn、セキュリティキー、パスキーの対応を確認します。
「二要素認証に対応」と書かれていても、セキュリティキーに対応するとは限りません。
登録できるキーの数、ログイン時に必要な方式、復旧コード、予備の認証方法も確認してください。
端末と接続方式
- PCのUSB端子がUSB-AかUSB-Cか
- スマートフォンがNFCやUSB接続に対応するか
- ブラウザとOSが対象サービスの認証方式に対応するか
- ケースを付けたスマートフォンでNFCが使えるか
- 仕事用端末や管理端末で外部デバイスが許可されているか
端子の形が合っていても、サービス、ブラウザ、OSの組み合わせで使えない場合があります。
予備キーと復旧
紛失や破損に備え、サービスが許可する場合は、メインキーとは別に予備キーを登録します。
予備キーはメインキーと別の場所に保管します。
リカバリーコード、予備の認証方法、アカウント復旧窓口も、登録前に確認してください。
Googleアカウントで登録する流れ
Googleアカウントを例にすると、一般的な流れは次のとおりです。
- Googleアカウントの公式設定ページを自分で開きます。
- セキュリティ設定から、二段階認証またはセキュリティキーの設定を開きます。
- セキュリティキーの追加を選びます。
- USBまたはNFCでキーを接続し、ブラウザの案内に沿ってタッチします。
- 登録名を付け、登録済みキーをアカウントの設定画面で確認します。
- サービスが対応していれば、別のキーを予備として登録します。
- リカバリーコードと予備の認証方法を確認します。
設定画面の名称や順番は更新されるため、実際の操作ではGoogleの公式ヘルプを優先します。
登録後は、別の端末やプライベートブラウジングでログインを試す前に、アカウントの復旧手段を確認します。
紛失、破損、予備キーによる復旧
キーを紛失した場合は、次の順に確認します。
- 予備キー、リカバリーコード、別の認証方法で公式ログインを試します。
- アカウントのセキュリティ設定から、紛失したキーを登録解除します。
- パスワード、登録端末、ログイン履歴、復旧先を確認します。
- 復旧できない場合は、サービスの公式復旧窓口へ連絡します。
紛失したキーだけでログインできる設計とは限りませんが、登録解除は必要な対応の一つです。
予備キーは、メインキーと同じ財布やバッグに入れず、災害や紛失の影響が重ならない場所に保管します。
予備キーが登録されているかは、実際に使えるうちに公式設定画面で確認します。
セキュリティキーの限界
セキュリティキーは、認証の入口を保護する手段です。
次の問題を単独で解決するものではありません。
- 端末のマルウェアや、ログイン後のセッションの盗用
- サービスの復旧手続きやサポート窓口を悪用する攻撃
- キーの紛失、破損、対応端子の不足
- セキュリティキーに対応していないサービス
- 登録済みの端末やブラウザがすでに侵害されている場合
- 利用者が自分で認証を承認してしまうソーシャルエンジニアリング
セキュリティキーを登録しても、パスワード、端末、復旧手段、ログイン後のセッションを別に保護します。
確認済み仕様でYubiKeyを比較する
YubiKeyのモデルを比べるときは、価格を断定せず、使う端末、必要な認証方式、NFCの要否から絞り込みます。
| 製品 | 確認できた仕様 | 公式仕様 |
|---|---|---|
| YubiKey 5 NFC | FIDO2、WebAuthn、FIDO U2F、PIV、OpenPGP、OTPなどに対応し、USB-AとNFCを備える | Yubico公式仕様 |
| YubiKey 5C NFC | FIDO2、WebAuthn、FIDO U2F、PIV、OpenPGP、OTPなどに対応し、USB-CとNFCを備える | Yubico公式仕様 |
| Security Key C NFC | FIDO2、WebAuthn、FIDO U2Fに対応し、USB-CとNFCを備えるが、PIV、OpenPGP、OTPには対応しない | Yubico公式仕様 |
この表は、Yubicoが公開する製品仕様で確認できた機能だけを比べています。
使いたいサービスの対応方式と端子が一致するかを、購入前にサービスとYubicoの公式情報で確認してください。
他社のFIDO2対応キーを候補にする場合も、サービス対応、接続方式、復旧、販売元、更新情報を同じ項目で確認してください。
よくある質問
予備キーはメインキーと同じ場所に保管してよいですか?
同じ場所に保管すると、財布やバッグの紛失時に両方を失う可能性があります。
サービスが対応している場合は、メインキーと別の場所に予備キーを登録します。
キーを紛失したがログインできる場合は何を先にしますか?
公式設定画面で紛失したキーを登録解除し、登録端末、ログイン履歴、復旧先を確認します。
パスワードや復旧手段の変更が必要かどうかも、サービスの公式案内で確認します。
サービスがFIDO2対応とだけ案内している場合は何を確認しますか?
セキュリティキーの登録可否、利用する端子、NFC、ログイン時の必須条件、復旧手段をサービスの公式ヘルプで確認します。
FIDO2に対応していても、すべての端子、端末、認証モードが使えるとは限りません。
参考資料
最終更新日:
