FIDO2/WebAuthn无用户名认证等相关技术问题问询
针对WebAuthn/FIDO2相关问题的疑问
回复@cody salas
基于您清晰详尽的拆解,我有以下疑问:
需用户名场景:
该场景已明确,RP提示用户输入用户名/其他标识,然后向认证器提供一个包含所有可用凭证的数组,此流程清晰可行!
无用户名场景:
烦请您详细说明您提到的“细节”。返回的凭证会应用哪些筛选条件?例如:
- 全局范围 === Windows Hello 用户
- Google 登录凭证
- 其他应用登录凭证
我的Windows Hello身份无法与Yubikey配合使用,无法测试:-(
共享账户场景:
抛开披头士的类比,假设同一用户(比如我们的前总理:-)拥有多个身份:ScoMo-财政部、ScoMo-卫生部、ScoMo-资源部等。此时通配符GET请求会返回什么结果?
UA凭证库查询场景
- Tri-Bank在该设备(我的Windows Hello电脑"Bad Boy")上有一个或多个注册用户。
- RP(子)域无活跃会话或环境用户(本地/会话存储已弃用,所有Cookie均已过期)。
- 我无法理解无用户名登录交互的可能性。
- 我将研究多用户设备上UPVA是否具有确定性,但相关规范不仅非标准,还脱离实际:-(
关于WebAuthn认证流程的疑问
烦请展开说明以下内容:
脚本向客户端请求身份验证断言,提供尽可能多的信息以缩小用户可接受的凭证范围。这些信息可来自注册后本地存储的数据,或通过提示用户输入用户名等其他方式获取。
另外还有以下问题:
- 我们可以参考哪个规范(比如CTAP-10?)来了解当
allowCredentials为空时,GET请求会返回什么内容? - 如果GET请求无法识别单个用户或返回
new Error("non-deterministic"),RP该如何细化用户选择粒度? - 难道没人认为这是关键问题吗?
- 如果我们必须始终先询问用户名,请直接说明**"我们必须先确认用户名!"**
- 否则是否会提示用户:我们已注册Ringo和Paul的账户,请选择登录账户:-(
- 另外我知道Paul没有Ringo的生物特征无法登录其账户,我指的是向Paul泄露Ringo的金融活动是不可接受的,除非是John的账户可能影响不大:-)
FIDO2与OAuth2.0的理念差异及优缺点
烦请解释FIDO2与OAuth2.0在理念上的差异及各自优缺点!
我的理解如下,是否正确?
- OAuth2.0:是否继续以dicky@gmail.com身份登录?确认即可!无需密码、生物识别、PIN等,已预认证且受信任。
- FIDO2:我有一个UPVA,可能需要验证您,或者有多个用户的多种认证方式需要您选择。
内容的提问来源于stack exchange,提问作者McMurphy
相关产品推荐
相关产品推荐

