我们计划为具有敏感数据的IT系统引入FIDO2安全密钥和无密码登录,并希望确保仅使用 FIDO2认证的安全密钥。我们如何在注册过程中识别此类密钥并拒绝未认证的密钥? WebAuthn是否提供有关密钥的任何此类信息?可能吗?
我们的目的是防止使用未正确实施的安全密钥,例如不会将私钥存储在安全硬件中的密钥或跳过用户验证。我们希望防止人们意外或有意破坏安全性。
IT系统具有Web用户界面。因此,通过FIDO2键进行的通信将通过HTML / Javascript / WebAuthn。
我们知道,我们可以购买认证的安全密钥,集中提供它们,然后将其分发给用户。但是,此过程既昂贵又缓慢。因此,我们希望用户可以携带或购买自己的FIDO2密钥并自行注册。
答案 0 :(得分:1)
可能的是:您将使用的WebAuthn库将(可能-您仍应检查它)返回注册期间使用的证明类型。 "none"
证明意味着您无法保证所使用的FIDO2密钥,而其他类型的证明可以为您提供各种保证(使用FIDO1或FIDO2)。
例如,您可以仅使用FIDO2元数据服务来限制对Attestation CA
证明类型的访问。在这种情况下,只有元数据中注册的FIDO2安全密钥将允许用户注册。
此外,某些库返回注册中涉及的身份验证器元数据,这意味着您实际上可以将授权的安全密钥列入白名单。
长话短说:从技术上讲,这是可能的,应该由您的FIDO2 / WebAuthn库处理。