我知道fido是用于web应用程序的身份验证。但我的问题是fido是否也适用于本地。net应用程序的身份验证。Fido服务器应该与.net应用程序在同一台计算机上,因为这台计算机不在Internet上。
如果原则上这是可能的,我想知道身份验证是如何工作的。在登录过程中,应用程序是否必须打开web认证API所在的浏览器?或者有一个解决方案,使用WebAuthn API直接从。net应用程序?
提前感谢。
FIDO2的许多用途确实侧重于通过WebAuthn对web应用程序进行身份验证,但对于离线本地应用程序,还有一些其他选项可以考虑。下面是一些您可以利用的架构指南。
我们首选的选项是使用FIDO2 hmac-secret-extension。FIDO2身份验证器可以存储和检索hmac-secret作为其断言的一部分。然后,客户端应用程序将使用该密钥用用户凭据解锁本地保险库。以下是Yubico对扩展的解释。您需要利用FIDO2库来与FIDO2设备通信以存储/检索密钥。下面是Yubico的libfido2库的链接,以及获取HMAC密钥所需的命令示例。下面是如何使用此库加密/解密凭证库的示例。值得注意的是,认证令牌和保险库实现超出了CTAP2规范的范围——您的CTAP/CTAP2身份验证器存储/提供秘密,但不负责之后如何使用秘密。
希望有帮助