我正在尝试扩展我的应用程序以支持 WebAuthn 登录。到目前为止,我已经在本地服务器上成功设置了一个测试应用程序(使用这个https://github.com/lbuchs/WebAuthn PHP 实现)。
我想我现在基本上理解了这个过程,但我有一个安全问题:当你使用 WebAuthn 作为唯一的身份验证因素(这应该是可能的)时,用户只输入他想要的用户名并通过指纹或他的指纹提供他的凭据YubiKey什么的。在此图中(https://developers.yubico.com/WebAuthn/Libraries/Using_a_library.html),据说服务器返回了与用户名关联的 credentialIds 列表。然后,身份验证者回答它拥有私钥的质询。
我的问题是:如果攻击者想找出存在哪些用户名,他可以尝试提供不同的用户名并测试服务器是否返回任何 credentialIds。这不是安全问题吗?通常攻击者不应该从失败的登录尝试中获得任何信息。