0

在 Google I/O '18 上展示了一个演示,其中用户只需提供指纹即可在 PayPal 进行身份验证(参见YouTube 24:40)。这是在智能手机上运行的浏览器中完成的,该智能手机具有指纹传感器并要求浏览器实现 WebAuthn 标准。指纹解锁用于质询-响应身份验证并存储在身份验证器上的私钥。

据我了解,可以通过将userVerification参数设置为discouraged(参见w3.org )来禁用用户交互(即要求指纹)。用户将自动登录。

这个流程是否也可以在没有任何额外硬件的情况下在桌面浏览器上实现?浏览器中是否有可用于此的默认身份验证器?

具体来说,我想这样做:

  • 通过 WebAuthn 在桌面浏览器中注册公钥/私钥对,以便无法通过 JavaScript 访问私钥(例如,缓解 XSS 攻击)
  • 每次将数据发送到服务器时,通过 WebAuthn API 使用存储在“默认”身份验证器中的私钥对数据进行签名,而无需用户交互
4

1 回答 1

1

这个流程是否也可以在没有任何额外硬件的情况下在桌面浏览器上实现?浏览器中是否有可用于此的默认身份验证器?

Chrome 和可能大多数浏览器都可以生成公钥-私钥对并将其用于身份验证。但是,如果没有像手机那样受到专用硬件的保护,这个密钥的安全性充其量是非常可疑的。

首选的解决方案是使用 USB 令牌,例如 YubiKey。其中大多数确实需要交互,即按下令牌上的按钮,以防止恶意软件在用户不知情的情况下使用它,但您可能能够找到一个不需要的,或者您可能能够找到一个允许您修改其固件并禁用此要求。

于 2018-09-16T22:27:21.740 回答