互操作性测试
互操作性测试是认证流程中必须执行的步骤。
认证流程支持如下类型的互操作性测试:
互操作性测试活动
互操作性测试活动可看做专门的论坛,FIDO实现者可通过此论坛收集信息,确认他们的FIDO实现彼此相兼容。这意味着每家FIDO实现者将借助其他实现者的实现方案测试自己的实现方案。例如,FIDO UAF 客户端将借助 UAF 互操作性活动中的所有 UAF 服务器和 UAF 认证器进行测试;同样,FIDO U2F 服务器需要借助 U2F 互操作性活动中的所有 U2F 认证器进行测试。对于每种参与者组合,将会执行下面列出的对应 UAF 和 U2F 测试过程。如果实现方案证明其可以与活动中的其他所有实现方案一起通过测试过程,或者可以证明测试过程失败并不是由于这些实现方案与 FIDO 规范不符,则可以参加互操作性活动,并有资格接受认证。
互操作性活动至少每 90 天举办一次,下面会给出具体时间表。在注册参加互操作性活动之前,实现方案必须通过一致性自测,并且在互操作性活动举办之前不得有所变动。参与者必须至少在活动举办之前 14 天进行注册。参与者需要签订保密协议,借此保护所有测试参与者的机密信息。保密协议请参见此处。
如果举办互操作性测试活动所需的实现方案数量不足,该活动将被取消,并且在活动举办之前的 12 天通知可能的参与者。
作为互操作性活动注册期间的选项之一,我们让实现者选择是否参与预测试。预测试的目的是让参与互操作性活动的公司能够在活动举办之前彼此交流软件、元数据,并互相对实施方案进行测试。对于选择参加预测试的实现者,他们的联系信息将在活动举办之前与其他实现者分享,以便这些实现者彼此交流,分享相关信息以及执行预测试。
我们鼓励实现者亲自前来参加互操作性活动,这样有助于推进互动的展开和问题的解决。对于无法前来参加互操作性活动的参与者,我们将提供远程访问方式;然而,远程参与不是我们首选的方式,因为这会使互操作性活动期间的交流和参与变得更加困难。远程参与者应准备好设置网络摄像头和屏幕分享功能,这样即可在参与者执行互操作性步骤期间执行可视化确认。
我们将针对规范的各个有效版本举办互操作性活动,这包括尚未到达退役日期的所有版本。请参阅最新的支持认证版本表。
UAF 互操作性活动
2017 年 11 月 15 – 16 日
活动举办地: 硅谷 – 具体地点待定
U2F 互操作性活动
2017 年 11 月 16 日
活动举办地: 硅谷 – 具体地点待定
按需测试
作为参加互操作性活动的备选方案,我们引入了按需测试。我们全年提供按需测试。
按需测试使用 FIDO® 认证的参考实现方案完成测试工作。如果参考实现方案的数量符合测试的最低需求(在每个实现类别中存在来自三家不同供应商的三种参考实现方案),则认为该实现方案有资格参加按需测试。供应商可查看参考实施方案库。
具有认证实施方案的 FIDO 成员可填写捐赠表,将他们的实施方案捐赠到 FIDO 参考实施方案库中。
按需测试提供了三种不同选项:
虚拟按需认证要求提交按需测试申请的供应商为认证秘书处提供其实施方案的访问权限、执行说明和相关操作步骤。认证秘书处将协助推进按需互操作性测试流程。供应商必须提供公司代表的联系信息,如果在测试期间发现问题,必须可随时联系到此代表。
有兴趣参加虚拟测试的供应商可使用按需注册日历安排测试日程。
寄送按需认证要求提交按需测试申请的供应商将实施方案以及操作说明寄送到认证秘书处设于美国的邮箱地址。认证秘书处将协助推进按需互操作性测试流程。如果在测试期间发生任何问题,应随时可联系到公司代表。完成测试后,公司将得到结果通知。一旦完成测试,认证秘书处会将实施方案寄回公司。
有兴趣参加寄送测试的供应商可使用按需注册日历安排测试日程。
现场按需测试要求公司代表出现在测试过程现场。为申请现场测试,提交按需测试申请的供应商必须为每个实施方案完整填写线程测试请求书。认证秘书处将以案例为单位对收到的请求书进行评估。现场测试需要为每个实施方案额外支付 10,000 美元,且公司负担与现场测试相关的所有差旅费和开支。
<
认证秘书处将前往供应商的指定地点执行测试。每个经批准的现场认证请求可使供应商有权参加最多三场测试会议,每场会议持续召开最多三天,总计九天时间。如果实施方案满足了所有认证要求,则可在三次会议以内完成现场测试。
测试过程
UAF 互操作性测试过程
遵循上述政策,UAF 测试将遍历所规定的认证器/ASM、客户端和服务器组合。这要求为每组测试实施如下配置:
- 客户端、认证器和服务器的依赖方应用程序 (RP App) 将加载到单个实施方案中
- 服务器将安装认证器的元数据,该元数据包含对应的政策和权限
对于每种规定的组合,将在认证秘书处的前面执行如下测试:
- 注册:执行有效的服务器注册。
- 身份认证: 执行有效的服务器身份认证。
- 事务:执行服务器事务。测试显示文本和图像,指明正在执行事务以及确认事务成功完成。
- 撤销注册:从设备中删除注册信息。尝试执行服务器身份认证并确认该操作失败,借此确保撤销注册操作成功完成。
请注意,由于每个测试的配置需要一定时间,而且 UAF 互操作性测试的组合数可能较多,因此每个测试活动将延续三天。我们期望实施者参加每一天的活动,即使他们的实施方案已通过所有指定的测试也是如此,这样有助于推进任何必要的重新测试。如果确定互操作性测试所需的测试天数较少,我们会在活动举办之前至少 7 天通知参与者,或者在尽可能合理的时间范围内发出通知。
U2F 互操作性测试过程
遵循上述政策,U2F 测试将遍历所规定的认证器和服务器组合。我们将使用 Chrome 浏览器作为 U2F 客户端,执行互操作性测试。我们借助该浏览器的原生 U2F 功能执行测试,且在测试过程中禁用 U2F Chrome 扩展。如有其他可用的 U2F 客户端,该政策可能会有所改动。认证秘书处需要对每种认证器和服务器组合执行如下测试:
- 注册:U2F 认证器需要向 U2F 服务器注册自身。
- 身份验证:完成服务器注册之后,U2F 认证器需要证明其可以通过服务器身份认证。
根据相关规范,上述每个步骤都需要人机互动,例如触摸按钮、插入或移除设备等。如果使用插入设备作为人机互动的形式,则需要在每次执行测试步骤时重新插入设备。
实施方案也可以执行如下测试步骤:
- 否定注册:以应被服务器拒绝的方式注册无效的证书。
- 否定身份认证:实施有效注册之后,以可能被服务器拒绝的方式使用无效凭据进行身份认证。
客户端可选择这些步骤予以实施,这是因为某些实施方案可能很难实施无效的证书或执行这些测试步骤所需的其他机制。然而,对于执行了这些可选步骤的客户端,要求服务器通过互操作性测试。
级别 1 认证器认证测试过程
对于寻求级别 1 认证的认证器,在一致性测试或互操作性测试期间,必须确认如下的表 3 中给出的认证器安全需求。有关更多信息,请访问认证器认证级别页面。
认证器安全需求中定义了相关需求和供应商问卷调查。
注意: 完成 L2+ 认证的认证器不需要在一致性自测或互操作性测试期间证明满足相关需求。认证器安全需求由认证安全实验室在执行认证器认证的安全评估步骤期间进行评估。
采用的评估方法包括一致性自测和互操作性测试:
- 对于一致性自测,在注册或测试期间自动确认这些需求是否得到满足。
- 对于互操作性测试,供应商应在执行互操作性测试期间向测试代理方演示认证器如何满足这些需求。
级别 1 互操作性需求映射
规范 | 需求 | 评估方法 |
UAF | 1.4 | 互操作性测试 |
UAF | 1.9 | 互操作性测试 |
UAF 与 U2F | 3.1 | 互操作性测试 |
U2F | 3.3 | 互操作性测试 |
UAF | 3.4 | 互操作性测试 |
UAF | 3.5 | 互操作性测试 |
UAF 与 U2F | 3.9 | 互操作性测试 |
UAF | 4.4 | 互操作性测试 |
UAF 与 U2F | 6.2 | 互操作性测试 |
UAF 与 U2F | 6.3 | 互操作性测试 |