4.1 身份验证与多因素认证


4.1 身份验证与多因素认证

本节摘要:身份验证(Authentication)核实访问者声称的身份,多因素认证(MFA)要求同时出示两种以上不同类别的验证因素。本节给出因素的严格分级、MFA 的真实强度排序(不是所有"第二因素"都等价),并拆解一次双因素登录的完整时序。承接第 4 章章首的凭据视角,本节鉴定信任链条的第一环,通往 4.2 节的授权体系。

密码的死穴不在长度

先破一个流行迷思:"只要密码够复杂就安全。"复杂度对抗的是暴力猜测(2.3 节),但现实中密码的死穴另有三处:重用(撞库直接命中)、钓鱼(用户亲手交给攻击者)、数据库泄露(站点侧保管不善)。这三条死穴有一个共同点:无论密码多复杂都防不住——攻击者根本不用猜,密码是用户或站点亲手递出去的。

指望"更强的密码"解决不了"密码会被递出去"的问题,于是验证因素的思路从"你记得什么"扩展到"你持有什么、你是什么"。这就是多因素认证的出发点:把不同性质的凭据绑在一起,偷走其中一样不足以冒充本人。

验明正身:三类因素与"多"的严格含义

验证因素按性质分三类:

  • 知识因素:你记得的东西——密码、PIN、密保问题;
  • 持有因素:你带着的东西——手机、硬件密钥、智能卡;
  • 生物因素:你本身的东西——指纹、人脸、虹膜。

多因素(MFA)的"多"有严格定义:必须是两类以上不同因素的组合。密码加密保问题是两道知识因素,只是双倍的单因素,不算 MFA;密码加手机验证码才是真双因素。这个定义经常被营销话术稀释——"双重验证"的招牌下可能挂着两个同类因素,鉴定时要在心里多问一句"这两样是不是一类"。

因素的实际强度排序和直觉并不一致,值得单独列出来:

验证因素强度谱(从弱到强, 以抗钓鱼能力为主要标尺): 密保问题 ≈ 无效 答案可从社交网络挖到 短信验证码 弱 可被 SIM 卡劫持与伪基站截获 TOTP 动态口令 中 本地生成不经过网络, 但可被实时钓鱼中继 推送确认 中 存在"疲劳轰炸"攻击, 用户误点通过 FIDO 硬件密钥 强 校验绑定站点域名, 钓鱼站拿不到有效凭据

注意短信验证码的位置:它是最普及的第二因素,也是防御者心里最没底的一个。它抗"密码泄露"有效,抗"定向攻击"勉强,抗"SIM 卡劫持"基本无效。给高管与财务岗位配短信 MFA,属于把最贵的锁装在最容易被撬的门上。

运作机理:一次 TOTP 登录的完整时序

TOTP(基于时间的一次性口令)是当前企业环境的主流形态,看懂它的数据流,就知道它为什么"本地生成"是安全属性:

关键在最后一步:服务端与令牌应用共享一把注册时的密钥,各自本地计算,口令本身不在网络上传输——钓鱼站就算实时中继了第一轮登录,三十秒后口令就作废。这解释了 TOTP 比短信强的原因:短信把"第二凭据"送进了不可控的信道,TOTP 让它从不离开设备。

但 TOTP 仍可被"实时钓鱼中继"攻破:攻击者架一个假登录站,用户输入的密码和口令被即时转发到真站登录,攻击者接管会话。彻底解药是 FIDO 硬件密钥的"域绑定":密钥签名时校验的是真实站点域名,假域名签出来的凭据在真站无效——钓鱼从原理上失效。

工程实践要点

MFA 要分级配发。 全员统一最强化验既贵又招人烦,合理的做法按资产风险定级:普通内网应用单因素加条件触发(异地、异常时段要求第二因素),核心系统与特权账号强制硬件密钥。1.2 节的"认证强度分级"在本节给出了具体抓手。

要为"用户被绕过"设计兜底。 任何 MFA 都可能被社会工程学绕过(攻击者冒充 IT 让用户念出口令)。兜底手段是让异常可见:新设备登录通知、异地告警、特权操作二次审批。这些动作把"绕过 MFA"从静默成功变成有痕迹的事件,把 3.3 节的检测体系接进身份域。

⚠️ 常见坑:MFA 的恢复流程成为后门。"手机丢了怎么找回账号"的找回流程如果只靠密保问题或客服电话核实,攻击者会直接打这里——门是钢的,窗户是纸的。恢复流程的强度必须不低于登录本身。

💡 关键直觉:判断一套认证方案的强度,别数它有几道,问一句"攻击者拿到密码之后还差几步"。差的步骤是不是同类因素、能不能被钓鱼中继一次性骗齐,这两个答案决定真实强度。

鉴定结论

  • MFA 的"多"指跨类别因素,密码加密码不算;强度谱上硬件密钥强于 TOTP,TOTP 强于短信;
  • TOTP 的安全属性来自"口令不出设备",FIDO 的安全属性来自"签名绑定域名",两者防的攻击面不同;
  • 恢复流程与异常可见性是 MFA 体系的两块短板,不做兜底等于给钢门留纸窗;
  • 身份证明之后是权限分配——下一节进入授权、IAM 与最小权限的鉴定。

附卷:MFA 分级配发速查与一次疲劳攻击

给不同人群配什么验证方案,拿这张表对号入座:

人群 推荐方案 理由
普通办公账号 密码加 TOTP,异地触发二次验证 平衡安全与摩擦
财务与高管 硬件密钥或推送加号码匹配 钓鱼高价值目标,须抗实时中继
运维特权账号 硬件密钥加堡垒机二次认证 4.2 节特权会话的入口再加一道
外部合作方 短期令牌加按应用授权 不给网络级入口,只给单应用
服务与脚本 密钥轮换加最小范围 API 授权 机器身份没有"手",全靠托管

表里"号码匹配"多说一句:推送确认的升级版——用户核对屏幕上显示的两位数字与登录页是否一致。它是针对"疲劳轰炸"的廉价改进。所谓疲劳攻击,是攻击者拿到密码后连夜连发推送,赌用户半夜手滑点下"确认"——真实案例里成功率不低。对抗思路有二:一是把"确认"变成"核对"(号码不匹配就暴露了攻击在发生),二是推送加频次上限与一键拒绝并报安全组。

还有一个容易被忽略的统计口径:MFA 的覆盖率要分"登录路径"统计,而不是分"账号"统计。很多组织账号层面双因素全覆盖,但服务账号还在用十年不变的静态密码直连系统——攻击者早就不走人的登录入口了。把 4.1 节的强度谱贴到每一类入口(人、服务、脚本、第三方集成)上,才算真的做完。

附卷二:MFA 全员推广的四周排期

全员推 MFA 不是发个通知就完事,一份够用的四周排期:

第 1 周 试点: 两个部门先行, 收集绑定问题与体验反馈, 修订指南 第 2 周 分批: 按部门滚动开通, 每批留一周缓冲, 避免服务台被打爆 第 3 周 强制: 核心系统对未绑定用户开启"登录即引导", 只留阅读权限 第 4 周 收尾: 覆盖率报表发布, 服务账号与特例清单单独评审

排期里第 1 周的试点最值钱:绑定失败、令牌丢失、换机迁移这些长尾问题,两百人试点能把九成坑提前踩完。第 3 周的"登录即引导"是推广技巧的精髓——不是一刀切不让登录,而是留一条降级通道让用户自己走完绑定。MFA 推广的失败案例几乎全是节奏问题:一天全员强推,服务台瘫痪,管理层叫停,项目信用破产。慢慢来,反而快。

收尾补一个管理者视角的数据口径:向管理层汇报认证体系时,最有说服力的三个数字是"双因素覆盖率(按特权与普通分开统计)""凭据类事件数量同比"与"找回流程使用量"。第一个数字证明覆盖面,第二个证明有效性,第三个暴露恢复流程的压力与风险。三个数字每季度更新一次,认证体系的投入产出就再也不是一笔糊涂账。


作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U