简短答案
复杂密码只能加强同一道门;两步验证会增加另一项证明。密码无论多复杂,都可能因网站泄露、钓鱼、恶意软件、复用或错误日志而被攻击者直接获得。账户若还要求安全密钥、通行密钥、认证器确认或一次性代码,攻击者仅有密码通常仍无法登录。更准确的说法不是“有两步就不需要强密码”,而是:每个账户仍应使用长而唯一的密码,同时为重要账户启用最强可用的第二因素。
复杂密码仍然只有一个因素
身份验证常见因素包括:你知道的东西,例如密码或PIN;你拥有的东西,例如手机、安全密钥或设备中的加密凭据;你本人的特征,例如在设备本地验证的指纹或面容。多因素验证要求来自不同类别的证明。
输入密码后再回答安全问题,虽然有两个步骤,却通常仍是两个“知道的东西”,不一定构成真正的多因素验证。输入密码两次更不增加安全性。反过来,通行密钥可能在一次用户动作中结合设备持有的私钥和本地解锁,因此界面步骤少,却能提供比“密码加短信”更强的抗钓鱼能力。
所以“两步验证”和“多因素验证”在日常产品中经常混用,但安全强度不能只按点击次数计算。要看第二项证明是否独立,能否被钓鱼转发,恢复流程是否绕过它。
为什么复杂密码仍可能直接失效
如果攻击者从零开始猜密码,长度和随机性非常重要。NIST当前指南要求仅作为单因素使用的密码至少15个字符,并要求服务商阻止常见、可预测或已泄露密码。但NIST也明确指出,密码不具备抗钓鱼能力。NIST SP 800-63B:Authenticators
钓鱼网站不需要计算出密码。它让用户自己输入;网站数据库或日志泄露也可能把密码交给攻击者;设备上的恶意软件可以窃取输入;复用密码则让另一个网站的泄露产生作用。此时密码是12个符号还是20个符号,已经不是主要区别,因为攻击者得到的是完整值。
第二因素的意义,是让“密码已经泄露”不自动等于“账户已经登录”。攻击者还必须获得手机、认证器、安全密钥或设备凭据,或者骗过另一套确认流程。这不会消除风险,却显著改变攻击成本。
不同第二因素并不一样强
短信验证码比没有第二步好,但可能受到SIM交换、号码转移、短信拦截、恶意软件和实时钓鱼影响。邮件验证码的安全性依赖邮箱;如果邮箱本身已被攻破,它可能不是独立因素。认证器App生成的时间型一次性密码不依赖手机网络,通常更强,但仍可被假网站实时骗取并转交给真网站。
推送确认很方便,却可能遭遇“推送疲劳”:攻击者反复发起登录,用户因厌烦或误解而点击允许。数字匹配要求用户把登录页面显示的数字输入认证器,可以降低盲目批准风险。CISA把安全密钥列为最强选择,之后是带数字匹配的认证器推送、认证器一次性代码和生物识别,并把短信或邮件代码列为较弱选择。CISA:Require Multifactor Authentication
FIDO安全密钥和正确实施的通行密钥能够把凭据绑定到真实网站域名。假网站无法像转发普通验证码那样使用这项证明,因此被称为抗钓鱼验证。对于主要邮箱、密码管理器、金融、管理员和工作账户,应优先采用这类方式。
第二步也可能被恢复流程绕过
一个账户的安全程度取决于最弱的登录或恢复路径。即使日常登录使用安全密钥,如果客服凭少量个人资料就能关闭验证,或者备用邮箱使用复用密码,攻击者仍可能绕道。短信号码若被运营商错误转移,也可能让“拥有手机号码”不再等于拥有原手机。
启用验证时,应同时检查恢复邮箱、电话号码、备用代码、已信任设备、App专用密码和客服恢复规则。保存恢复码很重要,但不能把它们放在同一台可能丢失的手机里作为唯一副本。可以打印或写下,保存在安全位置;企业则应建立受控的管理员恢复程序和审计记录。
为什么邮箱和密码管理器最先开启
主要邮箱负责接收其他账户的重置链接,密码管理器保存其他账户凭据。它们一旦失守,攻击者可以绕过许多外围保护。应先为这两个账户设置独立强密码和最强可用验证,再处理银行、支付、Apple或Google身份、云盘、手机运营商、社交平台与工作系统。
手机运营商账户也值得重视,因为号码可能用于接收短信验证码。设置账户PIN、号码转移保护或运营商提供的额外验证,可以降低SIM交换风险。不要把同一个邮箱同时作为所有账户的唯一恢复方式而不重点保护它。
两步验证不是万能护盾
如果用户在假网站输入密码和一次性代码,攻击者可能实时登录;如果设备被恶意软件完全控制,已登录会话和屏幕内容可能被窃取;如果用户批准不认识的推送,系统会把攻击者当成合法用户;如果网站授权过度,第三方App令牌也可能绕过普通登录。
因此仍要识别钓鱼、检查网址、更新设备、审查登录通知、管理第三方连接,并对异常验证请求说“不”。任何不是自己刚刚发起的验证码、推送或安全密钥提示,都应视为警报,而不是需要赶快完成的任务。
启用时的实际顺序
先进入服务的官方App或手动输入网站地址,不从陌生邮件链接进入安全设置。选择最强可用方式:优先通行密钥或硬件安全密钥,其次使用带数字匹配的认证器或认证器代码,再次才是短信;如果服务只提供短信,通常仍比完全没有第二步好。
注册至少两个可靠的恢复方式,例如两把安全密钥或一把密钥加受保护的恢复码。给验证设备设置屏幕锁和系统更新。启用后退出并重新登录一次,确认流程理解正确,同时检查账户是否仍保留旧电话号码或不认识的设备。
我的判断:第二步的价值是改变攻击条件
继续给密码增加符号,主要提高猜测成本;增加独立因素,则要求攻击者同时取得另一设备、密钥或生物验证。它把一次泄露从“立即登录”变成还要突破另一道不同性质的边界。选择抗钓鱼方式并保护恢复流程,比追求肉眼看起来更复杂的密码更能改变现实攻击路径。
一分钟检查清单
- 主要邮箱和密码管理器是否已启用多因素验证?
- 第二步是独立因素,还是另一个容易猜的安全问题?
- 服务是否支持通行密钥或硬件安全密钥?
- 我是否会拒绝并报告不是自己发起的推送?
- 恢复码是否安全保存在验证设备之外?
- 账户是否仍列出旧号码、旧设备或不安全的备用邮箱?
- 手机运营商账户是否设置号码转移保护?
- 每个账户是否仍使用唯一密码,而不是依赖第二步弥补复用?
结论
复杂密码提高猜测难度,却无法在密码被直接窃取后继续充当秘密。两步或多因素验证增加不同类型的证明,使密码泄露不必然变成账户失守。最可靠的组合是唯一长密码加抗钓鱼验证,再配合安全恢复和设备保护;不是在“复杂密码”和“两步验证”之间二选一。
相关内容
继续阅读本系列: 《数字生活的隐藏机制》全部文章
了解 Geoffrey Chen 的更多信息
订阅后即可通过电子邮件收到最新文章。