2

这些天我在学习FIDO2。有三个问题。

  1. 在注册过程中,扩展字段是什么?
  • 用途、用途
  1. 什么是用户验证?我认为用户验证是本地验证。例如,移动设备上的指纹。为什么我需要设置这个(必需,首选,劝阻)??还有什么是认证便利偏好?
  2. 我了解 CTAP 是外部身份验证器和浏览器之间的协议。如何将数据从身份验证器发送到浏览器?
4

1 回答 1

1
  1. 扩展是非强制性的、弱处理的功能。缺少它们不会影响实际的 FIDO 协议,而存在只会增强。扩展字段包含请求扩展的映射。例如,依赖方可能希望使用身份验证器存储一些数据(您可以在 CTAP2.1 中执行此操作)。然后 RP 将 extensions.credBlob 设置为所需的值。该平台会将扩展转发到将处理它并使用凭证存储数据的设备。

  2. FIDO 设备可能具有 UV 功能(生物识别、pin 等)或仅具有第二因素(传统 U2F 设备或仅 TUP FIDO2 设备)。

在这个情况下:

  • 如果设备无法验证用户,“必需”将导致命令失败。

  • “Prefer”会在可用时要求 UV,但仍允许非 uv 设备。

  • “劝阻”会要求 UV 设备跳过用户验证,从而简化用户体验。

  1. CTAP 协议(​​CTAP1 是原始消息 U2F,CTAP2 是基于 FIDO2 CBOR 的协议)是基于 HID/NFC/BLE 的协议。如果你想玩,我建议看一下虚拟 HID 仿真,像这样在这个项目中完成:https ://github.com/concise/v2f-nodejs-linux
于 2021-11-08T19:12:13.457 回答