📖 密钥分发
🎯 课程摘要:密钥分发是密码系统中的重要问题,分为网外分发和网内自动分发两类。对称密钥的分发通过密钥分发中心(KDC)实现,KDC 为登记用户临时分配会话密钥,著名协议为 Kerberos。公钥的分发则通过认证中心(CA)签发数字证书实现,证书遵循 X.509 标准,全球范围内由公钥基础结构(PKI)提供证书签发与认证服务,采用层级认证结构。
📝 详细笔记
1. 密钥分发的概念
- 对称密钥密码体制:通信双方共享的密钥需要保密
- 公钥密码体制:公钥公开,但私钥仍需保密
- 核心原则:密钥系统的安全性完全依赖于对密钥的安全保护
密钥分发的分类:
| 类别 | 方式 | 说明 |
|---|---|---|
| 网外分发 | 通过非常可靠的信使携带密钥分发给各用户 | 密钥必须定期更换;网络用户增多后不再适用 |
| 网内密钥自动分发 | 通过网络自动分发密钥 | 适用于大型网络 |
密钥必须通过安全的通路进行分发。
2. 对称密钥的分发——KDC
对于对称密钥密码体制,目前常用的密钥分发方式是建立密钥分发中心(KDC)。
- KDC:一个公众都信任的机构
- 任务:给需要进行秘密通信的用户临时分配一个会话密钥
- 前提:用户 A 和 B 都是 KDC 的登记用户,登记时分别拥有自己与 KDC 通信的主密钥 K_A 和 K_B
KDC 密钥分发过程
⚠️ 重点注意事项
- 在网络上传送的密钥都是用于加密的密钥,并且需要加密后才能传送;解密用的密钥都不在网上传送
- KDC 分配给用户的主密钥(如 K_A 和 K_B)应当定期更换,以减少攻击者破译密钥的机会
- KDC 可以在报文中加入时间戳,以防止报文的截获者利用之前已记录下的报文进行重放攻击
Kerberos 协议
- 由美国麻省理工学院(MIT)开发
- 是目前最出名的密钥分发协议
3. 公钥的分发——CA 认证中心
公钥密码体制中的公钥是公开的(私钥仍需保密)。若每个用户都知道其他用户的公钥,用户之间即可实现安全通信。然而,如果通过网络随意公布用户的公钥,会面临极大的安全风险。
风险示例:
- 攻击者 C 伪装成用户 A 欺骗用户 B
- C 用自己的私钥 SK_C 对伪造报文进行数字签名,并附上自己的公钥 PK_C,谎称该公钥是 A 的
- B 收到后如何知道公钥 PK_C 不是 A 的?
显然,这需要有一个值得信赖的机构将公钥与其对应的实体进行绑定。
认证中心(CA)
- 认证中心(CA):将公钥与对应实体(人或机器)进行绑定的值得信赖的机构
- 性质:一般由政府出资建立
- 数字证书:CA 为用户公钥签发的证书,包含公钥及其拥有者的身份标识信息(如人名、公司名或 IP 地址等)
CA 签发证书的过程
⚠️ 重点注意事项
- CA 为用户产生的公钥/私钥对中的私钥必须由证书拥有者自己秘密保存
- 任何人都可从可信的地方(例如代表政府的报纸)获取 CA 自身的公钥,并用该公钥验证某个证书是否是 CA 签发的真实证书
- 一旦证书被鉴别为真实,则可相信证书中的公钥确实属于证书中声称的用户
4. 公钥基础结构(PKI)
若全世界仅使用一个 CA 来签发证书,则会出现负载过重和单点故障等问题。
- PKI:Internet 采用 RFC 5280 文档给出的、在全球范围内为所有 Internet 用户提供证书签发与认证服务的公钥基础结构
PKI 层级认证结构
层级关系:下级 CA 的证书由上级 CA 签发和认证
根认证中心:所有用户都信赖顶级的根认证中心;对中间 CA 可以信任也可以不信任
证书验证追溯过程:
- 用户可在自己信任的 CA 获取个人证书
- 验证来自不信任 CA 签发的证书时,需到上一级 CA 验证该证书真伪
- 若上一级 CA 也不可信,则到更上一级 CA 验证
- 一直追溯到可信任的 CA,最终有可能追溯到顶级的根认证中心
数字证书标准:X.509(RFC 5280)
💡 核心总结
- 密钥分发分为网外分发(信使)和网内自动分发两类,大型网络采用后者
- 对称密钥分发通过 KDC 实现:KDC 用主密钥加密会话密钥和票据,著名协议为 Kerberos
- 公钥分发通过 CA 认证中心签发数字证书实现,证书包含公钥和身份标识,由 CA 私钥签名
- 全球公钥分发采用 PKI 层级结构,证书验证可追溯至根认证中心
- 证书标准遵循 X.509(RFC 5280)
❓ 课后思考 / 经典考题
- 画图说明 KDC 为用户 A 和 B 分配会话密钥 K_AB 的完整过程,并指出票据的作用。
- KDC 分发密钥时有哪些注意事项?为何要加入时间戳?
- 为什么不能通过网络随意公布用户的公钥?CA 如何解决公钥与实体绑定的问题?
- 简述 CA 签发数字证书的完整过程,并说明验证证书的依据是什么。
- 什么是 PKI?为什么要采用层级认证结构而非单一 CA?画图说明证书验证的追溯过程。