Authentication U2F FIDO-应用与维护;质询参数

Authentication U2F FIDO-应用与维护;质询参数,authentication,challenge-response,fido-u2f,Authentication,Challenge Response,Fido U2f,当用户想要注册其设备时,依赖方提供以下参数: 挑战, 阿皮德 协议版本 然后,用户通过触摸其设备上发送这些信息的按钮来执行“用户状态测试”: 字典注册表响应{ DOMString注册数据; DOMString客户端数据; }; 依赖方对这些信息做了他必须做的事情,流程就完成了 但我不明白下面的部分。根据U2F协议的规范: 注册请求消息-U2F_寄存器 此消息用于启动U2F令牌注册。FIDO客户端首先联系依赖方以获取质询,然后构造注册请求消息。注册请求消息包括两部分: 质询参数是客户机数据的S

当用户想要注册其设备时,依赖方提供以下参数:

  • 挑战,
  • 阿皮德
  • 协议版本
然后,用户通过触摸其设备上发送这些信息的按钮来执行“用户状态测试”:

字典注册表响应{
DOMString注册数据;
DOMString客户端数据;
};

依赖方对这些信息做了他必须做的事情,流程就完成了

但我不明白下面的部分。根据U2F协议的规范:

注册请求消息-U2F_寄存器 此消息用于启动U2F令牌注册。FIDO客户端首先联系依赖方以获取质询,然后构造注册请求消息。注册请求消息包括两部分: 质询参数是客户机数据的SHA-256散列,这是FIDO客户机准备的字符串化JSON数据结构。除其他外,客户机数据包含来自依赖方的质询(因此参数的名称)。 应用程序参数[32字节]。application参数是请求注册的应用程序的应用程序标识的SHA-256散列。(有关详细信息,请参见参考书目中的[FIDOAppIDAndFacets])

在哪个步骤运行此部件


提前谢谢你

您谈论的是注册,因此将密钥链接到帐户。要注册密钥,请执行以下操作:

  • 用户键入名称/密码并发布到服务器
  • 服务器使用RegisterRequestData(使用服务器端u2f库创建)进行响应
  • 客户端使用库函数u2f.register,该函数向u2f设备发出请求并返回RegisterResponse(带有设备注册信息的json)。这将被发送回服务器
  • 服务器向服务器端u2f库发出应答,并保存设备注册
  • 身份验证/登录与此类似,但服务器向使用u2f.sign并返回DeviceResponse的客户端发送DeviceRegistration+质询

    一个清晰的模式我认为: