FIDO2Server認定へのみちのり

1 はじめに

WebアプリケーションにおけるID認証は、今後、パスワードレス化が急速に進むと予測されます。その中で大きな役割を果たすのが、WebAuthn※1と呼ばれる認証方法です。また、Passkeys※3という新たな認証器の仕組みが加わり、スマートフォンなどのデバイスがあれば、誰でも、お手軽にパスワードレス認証が、利用可能となります。
WebAuthnを、商用目的などで、安全に運用するためには、FIDOAllianceが規定する、FIDO2Serverあるいは、FIDO Universal Serverと呼ばれる仕様に基づき、実装されている事が推奨されています。実装の評価は、FIDO Allianceが試験を行い、認定します。
我々、DAuthでは、WebAuthnをいち早く取り入れました。FIDOの公式認定を取得することで、規定水準の認証機能を保証し、安全性をアピールする事ができます。本編は、FIDO2Serverの認定を取得する時のポイントや、試験の流れについて解説します。

WebAuthn※1
2019年3月4日 Web技術の標準化団体である「W3C」が、FIDO※2 Allianceから支援を受け、Webサービスにおけるオンライン認証のパスワードレス認証に関する仕様を勧告しました。認証方法にはFIDO2認証が採用されています。


FIDO※2
FIDOは(Fast IDentity Online)の略で、従来のパスワード認証に変わる安全性とユーザーの利便性を両立すべく、FIDOAllianceという団体によって規格化された標準の認証規格です。


Passkeys※3
2022年3月、FIDO Allianceが、”multi-device FIDO credentials”(またはpasskey)と呼ばれる情報を公開しました。FIDO Allianceで、Google、Microsoft、Appleが共同発表した情報で、FIDOの資格情報(ログイン資格)をさまざまなデバイスで復元、再利用できる仕組みをまとめた技術情報です。

2 FIDO2Server認定

FIDO2Serverは、FIDO Allianceが仕様を策定しています。FIDOの規定に順ずることにより、以下の機能が保証されます。

  • 様々なFIDO認証器が、認証・登録で正常に動作することが保証されます。
  • FIDO Allianceが管理する、認証器のメタ情報に基づき、新規にFIDO認定を受けたFIDO認証器の利用許可や、リリース後、問題が見つかった認証器を、認可対象から排除する事ができます。

FIDO2Serverを構築する場合は、登録・認証動作と、メタ情報処理が正しく動作する事がポイントになります。これらの挙動が、FIDOAllianceが定める仕様や機能を満たしていれば、認定試験を受けることができます。FIDO Allianceでは、年に4回、「相互運用イベント」と呼ばれ、 相互運用性試験が開催されます。
相互運用性試験に合格の際は、FIDO規格の公式認定証を取得することができます。合格後、FIDO2Severのロゴの使用が許可され、製品紹介やウェブサイトに掲載することができます。

FIDO2Server認証ロゴ

3 FIDO2Serverの実装ポイント

FIDO2Serverの認定を受けるには、相互運用性試験を受ける必要があります。相互運用性試験を受けるためには、以下、2点が正しく実装されている必要があります。

1.FIDO Allianceの規定に合わせて、APIを提供します。
相互運用性試験を受ける前に、自己評価ツールで動作をチェックする必要があります。自己評価ツールは、認証器の登録、認証で必要なWebAPIを呼び出します。実装が必要なAPI仕様は、次のURLを参照ください。
URL : https://github.com/fido-alliance/conformance-test-tools-resources/blob/fido2-doc-update/docs/FIDO2/Server/Conformance-Test-API.md#fido2-conformance-testing-server-api
自己評価ツールは、FIDO2Serverが必要な試験を全て行い、レポートを作成します。相互運用性試験を受けるためには、自己評価ツールで合格する必要があります。全体の試験工程で最も重要なフェーズです。また、自己評価ツールで合格した場合は、相互運用性試験では、ほとんど問題が出ないと言われています。

こぼればなし:
2020年12月の相互運用性試験を受けるために、3月ぐらいから準備していたのですが、9月ぐらいまで、自己評価ツールによるセルフチェックは、順調でした。11月の中旬に、最新バージョンの自己評価ツールで、最終確認を行ったところ、不合格になってしまいました。原因は、利用していた、コアライブラリのメタ情報処理に不具合があり、一部のメタ情報が取り込めなかったのが原因でした。当時、かなり焦ってデバッグした記憶があります。

2.FIDO Allianceの規定に合わせて、テスト用のUIを準備します。
相互運用性試験では、参加ベンダーの認証器と連携して試験を行います。FIDO2Serverでは、各ベンダーの参加者や試験官が、共通的に試験を進められるように、fido2-interop-webappページを実装する必要があります。
相互運用性試験では、FIDO Allianceの試験官に、このページのエンドポイントを伝える必要があります。
fido2-interop-webappページは、以下のURLよりダウンロードして実装します。
URL : https://github.com/fido-alliance/fido2-interop-webapp

実装イメージ:

※ソースコードを大きく変えると、合格できない可能性があるので、修正許可のある、社名、FIDO2ServerのURL以外は、修正しないように注意してください。

4 FIDO2Server認定の流れ

FIDO2Serverの認定を受けるには、下記のような流れになります。

FIDO Alliance「機能認定の概要」より

1.FIDO AllianceのHPにアクセスし、認定試験の登録ページにアクセスして、参加手続きを行います。
URL : https://fidoalliance.org/certification/interoperability-testing/interop-registration/
この時、同ページ内にある「 Interop NDA」のリンクよりダウンロードしたNDAに必要事項を記載し、登録する必要があります。

2.登録が完了すると、試験担当からのメールが届きます。自己評価ツールを利用登録を行い、ダウンロードします。参加するイベントの開催日の2週間前には、自己評価ツールによる試験を完了しておく必要があります。
URL : https://fidoalliance.org/test-tool-access-request/
このツールは、全ての試験が正常に完了すると、合格結果をFIDO Allianceに提出することができます。

 ※自己評価ツールに合格すると、相互運用イベントに参加できます。

3.相互運用イベント開催までに、FIDO Alliance試験担当より、試験用のページのエンドポイントを教えたり、今回試験を受ける担当デバイスのメタ情報を受け取り、システムにセットアップして相互運用試験の準備をします。

4.相互運用イベントでは、FIDO Alliance試験担当の方が、相互運用試験の認証器とサーバーを組み合わせて、試験を行います。サーバー担当ベンダーは、FIDO Allianceより送られてきた、試験対象となる認証器のメタ情報を自システムに登録します。相互運用試験中は、ログを確認して、動作に問題がないか確認します。

 ※別グループの試験がうまくいかない場合、突発的に、認証器の試験をお願いされる事があります。都度、対象認証器のメタ情報を設定して、試験官に試験をお願いする流れとなります。

5.試験結果の発表は、相互運用試験の翌週に、FIDO Allianceの試験担当より、メールにて試験結果が通達されます。認定登録を行う場合は、会社名と登録名を返信して、登録依頼を行います。認定料は下記となります。
FIDO Alliance入金確認後、認定証明書が発行されます。

アライアンスメンバー非アライアンスメンバー
認定費用$500 USD$750 USD

5 相互運用イベントの雰囲気

今まで、日本で開催された相互運用試験では、協賛する会社より、試験会場を提供していただき、試験を受けるベンダーや、FIDOAllianceの試験担当が集合して、開催されていたようです。試験期間中は、現場に待機して、試験を見守ります。
現在、コロナ禍の影響もあり、主流は、オンデマンドによる開催が主流のようです。我々が取得したときもオンデマンド形式でした。FIDO Allianceの試験担当とのやり取りは、全てeメールにて行われました。
我々が受けた2020年12月のイベントでは、日本時間に考慮頂いていたと聞いておりましたが、試験官がUSAの方々が多かったということもあり、試験のピークは、17:00 ~ 翌3:00だった記憶があります。
また、ログレベルを変更し、記録情報を調整をしておくと、試験の進行状況がある程度、把握できます。そのような事前準備をしておくと、スムーズに試験を受けることができます。

6 おわり

ここまで、ご覧いただきありがとうございました。
FIDO2Serverの相互運用イベントを通じて、FIDO Allianceの皆さんや、世界中のベンダーが、パスワードレス認証に、情熱を注いでいることを、肌で感じる事ができました。
FIDO2Server認定の取得をお考えの皆様、相互運用イベントは、決して難しいものではないので、是非チャレンジしてみては如何でしょうか。そして、WebAuthn(FIDO2認証)で、パスワードレスな世界を、一緒に広げましょう。

このコラムにコメントする

コメントは承認制とさせていただいているため、反映まで少しお時間をいただきます。あらかじめご了承ください。

コラム一覧

お見積り・導入に関する
ご質問・サービスの詳細など
ご不明な点は
お気軽にお問い合わせください