首页 > 解决方案 > 如何区分 FIDO2 设备

问题描述

我想区分webauthn中的认证设备。

我想知道这是否可能以及如果可能的话我该怎么做。

标签: webauthn

解决方案


不幸的是,没有简单的 WebAuthn API 函数可以调用,“给我可用的身份验证器的名称”。WebAuthn API 的设计目的是让用户难以确定特定品牌和型号的身份验证器,以保护用户隐私

确定身份验证器的品牌和型号的唯一可靠方法是在注册期间请求直接证明,然后与您收集并自己维护的列表交叉引用aaguid您返回的信息,或通过Fido 联盟元数据服务之类的方式。

注意:如果您不请求"direct"证明,您可能会得到一个 obscuredaaguid在此处输入图像描述

特别是对于平台身份验证器,您可以尝试创建“启发式”,基于浏览器屏幕尺寸和用户代理分析等内容,尝试可靠地确定系统级身份验证器(如 Touch ID 或 Windows Hello)是否可用。在用户成功向您的站点注册凭据后,您希望将启发式分析的结果与凭据一起存储,以便稍后在身份验证期间提供 UX 提示(例如,“我们确定用户注册了 Windows Hello 凭据,因此向他们显示 'Enter您的 Hello PIN 以在身份验证期间继续使用 UI。”)


推荐阅读