某网站使用 WebAuthn 进行无密码或多因素认证。与把同一个密码输入不同网站相比,WebAuthn 更能抵抗仿冒站点窃取凭证,关键原因是()。
WebAuthn 凭证与依赖方及其站点范围相关,认证器只对匹配上下文中的挑战生成签名,私钥保留在认证器中。仿冒域名通常无法取得真实站点凭证的有效签名。
选项分析
正确。站点范围绑定和挑战签名让凭证难以被仿冒域名转用。
错误。私钥应保留在认证器中,服务器保存的是公钥等注册信息。
错误。WebAuthn 并未取消 TLS 和服务器身份校验。
错误。凭证通常按依赖方隔离,不是所有网站共享一把固定密钥。
本题为什么容易错
“无密码”不自动等于绝对安全。账户恢复、终端解锁、浏览器环境和服务器实现仍可能成为攻击面。
简短答案
WebAuthn 为什么比可重复输入的密码更能抵抗仿冒网站钓鱼,正确答案是 A(认证器使用与站点范围绑定的公钥凭证对挑战签名,私钥不发送给服务器)。WebAuthn 凭证与依赖方及其站点范围相关,认证器只对匹配上下文中的挑战生成签名,私钥保留在认证器中。仿冒域名通常无法取得真实站点凭证的有效签名。
易混淆概念对比表
| 概念 | 本题判断 | 区别要点 | 记忆提示 |
|---|---|---|---|
| 认证器使用与站点范围绑定的公钥凭证对挑战签名,私钥不发送给服务器 | 本题正确答案 | 正确。站点范围绑定和挑战签名让凭证难以被仿冒域名转用。 | 看到题干核心场景时优先联想到它 |
| 浏览器会把用户的私钥明文上传到所有登录页面 | 本题干扰项 | 错误。私钥应保留在认证器中,服务器保存的是公钥等注册信息。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
| WebAuthn 取消了服务器身份校验,因此仿冒站点无法显示页面 | 本题干扰项 | 错误。WebAuthn 并未取消 TLS 和服务器身份校验。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
| 所有网站共同使用一把固定公钥,所以凭证可以互换 | 本题干扰项 | 错误。凭证通常按依赖方隔离,不是所有网站共享一把固定密钥。 | 看到该词不要急着选,先判断是否真正解决题干问题 |
本题易混淆选项怎么区分
- 浏览器会把用户的私钥明文上传到所有登录页面:错误。私钥应保留在认证器中,服务器保存的是公钥等注册信息。
- WebAuthn 取消了服务器身份校验,因此仿冒站点无法显示页面:错误。WebAuthn 并未取消 TLS 和服务器身份校验。
- 所有网站共同使用一把固定公钥,所以凭证可以互换:错误。凭证通常按依赖方隔离,不是所有网站共享一把固定密钥。
知识点详解
WebAuthn 由浏览器或平台调用认证器,注册时为依赖方创建公钥凭证,认证时对服务器随机挑战及相关上下文签名。服务器验证签名、挑战、依赖方和 Origin 等信息。私钥不需要发送给服务器,凭证也不应在无关站点间复用。它能显著降低传统凭证钓鱼风险,但仍需安全的账户恢复、设备管理、TLS 和服务端校验。
备考速记
密码靠记住一段秘密,WebAuthn 靠真站点上下文里的私钥签名。
WebAuthn 在抗钓鱼场景中的作用
WebAuthn在本题中的核心价值,是解决“某网站使用 WebAuthn 进行无密码或多因素认证。与把同一个密码输入不同网站相比,WebAuthn 更能抵抗仿冒站点窃取凭证,关键原因是()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。
同类题怎么考
- 判断哪种机制更具抗钓鱼能力。
- 区分密码、OTP、客户端证书和 WebAuthn 的凭证保存方式。
WebAuthn 在信息安全工程师软考中的考法
软考选择题通常不会只考概念定义,还会把WebAuthn放到抗钓鱼场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。
解题思路
密码像一段能被人抄走的答案,用户在假网站输入后,攻击者可以拿去真网站重放。WebAuthn 的私钥不会交给网页,认证器只针对当前依赖方的挑战和上下文签名。假域名即使界面做得一模一样,也拿不到真域名对应的有效签名。这就是它比共享秘密更抗传统钓鱼的核心。
考点定位
抗钓鱼的重点不是“没有密码”四个字,而是凭证不在不同站点间重复使用,并由客户端校验依赖方范围。
易错提醒
- 把认证器私钥设计成可导出并上传给业务服务器。
- 依赖方 ID、Origin 或挑战校验不严格。
- 只强化登录,却保留一个极弱的短信或人工找回流程。
备考提示
- 画注册和认证两条流程,标出公钥、私钥和挑战分别在哪里。
- 把 WebAuthn 与一次性验证码对比:后者仍可能被实时钓鱼转发。
你可能还想了解
- WebAuthn 私钥保存在哪里?
- WebAuthn 和短信验证码哪个更抗钓鱼?
- 使用 WebAuthn 后还需要 TLS 吗?
本文小结
WebAuthn使用与依赖方范围绑定的公钥凭证,认证器对挑战签名且不向服务器发送私钥。仿冒域名难以获得真实站点凭证的有效签名,因此更抗传统钓鱼。