为何Web应用仅能通过WebAuthn触发生物识别?技术问询
关于Web应用调用生物识别验证的疑问
我想给我的Web应用添加生物识别功能,目前发现触发设备解锁(生物识别、PIN码等)的唯一方式是通过WebAuthn API调用navigator.credentials.get()。
核心疑问
为何必须使用这套相对复杂的API?是否存在安全或其他层面的考量?
对WebAuthn的顾虑
- WebAuthn为“触发设备解锁验证”这个简单任务设计了过于复杂的流程
- 其基于密钥的方式与密码管理器、安全密钥等私钥管理环节绑定,但现实情况存在诸多局限:
- 并非所有人都使用密码管理器
- 绝大多数用户从未使用过安全密钥
- 密钥同步功能不完善:仅苹果/谷歌生态内支持自动同步,跨平台需创建不同密钥,未来维护成本极高
理想的认证模式
我认为认证的未来方向应该是:可信设备持有 + 生物识别/PIN码验证。
因此我想进一步明确:限制Web应用必须通过复杂的WebAuthn流程来调用设备内置解锁验证,是否存在安全或其他考量?
如果Web应用能有更多选择,像原生应用那样仅触发设备解锁验证并获取结果,无需额外的密钥管理等功能,会是更理想的方案。
我注意到Web Crypto的签名流程中已有类似功能的讨论,但目前距离落地仍较远。
内容的提问来源于stack exchange,提问作者r j
相关产品推荐
相关产品推荐

