Webauthn 确保使用FIDO2认证的安全密钥

Webauthn 确保使用FIDO2认证的安全密钥,webauthn,fido,Webauthn,Fido,我们计划为具有敏感数据的IT系统引入FIDO2安全密钥和无密码登录,并希望确保仅使用FIDO2认证的安全密钥。我们如何在注册期间识别此类密钥并拒绝未经认证的密钥?WebAuthn是否提供有关密钥的任何此类信息?有可能吗 我们的目标是防止使用未正确实现的安全密钥,例如,未将私钥存储在安全硬件中或跳过用户验证的密钥。我们希望防止人们意外或故意破坏安全 IT系统具有web用户界面。因此,与FIDO2键的通信将通过HTML/Javascript/WebAuthn进行 我们知道,我们可以购买经认证的安全密

我们计划为具有敏感数据的IT系统引入FIDO2安全密钥和无密码登录,并希望确保仅使用FIDO2认证的安全密钥。我们如何在注册期间识别此类密钥并拒绝未经认证的密钥?WebAuthn是否提供有关密钥的任何此类信息?有可能吗

我们的目标是防止使用未正确实现的安全密钥,例如,未将私钥存储在安全硬件中或跳过用户验证的密钥。我们希望防止人们意外或故意破坏安全

IT系统具有web用户界面。因此,与FIDO2键的通信将通过HTML/Javascript/WebAuthn进行


我们知道,我们可以购买经认证的安全密钥,集中提供,然后分发给用户。然而,这一过程成本高昂且缓慢。因此,我们希望用户可以携带或购买他们自己的FIDO2密钥并自己注册。

有可能:您将使用的WebAuthn库将(可能-您仍然应该检查)返回注册期间使用的认证类型。
“无”
认证意味着您对使用的FIDO2密钥没有任何保证,而其他类型的认证可以为您提供各种保证(使用FIDO1或FIDO2)

例如,您可以仅使用FIDO2元数据服务限制对
认证CA
认证类型的访问。在这种情况下,只有在元数据中注册的FIDO2安全密钥才允许用户注册

另外,一些库返回注册中涉及的验证器元数据,这意味着您实际上可以将授权的安全密钥列入白名单


长话短说:这在技术上是可行的,应该由您的FIDO2/WebAuthn库处理。

非常感谢。非常有趣的指针,我可以深入挖掘。这正是我所寻找的。再次感谢,不客气。一些补充:1)检查要使用的库是否支持FIDO2元数据。我在过去读过,有些人甚至没有2)对于FIDO2认证密钥,您可以有不同的支持认证类型,具有不同的安全模型。例如,
基本认证
意味着所有认证者共享相同的私钥,而
认证CA
意味着所有认证者都拥有自己的私钥。两者都可以由有效的FIDO2认证器发布,您可以检查我编写的WebAuthn库的自述文件,了解可以配置的内容:考虑使用<代码>身份验证选择:{驻留键:“必需”,用户验证:“必需”}<代码>,作为调用<代码>导航器.凭据。创建(…)< /代码>的选项的一部分。参考资料:。抱歉,我认为这些选项都没有帮助。这两个属性都不能保证安全密钥得到认证,也不能保证用户验证得到正确实现。还是我遗漏了什么?不,没有。这就是为什么我的评论是评论而不是回答。这些选项是必需的,但不足以满足您的要求。为了只允许特定的验证器,您需要请求
“认证”:“直接”
,然后检查响应中的
AAGUID
。请注意,FIDO2元数据服务中有一些U2F和UAF验证器(没有任何
AAGUID
)。但不确定这是否意味着他们通过了FIDO2认证