WebAuthn 基础

共 17 题
#

1. AuthenticatorAttestationResponse/AssertionResponse/CBOR/COSE 在协议层的工程价值

A 两者返回的数据结构完全相同,仅名字不同
B 前者用于注册(含 attestationObject),后者用于断言(含 signature、authenticatorData) ✓ 正确答案
C 两者都是 JSON 格式,可直接解析
D 断言响应不包含 clientDataJSON
#

2. WebAuthn(navigator.credentials.create/get)

A create 用于登录,get 用于注册
B get 返回的凭证含 attestationObject
C 两者都不需要 challenge
D get 用于登录,create 用于注册,两者都需安全上下文 ✓ 正确答案
#

3. 平台认证器(指纹、Face ID、Windows Hello)

A 平台认证器是外接 USB 安全密钥
B 平台认证器无法做生物识别
C 平台认证器必然跨设备同步
D 平台认证器内置于设备(Windows Hello、Face ID 等),通过安全硬件存储私钥 ✓ 正确答案
#

4. WebAuthn 标准与 FIDO2 的关系

A 两者是同一标准的两个别名
B WebAuthn 是 FIDO2 中面向 Web 前端的标准,FIDO2 还包含 CTAP ✓ 正确答案
C WebAuthn 与 FIDO2 完全无关
D FIDO2 是 W3C 标准,WebAuthn 是 FIDO Alliance 标准
#

5. WebAuthn 的认证流程,注册与断言的挑战-响应?

A 注册与断言都需要服务端生成随机 challenge 并由认证器签名,服务端验证 ✓ 正确答案
B challenge 由前端本地生成即可
C 断言不需要 challenge
D challenge 可被重复使用以提升性能
#

6. navigator.credentials.create() 的 authenticatorSelection(residentKey、userVerification、authenticatorAttachment)在注册流程的配置与用户体验影响?

A userVerification 只对登录有效,注册时无用
B residentKey 设为 required 会强制创建可发现凭证,但可能排除不支持该能力的认证器 ✓ 正确答案
C authenticatorAttachment 只能设为 cross-platform
D 三个字段都设为 required 就能最大化兼容性
#

7. CTAP 2.2 在现代前端项目的工程价值

A CTAP 2.2 是浏览器与认证器之间的协议,新增 largeBlob、hmac-secret 等能力,前端通过 WebAuthn extensions 间接使用 ✓ 正确答案
B CTAP 2.2 与 WebAuthn 完全无关
C 前端直接调用 CTAP 2.2 API
D CTAP 2.2 只支持密码认证
#

8. FIDO2 的 Attestation 在凭证验证的工程价值

A Attestation 是登录时必选项,用于验证密码
B Attestation 与 CBOR 无关
C Attestation 只能在服务器端生成
D Attestation 用于证明凭证由受信任认证器生成,但消费级场景常选择忽略以降低信任库维护成本与隐私风险 ✓ 正确答案
#

9. Passkeys 跨设备同步(iCloud Keychain、Google Password Manager)

A Passkey 同步不需加密
B Passkey 只能在一台设备上使用,无法同步
C 同步由平台负责(iCloud Keychain、Google Password Manager),私钥通常端到端加密并绑定账户 ✓ 正确答案
D 同步 passkey 与硬件安全密钥安全性完全相同
#

10. largeBlob 与 transactionPayments extensions 的工程价值

A 两者都用于密码同步
B 两者都已被浏览器强制禁用
C largeBlob 用于存储大块数据,transactionPayments 用于认证器上确认交易上下文 ✓ 正确答案
D transactionPayments 用于存储密码
#

11. Backup Eligibility 与 State 在多设备的工程价值

A 两者都表示凭证的密码强度
B 两者只在服务器端生成
C 两者表示凭证是否具备被同步备份的能力以及当前是否已被备份 ✓ 正确答案
D 两者与多设备无关
#

12. Authenticator Attachment(platform/cross-platform)的工程价值

A authenticatorAttachment 只有 platform 一种取值
B authenticatorAttachment 在登录后才能确定
C 该字段与用户体验无关
D platform 指设备内建认证器更便捷,cross-platform 指跨设备硬件密钥;前端可用于 UI 分支与安全策略 ✓ 正确答案
#

13. CTAP 2.2 CDA 跨设备认证的现状

A CDA 已完全被所有浏览器统一支持
B CDA 只能在单台设备内完成
C CDA 与 WebAuthn 无关
D CDA 通过另一台设备(如手机)完成认证,常经 Hybrid/QR 传输,但浏览器支持仍不一致 ✓ 正确答案
#

14. Passkey 与平台认证器,跨设备同步的实现?

A 平台认证器私钥永远绑定单设备,无法同步
B Passkey 与平台认证器无关
C 同步不需要任何加密
D 同步依赖平台账户体系与端到端加密,私钥可随账号在设备间恢复 ✓ 正确答案
#

15. WebAuthn 的安全属性,防钓鱼与防重放?

A 防钓鱼依赖用户识别假页面
B 防重放依赖固定密码
C 两者都没有机制保障
D 防钓鱼靠 origin/rpId 绑定,防重放靠一次性随机 challenge 与签名计数器 ✓ 正确答案
#

16. WebAuthn 与 MFA,作为第二因素的集成?

A WebAuthn 只能作为唯一认证方式
B 作为第二因素时无需 challenge
C 可作为第二因素,在密码等验证后调用 credentials.get 做断言,并需设计降级路径 ✓ 正确答案
D 第二因素不支持 allowCredentials
#

17. WebAuthn 的 userHandle(user.id)与多账号,同一 RP 下多凭证的区分、user.displayName 更新与账号迁移的边界?

A userHandle 只用于展示,不影响凭证
B userHandle 用于区分同一 RP 下不同账号,凭证严格绑定 RP 与 userHandle,账号迁移需重新注册或保持 userHandle 稳定 ✓ 正确答案
C displayName 变更会使凭证失效
D 同一 RP 下每个凭证都用同一个 userHandle