Day37-16|18.5.2 认证框架:从证明身份到建立可持续的信任关系
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 不可用、目录中断、供应商账号越权、设备隔离和会话撤销,确认认证、授权、审计和恢复完整。
十四、常见失分点
- 把认证和授权混为一谈。
- 只写密码,不写设备、服务和消息身份。
- 只写登录成功,不写注册、重置、会话、撤销和审计。
- 只写证书,不写 PKI、私钥、吊销和续期。
- 忽略 Kerberos 的时间同步和票据风险。
- 身份平台故障时简单选择全部放行或全部拒绝。
十五、今日必背清单
- 认证证明主体或数据来源身份,授权决定是否允许执行具体操作。
- 认证对象包括用户、设备、服务、进程、消息和对等实体。
- 认证因素包括知道的、拥有的、生物特征和环境上下文,多因素要使用不同类别。
- 挑战应答要使用不可预测挑战、绑定会话并防重放。
- PKI 依赖 CA、证书、私钥、信任链、吊销、续期和生命周期管理。
- Kerberos 依赖可信第三方、票据、目录和时间同步。
- 单点登录和联邦认证要设计令牌受众、有效期、撤销和责任边界。
- 认证架构必须包含注册、会话、失败、故障、撤销和审计。
十六、课后练习
练习一:单项选择
下列哪项最符合多因素认证?
A. 密码加 PIN
B. 两个不同网站的密码
C. 密码加硬件安全密钥
D. 用户名加密码
练习二:判断题
认证成功后,主体自动拥有访问系统中所有资源的权限。( )
练习三:简答题
请说明数字证书认证需要关注哪些生命周期问题。
练习四:案例题
某企业使用统一登录平台,员工离职后仍可使用旧系统会话访问敏感数据;同时服务账号长期使用固定密钥。请分析认证框架中的问题并提出改进措施。
十七、参考答案
练习一答案
答案:C。
解析:密码属于“知道的东西”,硬件安全密钥属于“拥有的东西”,二者来自不同因素类别。密码和 PIN 通常属于同一类别。
练习二答案
答案:错误。
解析:认证只确认身份,授权还要根据角色、资源、操作、环境、设备、租户和风险判断访问权限。高风险资源和操作需要更细粒度授权。
练习三答案
参考答案:要关注证书申请、主体审核、签发、部署、有效期、用途、私钥保护、续期、吊销、撤销检查、备份、恢复、失陷替换、设备退役和审计。还要保证信任根和中间 CA 的安全,监控证书即将过期和自动续期失败,设计 CA 或密钥服务不可用时的故障策略。
练习四答案
参考答案:问题包括离职流程没有联动统一身份、目录、应用会话和刷新令牌,旧会话缺少撤销或绝对期限;服务账号使用固定长期密钥,容易泄露、难以追责和轮换;权限复核和身份生命周期不完整。
改进上,建立员工入转调离自动化流程,离职时禁用身份、撤销会话、刷新令牌、临时授权和设备信任;敏感应用设置空闲超时、绝对期限和高风险重新认证;服务账号改用工作负载身份、短期令牌或证书,凭据由密钥管理系统托管并自动轮换;按服务、环境和租户实施最小权限,记录服务调用和异常行为;定期进行权限复核、令牌撤销和失效演练。
十八、今日复盘
请画出一次高风险远程运维认证流程:主体注册、MFA、设备检查、风险评估、跳板机、临时授权、会话审计、操作结束、权限回收和异常撤销。再补上身份平台、CA、密钥服务和日志平台故障时的处理方式。
下一篇继续 Day37-17:18.5.3 访问控制框架。