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

Ensure use of FIDO2 certified security key

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

我们的目标是防止使用未正确实施的安全密钥,例如不将私钥存储在安全硬件中或跳过用户验证的密钥。我们希望防止人们无意或有意地危害安全。

IT 系统有一个网络用户界面。因此与 FIDO2 密钥的通信将通过 HTML / Javascript / WebAuthn.

我们知道我们可以购买经过认证的安全密钥,集中提供它们,然后将它们分发给用户。但是,此过程成本高且速度慢。因此,我们宁愿用户可以自带或购买自己的FIDO2密钥,自己注册。

有可能:您将使用的 WebAuthn 库将(可能 - 您仍然应该检查它)returns 在注册过程中使用了哪种类型的证明。 "none" 证明意味着您无法保证使用的 FIDO2 密钥,而其他类型的证明可以为您提供各种保证(使用 FIDO1 或 FIDO2)。

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

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

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