相互運用性試験は、認証プロセスにおいて必須のステップである。
認証には、以下の種類の相互運用性試験がサポートされている:
相互運用性試験イベント
相互運用性試験イベントは、実装者が集まり、互いの実装に互換性があることを検証する場である。 また、サーバーおよび認証製品認証の機能要件でもある。
テストはすべて遠隔操作で行われる。 テスト環境を考慮すると、認証機関のテストを完了する参加者は、すべてのデバイスで実行され るすべてのアクションを含め、相互運用性のステップを実行しながら視覚的に検証できるように、 ウェブカメラの表示と画面共有機能の両方をセットアップする準備が必要である。
各実装者は、自分の実装を他の実装者の実装とテストする。 たとえば、FIDO2 サーバーは、イベントに存在するすべての FIDO2 オーセンティケーターでテストします。同様に、UAF クライアント/認証器 、すべての UAF サーバーでテストします。 参加者の各組み合わせについて、以下に示す対応するUAFおよびFIDO2検査手順が実施される。 イベントに参加した他のすべての実装とのテスト手順に合格できることを示す実装、または不合格となったテスト手順が、その実装がFIDO仕様に適合していないことが原因ではないことを示すことができる実装は、相互運用性イベントに合格し、次の認証ステップに進む資格を維持する。
相互運用性イベントに登録する前に、実装はコンフォーマンステストの自己検証に 合格しなければならず、相互運用性イベントの前に実装を変更してはならない。 参加者は大会の12日前までに申し込むこと。
実施者は、事前テストに参加することを強く勧められる。 事前テストは各大会の前週に行われる予定。 事前テストの目的は、相互運用性イベントに参加する企業に、イベントに先立ってソフトウェア、メタデータを交換し、互いにテストする能力を与えることである。 事前テストに参加することを選択した実施者については、事前に連絡先が他の実施者と共有され、適切な情報を共有し、事前テストを実施するために連絡を取り合うことができる。
相互運用性テストイベントを開催するのに十分な数の実装がない場合、イベントは中止され、イベントの10日前に参加希望者に通知される。 これらのイベントは、少なくとも90日に一度、有効なバージョンのスペックに対して開催される。 今後の全イベントのスケジュールは下記を参照されたい。
相互運用性イベント(FIDO2およびFIDO UAF)
FIDO 2025 相互運用性イベントの日程:
- 2025年3月17日-21日
- プレテスト:2025年3月10日〜14日
- 2025年6月23日-27日
- プレテスト:2025年6月16日〜20日
- 2025年9月15日-19日
- プレテスト:2025年9月8日〜12日
- 2025年12月8日-12日
- プレテスト:2025年12月1日〜5日
オンデマンド・テスト
オンデマンド・テストは、相互運用性イベントに参加する代わりに導入された。 オンデマンド・テストは年間を通じてご利用いただけます。
オンデマンドテストでは、FIDO®認証のリファレンス実装を使用してテストを完了します。 参照実装の数が、試験の最低要件(各実装クラスにおいて、3 つの固有のベンダーによる 3 つの実装)に等しい場合、その実装はオンデマンド試験の対象となります。 ベンダーは、参考実装ライブラリを見ることができます。
認証された実装を持つFIDOメンバーは、寄付フォームに記入することで、FIDOリファレンス実装ライブラリに実装を寄付することができます。
現在、オンデマンド・テストには1つのオプションがあります:
Virtual On Demand 認定 では、オンデマンド テストに提出するベンダーに対して、その実装の操作に対するアクセス権と指示を 認定 事務局に提供する必要があります。 認定事務局は、オンデマンドの相互運用性テストプロセスを促進します。 ベンダー企業の代表者の連絡先を提供し、試験中に質問や問題が生じた場合は、その代表者が試験枠内で対応できるようにしておかなければならない。
バーチャル・オン・デマンド・テストに関心のあるベンダーは、こちらからご登録いただけます。 登録が完了すると、 認定 マネージャーから連絡があり、オンデマンドテストの時間を調整します。 試験参加者の機密情報を保護するために、秘密保持契約が必要である。 秘密保持契約書はこちらで入手できる。
試験手順
UAF相互運用性試験手順
上記のポリシーに従い、UAF テストは、認証子/ASM、クライアント、およびサーバーの所定の組み合わせ を繰り返し実施する。 これには、各試験セットについて以下の設定が必要となる:
- Client+Authrコンボ、またはClientとASM+Authrコンボは、単一のインプリメンテーションにロードされます。
- サーバーは、対応するポリシーと権限を使用して 認証器 のメタデータをインストールします
規定の組み合わせごとに、進行役の前で以下のテストを行う:
- 登録:サーバーに有効な登録を行う。
- Authenticate: サーバーと有効な認証を行う。
- トランザクション:サーバーとのトランザクションを実行する。 テストは、実行中のトランザクションのテキストまたは画像表示と、トランザクションが成功したことの確認を示さなければならない。
- 登録解除:デバイスから登録を解除する。 サーバーとの認証を試み、それが失敗することを確認することによって、登録解除が成功したことを確認する。
各試験の設定に要する時間と、UAFの相互運用性試験における組み合わせの可能性から、各試験イベントは3日間に及ぶことに留意されたい。 必要な再テストを容易にするため、実装者は、その実装がすでに指定されたテストにすべて合格している場合でも、各日に出席することが期待される。 相互運用性テストに必要な日数が少ないと判断された場合は、最低でも7日前、または合理的に可能な限り早く参加者に通知される。
U2F相互運用性テスト手順
上記のポリシーに従い、U2F テストは、認証機関とサーバーの所定の組み合わせを繰り返し実行する。 相互運用性テストは、U2FクライアントとしてChromeブラウザを使用して行われる。 テストはブラウザのネイティブU2F機能で行われ、U2F Chrome Extensionはテストでは許可されません。 このポリシーは、他のU2Fクライアントが利用可能になったときに変更される可能性があります。 認証器とサーバの各組み合わせは、ファシリテーターに対して次のテストを実行する必要があります。
- 登録: U2F 認証器 は、U2F Server に自身を登録する必要があります。
- 認証: U2F 認証器 は、サーバーに登録された後、サーバーで認証できることを証明する必要があります。
仕様書では、ボタンへのタッチ、デバイスの抜き差しなど、これらの各ステップには人間の操作が必要である。 器具の挿入が人間との相互作用の形式として使用される場合、試験ステップが実行されるたびに、器具の再挿入が必要となるはずである。
実施形態はまた、以下の試験ステップを実行してもよい:
- ネガティブ登録:サーバに拒否されるべき方法で無効な証明書を登録すること。
- ネガティブ認証:有効な登録後、サーバーに拒否される可能性のある方法で、無効な認証情報を使って認証を行う。
実装によっては、無効な証明書や、これらのテストステッ プの実行に必要なその他のメカニズムの実装が困難な場合があるからである。 しかし、これらのオプションのステップを実行するクライアントの場合、サーバーは相互運用性テストに合格する必要がある。
FIDO2相互運用性テスト手順
FIDO2 テストは、オーセンティケータ、ブラウザ、およびサーバーの所定の組み合わせを繰り返し実施する。
これには、各試験セットについて以下の設定が必要となる:
すべてのサーバおよび認証子に必要
- 登録: FIDO2 認証器 は、自身を FIDO2 サーバーに登録する必要があります。
- 認証: FIDO2 認証器は、サーバーに登録された後、サーバーで認証できることを証明する必要があります。
- リセット: 消去して工場出荷時の設定に戻し、再認証する
オプションの 認証器 機能
- クライアントPIN: PINベースのユーザー認証を実証する(該当する場合)
- 暗証番号の設定
- PINで登録
- PINによる認証
- 暗証番号の変更
- 新しいPINで認証する
- 常駐鍵: 認証者が常駐鍵を作成できることを示す(該当する場合)
- マルチアカウント: 認証局が同一サービスにおいて複数のユーザをサポートできることを示す(該当する場合)。
- HMAC拡張
必要なブラウザの相互運用性
-
サーバー
- Firefox 61以降と参照U2Fトークン
- エッジ エッジ エッジ エッジ 44.17723.1000.0 とすべての適格な参加認証機関
- Chrome 69以降を搭載し、対象となるすべての認証に対応していること
- 認証器:
-
USB CTAP2 認証器
- エッジエッジ44.17723.1000.0とすべての参加サーバー
- すべての参加サーバーでChrome 69以降を使用すること
-
NFC CTAP2 認証器
- エッジエッジ44.17723.1000.0とすべての参加サーバー
-
BLE CTAP2 認証器
- すべての参加サーバーでChrome 69以降を使用すること
-
USB CTAP2 認証器
レベル1認証器認定は、FIDO認定に必要なコンポーネントです。 FIDO認定を取得するには、すべての実装がレベル1認証器認定(セクション5.4.4)のテスト手順を完了し、合格する必要があります。
仕様書では、ユーザー確認のジェスチャー、デバイスの挿入や取り外しなど、これらの各ステップには人間の操作が必要である。 器具の挿入が人間との相互作用の形式として使用される場合、試験ステップが実行されるたびに、器具の再挿入が必要となるはずである。
レベル1認証器認定試験手順
レベル 1 認証器の認定を求める認証器の場合、以下の表 3 の認証器のセキュリティ要件は、適合性自己検証または相互運用性テストで確認する必要があります。詳細については、認証器認定レベルのページをご覧ください。
要件とベンダー アンケートは、 認証器 のセキュリティ要件で定義されています。
手記: L2以上を完了したオーセンティケーターは、コンフォーマンス自己検証または相互運用性テスト中に要件を実証する必要はありませんが、認証器セキュリティ要件は、認証器認定のセキュリティ評価ステップ中に認定セキュリティラボによって評価されます。
評価方法には、適合性自己検証(Conformance Self-Validation)と相互運用性試験(Interoperability Testing)がある:
- 適合性自己検証の場合、要件は登録または試験中に自動的に検証される。
- 相互運用性テストの場合、ベンダーは、相互運用性テスト中に認証器が要件をどのように満たしているかをテスト監督者に示すものとします。
L1 相互運用性要件マッピング
仕様 | 認証器認定要件 | 評価方法 |
UAFとFIDO2 | 1.4 | 相互運用性テスト |
UAFとFIDO2 | 1.9 | 相互運用性テスト |
UAF、U2F、FIDO2 | 3.1 | 相互運用性テスト |
UAFとFIDO2 | 3.4 | 相互運用性テスト |
UAFとFIDO2 | 3.5 | 相互運用性テスト |
UAF、U2F、FIDO2 | 3.9 | 相互運用性テスト |
UAFとFIDO2 | 4.4 | 相互運用性テスト |
UAF、U2F、FIDO2 | 6.2 | 相互運用性テスト |
UAF、U2F、FIDO2 | 6.3 | 相互運用性テスト |