相互運用性試験は、認証プロセスにおいて必須のステップである。

認証には、以下の種類の相互運用性試験がサポートされている:

相互運用性試験イベント

相互運用性試験イベントは、実装者が集まり、互いの実装に互換性があることを検証する場である。 また、サーバーおよび認証製品認証の機能要件でもある。

テストはすべて遠隔操作で行われる。 テスト環境を考慮すると、認証機関のテストを完了する参加者は、すべてのデバイスで実行され るすべてのアクションを含め、相互運用性のステップを実行しながら視覚的に検証できるように、 ウェブカメラの表示と画面共有機能の両方をセットアップする準備が必要である。

各実装者は、自分の実装を他の実装者の実装とテストする。 同様に、UAF クライアント/認証者は、すべての UAF サーバとテストする。 参加者の各組み合わせについて、以下に示す対応するUAFおよびFIDO2検査手順が実施される。 イベントに参加した他のすべての実装とのテスト手順に合格できることを示す実装、または不合格となったテスト手順が、その実装がFIDO仕様に適合していないことが原因ではないことを示すことができる実装は、相互運用性イベントに合格し、次の認証ステップに進む資格を維持する。

相互運用性イベントに登録する前に、実装はコンフォーマンステストの自己検証に 合格しなければならず、相互運用性イベントの前に実装を変更してはならない。 参加者は大会の12日前までに申し込むこと。

実施者は、事前テストに参加することを強く勧められる。 事前テストは各大会の前週に行われる予定。 事前テストの目的は、相互運用性イベントに参加する企業に、イベントに先立ってソフトウェア、メタデータを交換し、互いにテストする能力を与えることである。 事前テストに参加することを選択した実施者については、事前に連絡先が他の実施者と共有され、適切な情報を共有し、事前テストを実施するために連絡を取り合うことができる。

相互運用性テストイベントを開催するのに十分な数の実装がない場合、イベントは中止され、イベントの10日前に参加希望者に通知される。 これらのイベントは、少なくとも90日に一度、有効なバージョンのスペックに対して開催される。 今後の全イベントのスケジュールは下記を参照されたい。

相互運用性イベント(FIDO2およびFIDO UAF)

FIDO 2024 相互運用性イベントの日程:

  • 2024年3月25日~29日
  • 2024年6月17日~21日
  • 2024年9月16日~20日
  • 12月(日程未定)

オンデマンド・テスト

オンデマンド・テストは、相互運用性イベントに参加する代わりに導入された。 オンデマンド・テストは年間を通じてご利用いただけます。

オンデマンドテストでは、FIDO®認証のリファレンス実装を使用してテストを完了します。 参照実装の数が、試験の最低要件(各実装クラスにおいて、3 つの固有のベンダーによる 3 つの実装)に等しい場合、その実装はオンデマンド試験の対象となります。 ベンダーは、参考実装ライブラリを見ることができます。

認証された実装を持つFIDOメンバーは、寄付フォームに記入することで、FIDOリファレンス実装ライブラリに実装を寄付することができます。

現在、オンデマンド・テストには1つのオプションがあります:

バーチャル

バーチャルオンデマンド認証では、オンデマンド試験を申請するベンダーが、認証事務局に対して、その実装の操作へのアクセスおよび操作の指示を提供することが要求されます。 認証事務局は、オンデマンド相互運用性試験プロセスを促進する。 ベンダー企業の代表者の連絡先を提供し、試験中に質問や問題が生じた場合は、その代表者が試験枠内で対応できるようにしておかなければならない。

バーチャル・オン・デマンド・テストに関心のあるベンダーは、こちらからご登録いただけます。 登録が完了したら、認定マネージャーから連絡があり、オンデマンド・テストの時間を調整します。 試験参加者の機密情報を保護するために、秘密保持契約が必要である。 秘密保持契約書はこちらで入手できる。


試験手順

UAF相互運用性試験手順

上記のポリシーに従い、UAF テストは、認証子/ASM、クライアント、およびサーバーの所定の組み合わせ を繰り返し実施する。 これには、各試験セットについて以下の設定が必要となる:

  • Client+Authrコンボ、またはClientとASM+Authrコンボは、単一のインプリメンテーションにロードされます。
  • サーバーは、対応するポリシーと権限を持つ認証機能のメタデータをインストールする。

規定の組み合わせごとに、進行役の前で以下のテストを行う:

  1. 登録:サーバーに有効な登録を行う。
  2. Authenticate: サーバーと有効な認証を行う。
  3. トランザクション:サーバーとのトランザクションを実行する。 テストは、実行中のトランザクションのテキストまたは画像表示と、トランザクションが成功したことの確認を示さなければならない。
  4. 登録解除:デバイスから登録を解除する。 サーバーとの認証を試み、それが失敗することを確認することによって、登録解除が成功したことを確認する。

各試験の設定に要する時間と、UAFの相互運用性試験における組み合わせの可能性から、各試験イベントは3日間に及ぶことに留意されたい。 必要な再テストを容易にするため、実装者は、その実装がすでに指定されたテストにすべて合格している場合でも、各日に出席することが期待される。 相互運用性テストに必要な日数が少ないと判断された場合は、最低でも7日前、または合理的に可能な限り早く参加者に通知される。

U2F相互運用性テスト手順

上記のポリシーに従い、U2F テストは、認証機関とサーバーの所定の組み合わせを繰り返し実行する。 相互運用性テストは、U2FクライアントとしてChromeブラウザを使用して行われる。 テストはブラウザのネイティブU2F機能で行われ、U2F Chrome Extensionはテストでは許可されません。 このポリシーは、他のU2Fクライアントが利用可能になったときに変更される可能性があります。 オーセンティケータとサーバーの各組み合わせは、ファシリテータに対して以下のテストを実行するよう要 求される:

  1. 登録する:U2F 認証器は、U2F サーバに自身を登録する必要がある。
  2. 認証する:U2F 認証器は、サーバに登録された後、サーバと認証できることを示す必要がある。

仕様書では、ボタンへのタッチ、デバイスの抜き差しなど、これらの各ステップには人間の操作が必要である。 器具の挿入が人間との相互作用の形式として使用される場合、試験ステップが実行されるたびに、器具の再挿入が必要となるはずである。

実施形態はまた、以下の試験ステップを実行してもよい:

  1. ネガティブ登録:サーバに拒否されるべき方法で無効な証明書を登録すること。
  2. ネガティブ認証:有効な登録後、サーバーに拒否される可能性のある方法で、無効な認証情報を使って認証を行う。

実装によっては、無効な証明書や、これらのテストステッ プの実行に必要なその他のメカニズムの実装が困難な場合があるからである。 しかし、これらのオプションのステップを実行するクライアントの場合、サーバーは相互運用性テストに合格する必要がある。

FIDO2相互運用性テスト手順

FIDO2 テストは、オーセンティケータ、ブラウザ、およびサーバーの所定の組み合わせを繰り返し実施する。

これには、各試験セットについて以下の設定が必要となる:

すべてのサーバおよび認証子に必要

  1. 登録する:FIDO2 認証器は、自身を FIDO2 サーバに登録する必要がある。
  2. 認証する:FIDO2 認証器は、サーバに登録された後、サーバと認証できることを示す必要がある。
  3. リセット: 消去して工場出荷時の設定に戻し、再認証する

オプションの認証機能

  1. クライアントPIN: PINベースのユーザー認証を実証する(該当する場合)
    1. 暗証番号の設定
    2. PINで登録
    3. PINによる認証
    4. 暗証番号の変更
    5. 新しいPINで認証する
  2. 常駐鍵: 認証者が常駐鍵を作成できることを示す(該当する場合)
  3. マルチアカウント: 認証局が同一サービスにおいて複数のユーザをサポートできることを示す(該当する場合)。
  4. HMAC拡張

必要なブラウザの相互運用性

  1. サーバー
    1. Firefox 61以降と参照U2Fトークン
    2. エッジ エッジ エッジ エッジ 44.17723.1000.0 とすべての適格な参加認証機関
    3. Chrome 69以降を搭載し、対象となるすべての認証に対応していること
  2. 認証器
    1. USB CTAP2 認証器
      1. エッジエッジ44.17723.1000.0とすべての参加サーバー
      2. すべての参加サーバーでChrome 69以降を使用すること
    2. NFC CTAP2 認証器
      1. エッジエッジ44.17723.1000.0とすべての参加サーバー
    3. BLE CTAP2 認証器
      1. すべての参加サーバーでChrome 69以降を使用すること

レベル 1 認証機関認証は、FIDO 認証の必須要素である。 すべての実装は、FIDO 認証を取得するために、レベル 1 認証子認証の試験手順(セクション 5.4.4) を完了し、合格する必要がある。

仕様書では、ユーザー確認のジェスチャー、デバイスの挿入や取り外しなど、これらの各ステップには人間の操作が必要である。 器具の挿入が人間との相互作用の形式として使用される場合、試験ステップが実行されるたびに、器具の再挿入が必要となるはずである。

レベル 1 認証機関認定試験手順

レベル 1 認証器認定を求める認証器については、表 3 の認証器セキュリティ要件が、適合性自己 検証または相互運用性試験中に検証されなければならない。 詳細については、認証器認定レベルのページをご覧ください。

要件およびベンダ質問票は、Authenticator Security Requirements に定義されている。

認証器セキュリティ要件は、認証器認定のセキュリティ評価ステップにおいて、認定セキュリテ ィ・ラボラトリーによって評価される。

評価方法には、適合性自己検証(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 相互運用性テスト