在 Google I/O '18 上展示了一个演示,其中用户只需提供指纹即可在 PayPal 进行身份验证(参见YouTube 24:40)。这是在智能手机上运行的浏览器中完成的,该智能手机具有指纹传感器并要求浏览器实现 WebAuthn 标准。指纹解锁用于质询-响应身份验证并存储在身份验证器上的私钥。
据我了解,可以通过将userVerification
参数设置为discouraged
(参见w3.org )来禁用用户交互(即要求指纹)。用户将自动登录。
这个流程是否也可以在没有任何额外硬件的情况下在桌面浏览器上实现?浏览器中是否有可用于此的默认身份验证器?
具体来说,我想这样做:
- 通过 WebAuthn 在桌面浏览器中注册公钥/私钥对,以便无法通过 JavaScript 访问私钥(例如,缓解 XSS 攻击)
- 每次将数据发送到服务器时,通过 WebAuthn API 使用存储在“默认”身份验证器中的私钥对数据进行签名,而无需用户交互