比較・選び方 · FIDO AllianceのAuthenticator Certification Levels(L1/L1+/L2/L3/L3+)の評価方法、Microsoft Entra IDのパスキー(FIDO2)対応マトリックスに記載されたOS・ブラウザ別の制限、およびWindowsにおけるパスキーの扱い

FIDO2セキュリティキーの選び方:認証レベルの意味と、OS側で決まっている「使えない組み合わせ」

FIDO2セキュリティキーを買おうとすると、製品ページに「FIDO認証取得」「Level 2」といった表記や、USB-C・NFC・BLEといった接続方式が並びます。どれを見て決めればよいのか。この記事は2つの角度から整理します。ひとつは認証レベルです。FIDO Allianceは、FIDO2の認証を受けるには少なくともLevel 1の認証が必要であること、レベルは積み上げ式でL2はL1の要件をすべて含むこと、そしてL1はFIDOの事務局が、L2以上は認定を受けたセキュリティ試験所が評価することを公開しています。もうひとつは、買ったあとに効いてくる組み合わせの制限です。Microsoftが公開しているパスキー(FIDO2)の対応マトリックスには、NFCやBLEのセキュリティキーが特定のOSで使えないこと、そして初回の登録が特定のブラウザでは動作しないことが、誰の制限なのかとあわせて書かれています。鍵の仕様より、この表のほうが購入判断を左右します。

公開 · 更新 · FaultNote 編集方針

FIDO2セキュリティキーの選び方:認証レベルの意味と、OS側で決まっている「使えない組み合わせ」の流れ:1. 認証レベルは何を評価した結果なのか、2. 買ったあとに効くのは、OS側で決まっている制限、3. 判断表:買う前に確認する5項目、4. 「パスキー」と「セキュリティキー」は排他ではない、5. 買う前の順序と、この記事が答えないこと
この記事の手順・確認項目の一覧。実際のアプリ画面ではありません。

この記事が役立つ人・作業前の準備

  • FIDO2セキュリティキーを初めて買おうとしていて、製品ページのどこを見ればよいのか分からない人
  • iPhoneやMacでも使いたいと考えていて、NFCやBLE対応の鍵を選ぶべきか迷っている人
  • 「パスキー」と「セキュリティキー」の関係が整理できておらず、両方必要なのかを知りたい人

用意するもの

  • そのセキュリティキーを使う予定のOSを全部書き出す(Windows、macOS、iOS、Android、ChromeOS、Linux)
  • それぞれで使う予定のブラウザを書き出す(Chrome、Edge、Firefox、Safari)
  • サインインしたいサービスを書き出し、そのサービスがセキュリティキーに対応しているかを確認できる状態にする

1. 認証レベルは何を評価した結果なのか

製品ページに「FIDO Certified」やレベル表記があるとき、それが何を通過した印なのかを確認します。FIDO AllianceのAuthenticator Certification Levelsのページは、こう書いています。「Authenticators must be certified to at least Authenticator Certification Level 1 (L1) for UAF, U2F, and FIDO2 certification.」FIDO2の認証を受けるには、少なくともL1の認証が必要だ、という前提です。

レベルの関係も明記されています。「The Levels build on each other, so L2 includes all the requirements for L1, plus additional requirements for L2.」積み上げ式であり、上位は下位の要件をすべて含みます。現在サポートされているレベルとして、Level 1、Level 1+、Level 2、Level 3、Level 3+ の5つが挙げられています。

購入判断にいちばん効くのは、評価する主体が違うという点です。同じページのプロセス説明には「Security Secretariat (L1) or Accredited Security Laboratory (L2, L3, or L3+) Security Evaluation & FIDO Evaluation Report」とあります。L1はFIDOのセキュリティ事務局が、L2以上は認定を受けたセキュリティ試験所が評価します。さらに、L1とL2ではベンダーが記入する Vendor Questionnaire が、L3とL3+ では Mapping Table が評価対象になる、と書かれています。

ここから言えることと、言えないことを分けます。言えるのは、レベルが上がるほど要件が増え、L2以上では第三者の試験所が関与する、ということです。言えないのは、L2の鍵がL1の鍵より実際にどれだけ安全か、という程度の話です。当サイトはそれを示す数値を持っていませんし、このページにも書かれていません。したがってこの記事は、レベルを「要件の範囲と評価者の違い」として扱い、優劣の定量化はしません。

なお同じページには、認証後の任意の手続きとして「(Optional) Metadata Submission to FIDO MDS」が挙げられています。メタデータサービスへの登録は任意であり、登録されていないことが認証を受けていないことを意味するわけではありません。

2. 買ったあとに効くのは、OS側で決まっている制限

鍵の側の仕様よりも、実際に使えるかどうかを決めるのは組み合わせです。Microsoftが公開しているパスキー(FIDO2)の対応マトリックスには、OSごとの注意点が、誰による制限なのかとあわせて列挙されています。

macOSについては「Near-field communication (NFC) and Bluetooth Low Energy (BLE) security keys aren't supported on macOS by Apple.」と書かれています。NFCとBLEのセキュリティキーはmacOSでサポートされておらず、それはAppleによる、という書き方です。さらに「New security key registration doesn't work on these macOS browsers because they don't prompt to set up biometrics or PIN.」と、初回登録が動作しないことも別に書かれています。

iOSについては「BLE security keys aren't supported on iOS by Apple.」「NFC with FIPS 140-3 certified security keys isn't supported on iOS by Apple.」「New security key registration doesn't work on iOS browsers because they don't prompt to set up biometrics or PIN.」の3点です。2つめは細かいようですが、FIPS 140-3認証を受けた鍵をiPhoneでNFC利用しようとしている人には決定的な情報です。

ChromeOSについては「NFC and BLE security keys aren't supported on ChromeOS by Google.」に加えて「Security key registration isn't supported on ChromeOS or Chrome browser.」、Androidについては「BLE security keys aren't supported on Android by Google.」と書かれています。

ここで見えてくるのは、登録(初回の設定)と利用(日常のサインイン)が別扱いだということです。ある環境では使えるが登録はできない、という組み合わせが実在します。鍵を1つだけ買って、手元にある端末が登録できない環境だけだった、という事態は避けられます。買う前に、登録をどの端末で行うかを決めておいてください。

Windowsについては、同じページが「Sign-in with security key requires one of the following items:」として箇条書きで条件を挙げています。項目は「Windows 10 version 1903 or later」「Chromium-based Microsoft Edge」「Chrome 76 or later」「Firefox 66 or later」の4つです。これらは比較的満たしやすい条件です。

3. 判断表:買う前に確認する5項目

上の記載を、購入前のチェック項目に並べ直します。「記載されている制限」の欄は、出典ページにその制限が書かれているものだけを載せています。

表は横にスクロールできます →

3. 判断表:買う前に確認する5項目
確認項目なぜ購入判断に効くか記載されている制限出典
認証レベル(L1/L1+/L2/L3/L3+)レベルが上がるほど要件が増え、L2以上は認定試験所が評価するFIDO2の認証には少なくともL1が必要。レベルは積み上げ式FIDO Alliance
接続方式(USB/NFC/BLE)対応OSによっては、その方式自体が使えないNFCとBLEはmacOSとChromeOSで非対応、BLEはiOSとAndroidでも非対応と記載Microsoft Entra 対応マトリックス
初回登録をどの端末で行うか利用できても登録できない環境があるmacOSブラウザとiOSブラウザで新規のセキュリティキー登録が動作しない、ChromeOSとChromeブラウザでは登録が非対応と記載同上
OSとブラウザの組み合わせ同じOSでもブラウザによって対応が異なるWindowsでのサインインには Windows 10 version 1903 以降、Chromium版Edge、Chrome 76以降、Firefox 66以降のいずれかが必要と記載同上
鍵に保存する方式(デバイス紐付けか同期か)鍵を紛失したときの復旧経路が変わるMicrosoft Entra ID は同期パスキーとデバイス紐付けパスキーの両方を一般提供の認証方式としてサポートと記載同上
0

4. 「パスキー」と「セキュリティキー」は排他ではない

用語の整理をしておきます。この2つを対立するものとして選ぼうとすると、判断を誤ります。

MicrosoftのWindows向けの資料は、パスキーの仕組みをこう説明しています。利用者がオンラインサービスに登録すると、クライアント側の端末が新しい鍵ペアを生成し、秘密鍵は端末に安全に保存され、公開鍵がサービスに登録される。認証時は、チャレンジに署名することで秘密鍵を持っていることを証明する。そして「The private keys can only be used after they're unlocked by the user using the Windows Hello unlock factor (biometrics or PIN).」と書かれています。生体情報がネットワークやサービスに送られることはない、とも明記されています。

つまり、Windows Helloに保存するパスキーも、外付けのセキュリティキーに保存するパスキーも、同じFIDOの仕組みの上にあります。違うのは、秘密鍵をどこに置き、何で解錠するかです。Microsoft Entra IDについては、同期パスキーとデバイス紐付けパスキーの両方を一般提供の認証方式としてサポートしている、と対応マトリックスに書かれています。

同じWindowsの資料には、買ったあとに戸惑いやすい仕様も書かれています。Windows 11 バージョン24H2以降、アプリがパスキーにアクセスする前にプライバシーの同意を求められ、同意を拒否したアプリではパスキーの登録と認証が動作しない、というものです。設定の場所も「Settings > Privacy & security > Passkey access」と示されており、あとから許可し直せます。

もうひとつ、別の端末を使ったサインイン(クロスデバイス)についての条件があります。「For passkey cross-device authentication scenarios, both the Windows device and the mobile device must have Bluetooth enabled and connected to the Internet.」Windows側と携帯側の両方でBluetoothが有効かつインターネットに接続している必要がある、と書かれています。組織がBluetoothを制限している環境では、この経路は当てにできません。

5. 買う前の順序と、この記事が答えないこと

順序はこうなります。第一に、使う予定のOSを全部書き出す。第二に、その中に macOS、iOS、ChromeOS が含まれるなら、NFCとBLEの制限に当たらない接続方式を選ぶ。第三に、初回登録をどの端末で行うかを決める。第四に、鍵を1本だけ持つのか、予備を持つのかを決める。第五に、そのうえで認証レベルの表記を見る。レベルは大事ですが、順序としては最後です。組み合わせが成立しなければ、レベルの高い鍵も使えません。

紛失時の備えについては、資料に基づく事実だけを述べます。Microsoftの一般向けページは、同期される資格情報マネージャーに保存すればクラウドアカウント経由で他の端末でも使えるようになる、と説明し、端末に保存する場合は他の端末にもパスキーを作っておくことを勧めています。物理的な鍵を1本だけ持つ構成は、その1本を失ったときの経路を別に用意する必要がある、ということです。ただし各サービスの復旧手順は、そのサービス側の仕様です。

この記事は特定の製品を推奨しません。価格やコストパフォーマンスの比較も行いません。当サイトは実機での検証を行っておらず、特定の鍵が特定の環境で動作したという報告も持っていません。挙げた制限はすべて、FIDO AllianceとMicrosoftが自らの資料に書いている内容です。

最後に、確認できなかったことを記録しておきます。今回読んだFIDO Allianceのページは、レベルごとの要件の中身そのもの(どの攻撃を想定し、何を満たす必要があるのか)を本文には載せておらず、Authenticator Security and Privacy Requirements などの別文書のダウンロードリンクを示しています。当サイトはそれらの文書を読んでいないため、レベルごとの要件の具体的な内容は記述しません。また、FIDO Certified Products Directory で個別の製品の認証状況を確認する経路がある旨は同ページから読み取れますが、個別製品の認証状況については何も主張しません。

注意点・利用条件

  • 認証レベルは要件の範囲と評価者の違いを示すものです。L2の鍵がL1の鍵よりどれだけ安全かという程度は、今回読んだページには書かれておらず、当サイトも数値を示しません。
  • NFCとBLEのセキュリティキーはmacOSとChromeOSで、BLEはiOSとAndroidでもサポートされていないと記載されています。いずれも、AppleまたはGoogleによる制限として書かれています。
  • 利用できることと、初回登録ができることは別です。macOSとiOSのブラウザでは新規のセキュリティキー登録が動作せず、ChromeOSとChromeブラウザでは登録が非対応と記載されています。
  • FIPS 140-3認証を受けたセキュリティキーのNFC利用は、iOSではサポートされていないとAppleによる制限として記載されています。
  • Windows 11 バージョン24H2以降、アプリがパスキーにアクセスする前にプライバシーの同意が求められ、拒否したアプリではパスキーの登録と認証が動作しません。設定から許可し直せます。
  • 当サイトは実機での検証を行っていません。特定の製品が特定の環境で動作したという報告は、この記事にはありません。個別製品の認証状況についても何も主張しません。

よくある質問

「FIDO認証取得」とだけ書かれた鍵と、「Level 2」と書かれた鍵は、どう違いますか。

FIDO Allianceは、FIDO2の認証を受けるには少なくともLevel 1の認証が必要だとしており、レベルは積み上げ式でL2はL1の要件をすべて含むと書いています。評価の主体も異なり、L1はFIDOのセキュリティ事務局が、L2以上は認定を受けたセキュリティ試験所が評価するとプロセス説明に記載されています。一方で、L2がL1よりどれだけ安全かという程度を示す記述はそのページにありません。当サイトも優劣を数値では示しません。

iPhoneでも使いたいのですが、NFC対応の鍵を買えばよいですか。

条件を確認してください。Microsoftの対応マトリックスは、iOSについて「BLE security keys aren't supported on iOS by Apple.」と書き、さらに「NFC with FIPS 140-3 certified security keys isn't supported on iOS by Apple.」とも書いています。FIPS 140-3認証を受けた鍵のNFC利用は対象外です。加えて、iOSのブラウザでは新規のセキュリティキー登録が動作しないとも記載されているため、登録は別の端末で行う前提で考える必要があります。

パスキーがあれば、セキュリティキーは要りませんか。

排他の関係ではありません。Microsoftの資料は、パスキーをFIDOの仕組みの上で説明しており、秘密鍵は端末に保存され、Windows Helloの解錠要素(生体認証またはPIN)で解錠されたあとにのみ使える、と書いています。外付けのセキュリティキーは、その秘密鍵を別のハードウェアに置く形です。Microsoft Entra IDは、同期パスキーとデバイス紐付けパスキーの両方を一般提供の認証方式としてサポートしていると記載しています。どちらを使うかは、鍵をどこに置きたいかの問題です。

鍵を失くしたらどうなりますか。

この記事は各サービスの復旧手順を示しません。資料に基づいて言えるのは、Microsoftの一般向けページが、同期される資格情報マネージャーにパスキーを保存すればクラウドアカウント経由で他の端末からも使えるようになると説明し、端末に保存する場合は他の端末にもパスキーを作っておくことを勧めている、という点です。物理的な鍵1本だけの構成にする場合は、失くしたときの経路を別に用意しておく必要があります。

Windowsでセキュリティキーを使うのに、特別な条件はありますか。

Microsoftの対応マトリックスは、セキュリティキーでのサインインについて、Windows 10 version 1903 以降、Chromium版のMicrosoft Edge、Chrome 76以降、Firefox 66以降のいずれかが必要だと記載しています。加えて、Windows 11 バージョン24H2以降は、アプリがパスキーにアクセスする前にプライバシーの同意が求められ、拒否したアプリではパスキーの登録と認証が動作しません。設定 > プライバシーとセキュリティ > パスキーへのアクセス から許可し直せると記載されています。

出典・確認日

情報確認日:。仕様・操作方法・価格などの確認に使用した出典を掲載しています。適用条件や現在の情報は各リンク先で確認してください。

関連する活用ガイド

比較・選び方の一覧へ →