互操作性测试是认证过程的一个必要步骤。
认证支持以下类型的互操作性测试:
互操作性测试活动
互操作性测试活动是一个论坛,让实施者聚集在一起,验证他们的实施是否相互兼容。 这也是服务器和验证器产品认证的一项功能要求。
所有测试都是远程完成的。 在测试环境下,完成验证器测试的参与者应准备好设置网络摄像头查看和屏幕共享功能,以便在执行互操作性步骤(包括在所有设备上执行的所有操作)时可以进行视觉验证。
每个实施者都将与其他实施者一起测试自己的实施情况。 例如,FIDO2 服务器将使用活动中出现的所有 FIDO2 验证器进行测试;同样,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® 认证的参考实施来完成测试。 如果参考实施的数量等于测试的最低要求(每个实施类别中来自三个不同供应商的三个实施),则该实施有资格进行按需测试。 供应商可查看参考实施库。
拥有认证实施方案的FIDO成员可以填写捐赠表,将其实施方案捐赠给FIDO参考实施方案库。
目前有一种按需测试可供选择:
虚拟按需认证要求提交按需测试的供应商向认证秘书处提供其实施操作的访问权限和说明。 认证秘书处将推动按需互操作性测试过程。 必须提供供应商公司代表的联系信息,如果在测试过程中出现任何问题,该代表必须能在测试时段内出现。
对虚拟按需测试感兴趣的供应商可在此注册。 注册完成后,认证经理将与您联系,协调按需测试的时间。 需要签订保密协议,以保护测试参与者的机密信息。 保密协议可在此处获取。
测试程序
UAF 互操作性测试程序
根据上述政策,UAF 测试将通过认证器/ASM、客户端和服务器的规定组合进行反复测试。 这需要为每组测试进行以下配置:
- 客户端+Authr 组合,或客户端和 ASM+Authr 组合将加载到单个执行中
- 服务器将为身份验证器安装元数据以及相应的策略和权限
对于每种规定的组合,都要在主持人面前进行以下测试:
- 注册:与服务器进行有效注册。
- 验证: 与服务器进行有效验证。
- 交易:与服务器执行交易。 测试必须显示正在进行的交易的文字或图像指示,并确认交易成功。
- 取消注册:从设备中删除注册。 尝试与服务器进行身份验证并确认失败后,确认取消注册成功。
请注意,由于每次测试的配置需要时间,以及 UAF 互操作性测试的潜在组合数量,每次测试活动将持续三天。 希望实施者每天都能参加,即使他们的实施方案已经通过了所有指定测试,以便于进行必要的重新测试。 如果确定互操作性测试所需的测试天数减少,将至少在活动前 7 天或在合理的时间内尽快通知参与者。
U2F 互操作性测试程序
根据上述政策,U2F 测试将通过认证程序和服务器的规定组合进行反复测试。 互操作性测试使用 Chrome 浏览器作为 U2F 客户端执行。 测试使用浏览器的本地 U2F 功能进行,不允许在测试中使用 U2F Chrome 扩展。 当其他 U2F 客户端可用时,该政策可能会发生变化。 验证器和服务器的每种组合都需要对主持人进行以下测试:
- 注册:U2F验证器需要向 U2F 服务器注册。
- 验证:U2F注册器在服务器注册后,需要证明它能与服务器进行身份验证。
根据规范,这些步骤中的每一步都需要人与人之间的互动,例如触摸按钮、插入或移除设备等。 如果将插入设备作为人机交互的形式,则每次执行测试步骤时都应要求重新插入设备。
实施方案还可执行以下测试步骤:
- 负注册:使用无效证书注册,注册方式应被服务器拒绝。
- 负认证:在有效注册后,使用可能被服务器拒绝的无效凭据进行身份认证。
这些可选步骤可由客户端选择实施,因为有些实施可能难以实施无效证书或执行这些测试步骤所需的其他机制。 不过,对于执行这些可选步骤的客户端,服务器必须通过互操作性测试。
FIDO2 互操作性测试程序
FIDO2 测试将通过认证器、浏览器和服务器的规定组合进行反复测试。
这需要为每组测试进行以下配置:
所有服务器和验证器都需要
- 注册:FIDO2验证器需要向 FIDO2 服务器注册。
- 验证:FIDO2验证器在服务器注册后,需要证明它能与服务器进行身份认证。
- 重置: 清除并恢复出厂设置,重新进行身份认证
可选的验证器功能
- 客户端 PIN 码: 演示基于 PIN 码的用户验证(如适用)
- 设置PIN码
- 使用PIN码注册
- 使用PIN码验证
- 更改PIN码
- 使用新 PIN 码验证
- 常驻密钥: 证明验证器可以创建常驻密钥(如适用)
- 多账户: 证明验证器可在同一服务中支持多个用户(如适用)
- HMAC 扩展
所需的浏览器互操作性
-
服务器
- 带有参考 U2F 令牌的 Firefox 61 或更高版本
- Edge Edge Edge 44.17723.1000.0 以及所有符合条件的参与验证程序
- Chrome69 或更高版本,支持所有符合条件的参与验证器
- 认证器 :
-
USB CTAP2 验证器
- 所有参与服务器的Edge Edge Edge44.17723.1000.0
- Chrome 69 或更高版本,支持所有参与服务器
-
NFC CTAP2 验证器
- 所有参与服务器的Edge Edge Edge44.17723.1000.0
-
BLE CTAP2 验证器
- Chrome 69 或更高版本,支持所有参与服务器
-
USB CTAP2 验证器
1 级验证器认证是 FIDO 认证的必要组成部分。 所有实施都必须完成并通过第 1 级验证器认证的测试程序(第 5.4.4 节),才能获得 FIDO 认证。
根据规范,这些步骤中的每一步都需要人机交互,如用户验证手势、插入或移除设备等。 如果将插入设备作为人机交互的形式,则每次执行测试步骤时都应要求重新插入设备。
1 级验证器认证测试程序
对于申请 1 级认证的认证者,必须在一致性自我验证或互操作性测试期间验证表 3 中的以下验证器安全要求。 如需了解更多信息,请访问Authenticator 认证级别页面。
《认证程序安全要求》中定义了要求和供应商问卷。
注: 完成 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 | 互操作性测试 |