相互運用性テスト
相互運用性テストは、認定プロセスの必須ステップです。
次の相互運用性テストが、認定プロセスとして認められています。:
相互運用性テストイベント
相互運用性テストイベントは、FIDOの実装者が集まって、実装に相互運用性があることを確認するためのフォーラムです。つまり、各FIDOの実装者が他のFIDOの実装者の実装とともに自身の実装をテストする場です。例えば、FIDO UAFクライアントは、UAF相互運用性イベントに同席しているすべてのUAFサーバーとすべてのUAF認証器とともにテストを行います。同様に、FIDO U2Fサーバーは、U2F相互運用性イベントに出席しているすべてのU2F認証器と一緒にテストする必要があります。参加者の各組み合わせについて、下記の対応するUAFとU2Fテスト手順が実施されます。イベントにおける他の実装とともにテスト手順に合格できたということが示されている、あるいは不合格であったテスト手順がFIDO仕様への非準拠によるものではないことを証明できる実装は相互運用性テストに合格とみなされ、認定が授与されます。
相互運用性イベントは最低でも90日ごとに開催され、スケジュールは下記のようになっています。相互運用性イベントに登録する前に、実装は適合性の自己評価テストに合格する必要があり、また、相互運用性イベントの前に実装を変更してはなりません。参加者はイベント開催の遅くとも14日前までに登録する必要があります。全テスト参加者の機密情報を保護するために秘密保持契約が必要となります。秘密保持契約はここからアクセスできます。
相互運用性テストイベントを開催するほど参加者が集まらない場合、イベントはキャンセルとなり、イベント開催の12日前までには参加者に通知されます。
相互運用性イベント登録中のオプションの1つとして、FIDOの実装者は事前テストに参加するかどうかを選択することができます。事前テストの目的は、相互運用性イベントに参加予定の会社がソフトウェア、メタデータを交換し、イベント開催前に相互にテストを行えるようにすることです。事前テストへの参加を決めたFIDOの実装者については、その連絡先情報がイベントに参加する他のFIDOの実装者とイベント開催前に共有され、適切な情報を共有して事前テストを実施するためのやり取りができます。
FIDOの実装者は、意志の疎通と問題解決のため、相互運用性イベントに実際に出席することが推奨されます。相互運用性イベントが遠隔地で出席できない参加者については、リモートアクセスが提供されます。ただし、相互運用性イベント中のコミュニケーションはかなり難しくなるため推奨はされません。リモート参加者は、相互運用ステップを実施する際に視覚的に確認できるよう、ウェブカメラと画面共有機能を設定しておく必要があります。
相互運用性イベントは仕様の有効なバージョンのために開催されますが、これには有効期限日に達していないすべてのバージョンが含まれます。現在サポートされている認定バージョンの一覧表を参照してください。
UAF インターオペラビリティ イベント
2019年のイベント:正確な開催場所の情報は、確定次第追って告知されます。
May 13-15, 2019, Seoul, S. Korea (Location: Bundang-ro 47, Bundang-gu, Seongnam-city, Gyeoggi-do, 13591, Korea )

September 9-11, 2019, Europe (Location: TBD)
November 11-13, 2019, Tokyo, Japan (Location: TBD)
U2F インターオペラビリティ イベント
2019年のイベント:正確な開催場所の情報は、確定次第追って告知されます。
May 13-15, 2019, Seoul, S. Korea (Location: Bundang-ro 47, Bundang-gu, Seongnam-city, Gyeoggi-do, 13591, Korea )

September 9-11, 2019, Europe (Location: TBD)
November 11-13, 2019, Tokyo, Japan (Location: TBD)
FIDO2 インターオペラビリティ イベント
2019年のイベント:正確な開催場所の情報は、確定次第追って告知されます。
May 13-15, 2019, Seoul, S. Korea (Location: Bundang-ro 47, Bundang-gu, Seongnam-city, Gyeoggi-do, 13591, Korea )

September 9-11, 2019, Europe (Location: TBD)
November 11-13, 2019, Tokyo, Japan (Location: TBD)
オンデマンドテスト
オンデマンドテストは、相互運用性イベント参加の代替案として導入されました。オンデマンドテストは一年中実施できます。
オンデマンドテストはFIDO®認定リファレンス実装を使って実施します。リファレンス実装件数がテストの最小要件と等しい場合、実装はオンデマンドテストに適格となります(各実装クラスで3社の固有ベンダーから3件の実装)。リファレンス実装ライブラリはこちらを参照してください。
実装が認定されたFIDOメンバーは、寄付フォームに必要事項を入力することにより、FIDOリファレンス実装ライブラリに実装を寄付できます。
オンデマンドテストには、3つの異なったオプションがあります。
バーチャル認定は、認定事務局が実装にアクセスして操作指示を出せる仕組みを、オンデマンドテストを申請するベンダーが提供する必要があります。認定事務局がオンデマンド相互運用性テストプロセスを進行させます。ベンダー会社は担当者の連絡先情報を提供し、テスト中に質問や問題があった場合に備えて担当者はテスト時間中には待機しておく必要があります。 バーチャルテストに関心のあるベンダーは、オンデマンド登録カレンダーを使ってテストのスケジュールを立てることができます。
バーチャルテストに関心のあるベンダーは、オンデマンド登録カレンダーを使ってテストのスケジュールを立てることができます。
郵送オンデマンド認定は、オンデマンドテストを提出するベンダーが実装および操作説明書を認定事務局の米国私書箱に郵送する必要があります。認定事務局がオンデマンド相互運用性テストプロセスを進行させます。会社の担当者はテスト中に質問や問題があった場合に備えて待機しておく必要があります。完了したら会社に結果が通知されます。完了した時点で、認定事務局が実装を会社に返送します。
バーチャルテストに関心のあるベンダーは、オンデマンド登録カレンダーを使ってテストのスケジュールを立てることができます。
対面オンデマンドテストの場合、会社の担当者がテスト中に同席する必要があります。対面テストに申し込むためには、オンデマンドテストを提出するベンダーが各実装について対面テストリクエストに必要事項を入力する必要があります。受領した申し込みは認定事務局がケースバイケースで評価します。対面テストの場合、1件の実装につき10,000米ドルの追加費用がかかり、対面テストに関連する交通費や経費は申し込みをした会社負担となります。 < 認定事務局はベンダーが希望するテスト場所に移動します。対面認定リクエストが承認されると、ベンダーは最高3回のテストセッションを行うことができますが、1回に最大3日間、合計9日間の所要日数を確保する必要があります。実装がすべての認定要件に合格すれば、対面テストが3回未満のセッションで終わることもあります。
テスト手順
UAF相互運用性テスト手順
上記のポリシーに従って、UAFテストが認証器/ASM、クライアントとサーバーの指定された組み合わせで繰り返し行われます。この処理には、一連の各テストに対して次の構成が必要です:
- クライアント、認証器とサーバーの依拠当事者アプリケーション (RPアプリ) が1つの実装にロードされます。
- サーバーは、対応するポリシーおよび許可とともに認証器のメタデータをインストールします。
指定された各組み合わせについて、進行担当者の前で次のテストが実行されます:
- 登録: サーバーに有効な登録を行います。
- 認証:サーバーに有効な認証を行います。
- トランザクション:サーバーにトランザクションを実行します。テストは、実行中のトランザクションのテキストまたは画像インジケータおよびトランザクションが成功したという確認を提示する必要があります。
- 登録解除: デバイスから登録を解除します。サーバーの認証を試行し、それが失敗することを確認することにより、登録解除に成功したことを確認します。
各テストの構成に必要な時間、さらにはUAF相互運用性テストの考えられる組み合わせの数のため、各テストイベントは3日間かかります。FIDOの実装者は、実装がすべての指定テストに合格していた場合でも、必要な再テストに備えるために毎日同席することが求められます。相互運用性テストにかかる日数がそれ未満であると判断された場合、参加者にはイベントの少なくとも7日前、あるいは合理的にできるだけ早い段階で通知されます。
U2F相互運用性テスト手順
上記のポリシーに従って、U2Fテストが認証器とサーバーの指定された組み合わせで繰り返し行われます。相互運用性テストは、U2FクライアントとしてChromeブラウザで実施されます。テストはブラウザのネイティブU2F機能を用いて行われ、テスト中にU2F Chrome拡張機能の使用は許可されていません。他のU2Fクライアントが利用可能になった時点でこのポリシーが変更される可能性があります。進行担当者が次のテストを実行するには、認証器とサーバーの各組み合わせが必要となります:
- 登録:U2F認証器がU2Fサーバーにそれ自体を登録することが必要です。
- 認証:U2F認証器がサーバーに登録された後、サーバーで認証できることを示す必要があります。
仕様に従って、これらの各ステップにそれぞれボタンのタッチ、デバイスの挿入や取り出しなど人間の操作が求められます。デバイスの挿入が人間の操作として使用されている場合、テストステップを実行するたびに再挿入が必要となります。
実装でも次のテストステップを実行する場合があります:
- 登録(異常系):サーバーに拒否されるよう、無効な証明書を使って登録します。
- 認証(異常系):正常登録の後、サーバーに拒否されるよう、無効な認証リクエストを使って認証します。
これらのステップをクライアントが実行することは任意ですが、これは実装によっては無効な証明書あるいはこれらのテストステップに必要なメカニズムを実装するのが困難なためです。ただし、これらの任意ステップを実行するクライアントの場合、サーバーが相互運用性テストに合格する必要があります。
FIDO2相互運用性テスト手順
FIDO2テストでは、認証器、ブラウザー、およびサーバーの規定された組み合わせを繰り返すことになります。
この処理には、一連の各テストに対して次の構成が必要です:
Required for all Servers and Authenticators
- Register: The FIDO2 Authenticator will be required to register itself with the FIDO2 Server.
- Authenticate: The FIDO2 Authenticator, after being registered with the server, will be required to demonstrate that it can authenticate with the server.
- Reset: erase and revert back to factory settings and reauthenticate
Optional Authenticator Functionality
-
Client PIN: demonstrate PIN-based user verification (if applicable)
- Set PIN
- Register with PIN
- Authenticate with PIN
- Change PIN
- Authenticate with new PIN
- Resident Key: demonstrate that authenticator can create a resident key (if applicable)
- Multi-Account: demonstrate that the authenticator can support multiple users at the same service (if applicable)
- HMAC extension
Required Browser Interoperability
-
Servers
- Firefox 61 or later with a reference U2F token
- Edge Edge 47.47692.1000.0 with all eligible participating authenticators
- Chrome 69 or later with all eligible participating authenticators
-
Authenticators:
-
USB CTAP2 Authenticators
- Edge Edge 47.47692.1000.0 with all participating servers
- Chrome 69 or later with all participating servers
-
NFC CTAP2 Authenticators
- Edge Edge 47.47692.1000.0 with all participating servers
-
BLE CTAP2 Authenticators
- Chrome 69 or later with all participating servers
-
USB CTAP2 Authenticators
レベル1認証器認定は、FIDO認定に必須のコンポーネントです。すべての実装は、FIDO認定を取得するために、レベル1認証器認定(5.4.4節)のテスト手順を完了し、合格しなければなりません。
仕様に従って、これらの各ステップにそれぞれボタンのタッチ、デバイスの挿入や取り出しなど人間の操作が求められます。デバイスの挿入が人間の操作として使用されている場合、テストステップを実行するたびに再挿入が必要となります。
レベル1認証器の相互運用性テスト手順
レベル1認証器の認定を希望する認証器の場合、適合性の自己評価テストまたは相互運用性テスト中に下記の表3にある認証器セキュリティ要件を検証する必要があります。詳細については、認証器認定レベルページを参照してください。 要件およびベンダーアンケートは認証器セキュリティ要件で定義されています。
要件およびベンダーアンケートは認証器セキュリティ要件で定義されています。
注記: L2以上を修了する認証器は、適合性の自己評価テストまたは相互運用性テスト中に要件を示す必要はなく、認証器セキュリティ要件は認証器認定のセキュリティ評価ステップで認可済みのセキュリティ研究所によって評価されます。 評価方法には、適合性の自己評価テストおよび相互運用性テストが含まれます:
評価方法には、適合性の自己評価テストおよび相互運用性テストが含まれます:
- 適合性の自己評価テストでは、登録またはテスト中に要件が自動的に検証されます。
- 相互運用性テストでは、相互運用性テスト中にベンダーがテスト監督官に認証器が要件を満たしていることを示す必要があります。
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 | 相互運用性テスト |