Day37-16|18.5.2 认证框架:从证明身份到建立可持续的信任关系

对应教材:第 18 章 安全架构设计理论与实践——18.5.2 认证框架
学习定位:理解网络与信息系统中的认证目标、主体类型、认证因素、认证协议和信任基础,掌握口令、挑战应答、证书、Kerberos、令牌、多因素和单点登录的适用场景,并能够设计认证失败、会话、撤销和审计机制。

一、认证框架解决什么问题

认证是安全架构的起点之一,它回答“你是谁”或“这个设备、服务和消息来自谁”。如果身份无法可靠确认,后续访问控制、审计、计费、责任追踪和抗抵赖都会失去基础。

认证不等于授权。认证只证明主体身份或来源,授权还要判断主体是否有权对特定资源执行特定操作。一个管理员账号可以认证成功,但仍然可能无权访问某个客户数据;一台设备证书有效,也不代表它可以调用所有 API。

认证框架的完整链条可以表示为:

身份注册 → 凭据发放 → 身份证明 → 风险评估 → 会话建立 → 授权决策 → 持续验证 → 撤销与审计

如果只设计登录页面而没有考虑注册、凭据保护、会话过期、设备变化、密钥轮换和撤销,认证体系仍然是不完整的。

二、认证的对象和目标

2.1 用户认证

用户认证确认员工、客户、管理员、供应商或合作伙伴的身份。需要处理账号注册、实名或组织关系、密码、MFA、登录设备、异地登录、账号锁定和离职回收。

2.2 设备认证

设备认证确认终端、服务器、网络设备、物联网设备、移动设备或工业控制器的身份和可信状态。设备身份可以通过证书、硬件根、序列号、可信启动和设备管理平台建立。

2.3 服务和进程认证

微服务、容器、批处理、消息消费者和自动化程序需要机器身份。服务认证要避免共享账号、长期密钥和镜像内硬编码凭据,通常使用证书、短期令牌、服务网格身份和密钥管理系统。

2.4 消息和数据来源认证

消息认证确认数据来自可信主体且未被修改。数字签名、消息认证码、证书、时间戳、序列号和密钥可以支持消息来源认证,但还要考虑重放、转发和业务上下文。

2.5 对等实体认证

通信双方在建立会话时互相证明身份,适用于 VPN、服务间调用、数据库连接和设备互联。单向认证只能确认一方,双向认证还要求服务验证客户端或设备。

三、认证因素

3.1 你知道的东西

包括密码、PIN、口令短语和回答。优点是成本低、部署广,缺点是容易被钓鱼、撞库、暴力破解和复用。密码必须使用安全哈希和盐保存,不能明文或可逆加密存储。

3.2 你拥有的东西

包括硬件令牌、手机、证书、智能卡和安全密钥。它们可以降低密码泄露影响,但要考虑丢失、复制、补发、吊销和供应链。

3.3 你本身的特征

包括指纹、人脸、虹膜、声纹和行为特征。生物特征通常不能像密码一样简单更换,模板保护、误识率、隐私、设备能力和替代方式必须纳入设计。

3.4 你所在的位置或环境

包括网络位置、设备状态、时间、地理位置、访问行为和风险上下文。它们通常作为自适应认证的补充条件,不能单独取代强身份因素。

3.5 多因素认证

多因素认证要求使用来自不同类别的两个或多个因素。密码加密码通常不是多因素;密码加硬件密钥、证书加设备可信证明或生物特征加安全令牌才更符合多因素思想。

高风险操作应采用逐步增强认证,例如普通查询只需要已有会话,批量导出、转账、生产变更和特权操作要求重新认证和第二因素。

四、口令认证框架

4.1 口令存储

服务端不应保存明文密码,也不应使用普通快速哈希直接保存。应使用适合口令的慢哈希算法、独立随机盐和安全参数,控制离线破解风险,并保护重置和找回流程。

4.2 登录流程

登录过程要考虑账号枚举、暴力破解、撞库、验证码、速率限制、失败次数、设备识别、异地登录和异常行为。错误提示不能泄露过多信息,日志要记录主体、来源、时间、设备、结果和风险。

4.3 找回与重置

密码找回往往比正常登录更容易被攻击。重置链接或验证码要短期、一次性、绑定主体和设备,敏感账号需要人工复核或多因素;重置后应撤销旧会话和旧令牌。

4.4 口令的局限

密码无法防止钓鱼、中间人、恶意键盘记录和终端失陷,因此要结合 MFA、设备管理、风险识别、密码管理器和无密码认证。

五、挑战应答认证

5.1 基本思想

挑战应答避免直接在网络中传输固定秘密。验证方发送随机挑战,主体使用共享秘密或私钥计算响应,验证方校验响应是否正确。

基本流程:

验证方生成随机数 → 主体计算响应 → 验证方校验 → 建立会话或拒绝

5.2 防重放要求

挑战必须不可预测、不可重复,并且响应要绑定主体、服务、会话和时间上下文。若只对固定消息签名或使用固定响应,攻击者可能捕获后重放。

5.3 双向挑战

高风险通信可以采用双向认证,双方分别证明身份并确认会话密钥。双向认证适合设备到平台、服务到服务和高敏感管理连接,但会增加证书、密钥和故障处理复杂度。

六、基于证书的认证与 PKI

6.1 数字证书

数字证书将主体身份、公钥、有效期、用途和签发者绑定,由证书颁发机构签名。验证方通过信任链、有效期、用途、主体名称和吊销状态确认是否可信。

6.2 PKI 组成

PKI 通常包含根 CA、中间 CA、注册机构、证书目录、吊销服务、密钥保护、证书策略和终端。企业内部可以使用私有 CA 管理设备和服务身份,外部网站通常使用公共 CA 信任体系。

6.3 证书生命周期

证书需要经历申请、审核、签发、部署、使用、续期、吊销和归档。证书过期、私钥泄露、设备退役和服务迁移都可能导致连接中断或信任失效。

6.4 证书认证的风险

证书配置错误、信任根泄露、主机名校验缺失、弱私钥、吊销检查不可用和自动续期失败都可能破坏认证。证书系统要有监控、备份、密钥保护、轮换和应急替换机制。

七、Kerberos 认证框架

7.1 基本思想

Kerberos 使用可信第三方和票据机制为用户与服务提供认证,避免用户密码直接发送给每个应用服务。核心组件通常包括认证服务器、票据授予服务器和服务主体。

7.2 典型流程

用户向认证服务证明身份,获取票据授予票据;用户再向票据授予服务申请访问某个应用的服务票据;用户将服务票据提交给目标服务,服务验证后建立会话。

7.3 依赖与风险

Kerberos 依赖时间同步、密钥分发中心、主体名称和目录服务。时间偏差、票据窃取、服务账号密钥泄露、域控制器不可用和权限配置错误都可能造成风险。

7.4 适用场景

适合企业内部统一身份、域环境和服务较多的场景。跨组织、互联网开放服务、移动和物联网场景可能需要结合证书、令牌和联邦身份。

八、令牌、单点登录与联邦认证

8.1 令牌认证

令牌可以是随机会话令牌、访问令牌、刷新令牌或一次性令牌。令牌要有范围、受众、有效期、签发者、撤销和绑定信息,不能无限期使用或存放在不安全位置。

8.2 单点登录

单点登录让用户在统一身份平台认证后访问多个应用,降低重复登录和密码复用风险,但也提高身份平台的重要性。身份平台必须高可用,应用要正确验证令牌、受众、签发者、权限和会话。

8.3 联邦身份

联邦认证允许不同组织或系统基于信任关系共享身份断言。架构要明确身份提供方、服务提供方、属性范围、信任建立、断言有效期、注销和责任边界。

8.4 令牌撤销

短期访问令牌可以降低撤销压力,但高风险事件发生时仍需撤销会话、刷新令牌和设备信任。令牌撤销与账号禁用、密码重置、设备隔离和权限变更要联动。

九、服务与设备认证

9.1 服务间认证

服务间通信应使用明确的服务身份和双向认证,验证服务名称、环境、租户、版本和权限。不能因为服务位于内网就省略认证。mTLS、服务网格、短期证书和工作负载身份可以提供基础能力。

9.2 设备注册

设备在首次接入时需要身份注册、证书或密钥发放、资产归属、固件和安全状态检查。设备丢失、退役、转移和异常时要能够吊销身份并阻止重新接入。

9.3 物联网认证

物联网设备数量大、资源有限、寿命长,应采用自动化证书、设备密钥、批量注册、分组策略和远程轮换。共享默认密码和永久密钥是高风险做法。

9.4 设备可信状态

认证身份不等于设备可信。系统还要检查启动链、补丁、固件、终端防护、网络位置和异常行为。高风险设备可以被限制到隔离区或只允许更新和修复。

十、认证框架的会话管理

10.1 会话建立

认证成功后要创建与主体、设备、客户端、范围、时间和风险绑定的会话。会话标识应不可预测,不能包含敏感信息,传输和存储要受到保护。

10.2 会话刷新和过期

会话要有空闲超时、绝对期限、刷新规则和重新认证条件。高风险操作、设备状态变化、IP 异常和行为风险上升时可以要求重新认证。

10.3 注销和撤销

注销要撤销服务端会话、刷新令牌和临时授权;账号禁用、密码重置、证书吊销和设备隔离要联动撤销。只清理浏览器本地 Cookie 不足以保证会话失效。

十一、认证失败与高可用

认证平台、目录、CA、密钥服务、时间服务或网络故障时,系统要有明确策略。普通查询可以允许已有短期会话继续,敏感登录和高风险操作可以暂停;生产设备可以使用有限的本地身份和安全控制;应急账号需要双人审批、时间限制和全量审计。

认证平台要跨故障域部署,目录和密钥有备份与恢复,证书验证和吊销服务要考虑缓存和离线模式。高可用不能以永久放行或绕过认证为代价。

十二、认证审计与风险分析

认证日志至少记录主体、认证方式、来源、设备、时间、结果、失败原因、风险评分、会话、令牌和后续操作。日志要与资产、权限、应用和网络事件关联。

需要重点监控:异常地理位置、短时间多地登录、失败次数突增、设备变化、管理员登录、令牌刷新异常、服务账号行为改变、证书异常和大量认证请求。

十三、案例分析:集团统一认证与远程运维

某集团有办公应用、云平台、生产系统和供应商远程运维,历史上每套系统独立账号,供应商共享 VPN 账号,证书过期曾导致服务中断。集团要求统一认证、最小权限、远程运维可追责,并保证生产业务在身份平台短时故障时可控运行。

第一,建立身份分类。员工、供应商、管理员、设备、应用服务和自动化任务分别建模,禁止共享账号;每个供应商工程师使用个人身份并绑定项目和有效期。

第二,建设统一身份和联邦。办公和云应用通过统一身份平台单点登录,生产系统根据自身连续性要求采用联邦或本地缓存身份;管理员使用独立账号、MFA 和 PAM;服务使用证书或短期令牌。

第三,控制远程运维。供应商先通过 MFA 和设备检查进入运维区,再经跳板机访问指定设备和工单范围;会话录像、命令审计、文件传输检测和临时授权全量记录,禁止直接访问生产全网。

第四,建设 PKI。为设备和服务签发证书,监控有效期和吊销;私钥使用硬件或密钥管理保护;自动续期失败有预警和人工应急替换流程;退役设备立即吊销证书。

第五,设计故障模式。身份平台短时不可用时,已有低风险会话有限续期,高风险远程维护暂停,生产本地控制使用受限可信状态;应急账号需双人审批,平台恢复后核对会话、权限和操作记录。

第六,验证。测试密码攻击、钓鱼令牌、证书过期、CA 不可用、目录中断、供应商账号越权、设备隔离和会话撤销,确认认证、授权、审计和恢复完整。

十四、常见失分点

  1. 把认证和授权混为一谈。
  2. 只写密码,不写设备、服务和消息身份。
  3. 只写登录成功,不写注册、重置、会话、撤销和审计。
  4. 只写证书,不写 PKI、私钥、吊销和续期。
  5. 忽略 Kerberos 的时间同步和票据风险。
  6. 身份平台故障时简单选择全部放行或全部拒绝。

十五、今日必背清单

  1. 认证证明主体或数据来源身份,授权决定是否允许执行具体操作。
  2. 认证对象包括用户、设备、服务、进程、消息和对等实体。
  3. 认证因素包括知道的、拥有的、生物特征和环境上下文,多因素要使用不同类别。
  4. 挑战应答要使用不可预测挑战、绑定会话并防重放。
  5. PKI 依赖 CA、证书、私钥、信任链、吊销、续期和生命周期管理。
  6. Kerberos 依赖可信第三方、票据、目录和时间同步。
  7. 单点登录和联邦认证要设计令牌受众、有效期、撤销和责任边界。
  8. 认证架构必须包含注册、会话、失败、故障、撤销和审计。

十六、课后练习

练习一:单项选择

下列哪项最符合多因素认证?

A. 密码加 PIN
B. 两个不同网站的密码
C. 密码加硬件安全密钥
D. 用户名加密码

练习二:判断题

认证成功后,主体自动拥有访问系统中所有资源的权限。( )

练习三:简答题

请说明数字证书认证需要关注哪些生命周期问题。

练习四:案例题

某企业使用统一登录平台,员工离职后仍可使用旧系统会话访问敏感数据;同时服务账号长期使用固定密钥。请分析认证框架中的问题并提出改进措施。

十七、参考答案

练习一答案

答案:C。

解析:密码属于“知道的东西”,硬件安全密钥属于“拥有的东西”,二者来自不同因素类别。密码和 PIN 通常属于同一类别。

练习二答案

答案:错误。

解析:认证只确认身份,授权还要根据角色、资源、操作、环境、设备、租户和风险判断访问权限。高风险资源和操作需要更细粒度授权。

练习三答案

参考答案:要关注证书申请、主体审核、签发、部署、有效期、用途、私钥保护、续期、吊销、撤销检查、备份、恢复、失陷替换、设备退役和审计。还要保证信任根和中间 CA 的安全,监控证书即将过期和自动续期失败,设计 CA 或密钥服务不可用时的故障策略。

练习四答案

参考答案:问题包括离职流程没有联动统一身份、目录、应用会话和刷新令牌,旧会话缺少撤销或绝对期限;服务账号使用固定长期密钥,容易泄露、难以追责和轮换;权限复核和身份生命周期不完整。

改进上,建立员工入转调离自动化流程,离职时禁用身份、撤销会话、刷新令牌、临时授权和设备信任;敏感应用设置空闲超时、绝对期限和高风险重新认证;服务账号改用工作负载身份、短期令牌或证书,凭据由密钥管理系统托管并自动轮换;按服务、环境和租户实施最小权限,记录服务调用和异常行为;定期进行权限复核、令牌撤销和失效演练。

十八、今日复盘

请画出一次高风险远程运维认证流程:主体注册、MFA、设备检查、风险评估、跳板机、临时授权、会话审计、操作结束、权限回收和异常撤销。再补上身份平台、CA、密钥服务和日志平台故障时的处理方式。

下一篇继续 Day37-17:18.5.3 访问控制框架。