【密码学】(十二)密钥管理

  • ~4.00K 字
  1. 1. 一、 密钥管理的核心原则与层次模型
    1. 1.1. 1. 密钥的层次分类
    2. 1.2. 2. 密钥的生命周期
  2. 2. 二、 密钥分配机制(Key Distribution)
    1. 2.1. 1. 对称密码系统的密钥分配
    2. 2.2. 2. 公钥系统的密钥分配问题
  3. 3. 三、 公钥基础设施(PKI)与数字证书
    1. 3.1. 1. 数字证书的本质与结构
    2. 3.2. 2. PKI 的核心组件架构
    3. 3.3. 3. 证书的撤销机制:CRL vs OCSP
  4. 4. 四、 密钥协商机制与防中间人攻击
    1. 4.1. 1. 经典DH协议及其缺陷
    2. 4.2. 2. 改良方案:STS协议(Station-to-Station)
    3. 4.3. 3. 国密 SM2 密钥交换协议
  5. 5. 五、 秘密共享技术(Secret Sharing)
    1. 5.1. 1. 门限方案
    2. 5.2. 2. Shamir 门限方案(基于拉格朗日插值)
  6. 6. 六、 新型公钥分配体系与密钥托管
    1. 6.1. 1. 基于身份的公钥密码机制(IBE, Identity Based Encryption)
    2. 6.2. 2. 密钥托管体制(Key Escrow)

一、 密钥管理的核心原则与层次模型

现代密码学的一个基本前提是柯克霍夫原则(Kerckhoffs’s Principle):密码系统的安全性不应依赖于密码算法或设备的保密,而应完全取决于密钥的保密性。因此,密钥管理成为了实际密码系统安全的核心。

1. 密钥的层次分类

为了降低密钥泄露的风险,实际应用中通常采用分层管理机制,根据使用层次将密钥分为三类:

  • 会话密钥(Session Key):处于最底层(单次通信级)。用于在一次通信中对实际传输的数据进行加解密。其特点是动态产生、使用频繁、有效期短,使用完毕后立即清除,以减少密文数据暴露带来的破译风险。
  • 密钥加密密钥(Key Encrypting Key / 二级密钥):处于中间层(应用/用户级)。不直接加密业务数据,而是专门用于在网络传输或本地存储时,对“会话密钥”进行加密保护。
  • 主密钥(Master Key):处于最高层(系统级)。用于对“密钥加密密钥”进行加密保护。主密钥的安全性至关重要,通常采用最高级别的物理保护(如存放在专门的密码硬件模块中)。

2. 密钥的生命周期

密钥管理涵盖了密钥从产生到销毁的全套技术和程序,其生命周期包含以下关键阶段:

  • 密钥生成:必须依靠良好的随机数生成器产生,确保密钥的不可预测性和统计随机性。
  • 密钥建立:将生成的密钥安全送达通信各方,分为密钥分配(由一方生成后安全传送给另一方)和密钥协商(双方通过公开协议共同计算得出)。
  • 密钥存储:分为软保护(基于口令或算法推导)和硬保护(依赖物理隔离的加密装置)。
  • 密钥备份与存档:备份是为了防止密钥损坏导致数据无法恢复;存档则是针对已过期的密钥进行长期保存,以便未来解密历史归档数据或解决法律争议。
  • 密钥更新与撤销/销毁:密钥达到有效期限必须更新;若发现泄露,需在到期前将其从正常使用集合中剔除(撤销),并销毁所有副本。

二、 密钥分配机制(Key Distribution)

1. 对称密码系统的密钥分配

在对称密码中,由于通信双方必须共享相同密钥,在大型网络中直接进行点对点密钥分配会面临 的管理复杂度和安全风险。

  • 无中心分配:用户A与B依赖预先共享的密钥,通过多次随机数质询(Nonce)来确认对方身份并建立新的会话密钥。
  • 有中心的分配(KDC机制):引入密钥分配中心(Key Distribution Center, KDC)。每个用户只需与KDC共享一个受保护的长期主密钥。
    • 工作流:当A想与B通信时,A向KDC发起请求;KDC生成一个会话密钥 ,并分别用A和B的主密钥进行加密后发回给A;A再将B的部分转发给B,随后双方通过 进行安全通信。
    • 优势:极大降低了系统的密钥维护数量,大型网络可通过部署多层结构的KDC(全局KDC与本地KDC)来实现扩展。

2. 公钥系统的密钥分配问题

虽然公钥(PK)被设计为公开的,但“如何确保获取的公钥确实属于宣称的主人”是一个严峻挑战。若攻击者截获通信并伪造公钥,将导致严重的中间人攻击(Man-in-the-Middle Attack)。 传统的公钥分配方式经历了以下演进:

  1. 公开发布:用户直接广播自己的公钥(如PGP协议的早期应用),极易被中间人截获并替换。
  2. 公用目录表:由可信实体维护一个公钥目录,虽安全性提升,但目录服务器容易成为性能瓶颈和攻击的单点故障源。
  3. 公钥管理机构:用户实时向动态的权威机构请求公钥,但同样存在通信开销大和中心化瓶颈的问题。
  4. 公钥证书(Public-Key Certificates):这是目前最完善的解决方案,直接催生了PKI体系。

三、 公钥基础设施(PKI)与数字证书

1. 数字证书的本质与结构

数字证书是由权威的第三方证书授权中心(CA, Certificate Authority)颁发的,==用于将用户的身份信息(ID)与其持有的公钥(PK)在密码学上进行强绑定。==

[!abstract] 数字签名与数字证书

1
2
3
数字签名

>证明消息属于某个私钥

1
2
3
数字证书

>证明公钥属于某个人或组织
  • 数学构造原理:$CA = E{SK{CA}}[T, ID_A, PK_A]使 SK{CA}$),对用户A的身份标识 、A的公钥 以及一个时间戳 ** 进行数字签名。
  • 安全性证明:接收方只要信任CA,便可用CA的公开公钥去验证该证书的合法性。由于只有CA掌握其私钥,任何人都无法伪造或篡改证书中的公钥。加入时间戳 和有效期设定,则能有效抵御重放攻击及处理证书过期问题。

[!faq]- 补充与注意!

2. PKI 的核心组件架构

PKI 是一个包含硬件、软件、人员、策略的完整体系,其核心组件包括:

  • CA (Certificate Authority):第三方证书授权中心,PKI的绝对核心。负责用户身份合法性检验、公钥与身份的绑定、数字证书的生成、签发以及生命周期管理(包括撤销)。
  • RA (Registration Authority):注册中心。作为CA的前端,负责与用户直接交互,进行身份信息的审核与控制,分担CA的审核压力。
  • 证书库/Web服务器:集中存放并公开发布数字证书及其状态信息的系统。
  • TSA (Time Stamp Authority):时间戳机构。为电子交易提供不可伪造的、包含时间信息的密码凭证,解决不可否认性问题。

3. 证书的撤销机制:CRL vs OCSP

当用户的私钥泄露或身份变更时,必须在证书过期前将其撤销。

  • CRL(证书撤销列表):CA定期发布的一个被撤销证书序列号的黑名单。优点是支持离线验证,缺点是存在时间窗口延迟(如每天更新一次,期间已被撤销的证书仍可能被误信)。
  • OCSP(在线证书状态协议):客户端直接向CA的响应服务器实时查询特定证书的状态。它解决了CRL的时延缺陷,但引入了高并发网络请求和中心服务器的在线负载压力。

四、 密钥协商机制与防中间人攻击

与KDC直接“分配”密钥不同,密钥协商(Key Agreement) 允许双方在公开信道上共同计算出一个共享密钥。

1. 经典DH协议及其缺陷

Diffie-Hellman(DH)协议允许双方通过交换指数结果 ,独立计算出相同的会话密钥

  • 中间人攻击:经典DH协议==不包含身份认证机制==。攻击者C可以分别与A和B建立独立的DH密钥,从而实施中间人攻击,监听或篡改所有通信。

2. 改良方案:STS协议(Station-to-Station)

STS协议在DH的基础上引入了数字签名与公钥证书机制

  • 原理:在交换DH参数()时,A和B需要对这些参数进行数字签名(),并附上各自的公钥证书供对方验证。
  • 效果:通过将“密钥协商”与“身份认证”强绑定,彻底粉碎了中间人攻击的可能。

3. 国密 SM2 密钥交换协议

基于椭圆曲线密码学,SM2协议通过多步握手完成协商:双方不仅交互临时生成的椭圆曲线点,最终的会话密钥还需通过密钥导出函数(KDF)结合双方的身份标识、公私钥及随机参数共同计算得出,提供极高的安全性与双向身份认证。

五、 秘密共享技术(Secret Sharing)

秘密共享旨在将一个关键秘密(如主密钥或导弹发射代码)拆分为多个份额,交由不同人保管,从而避免“单点丢失导致无法恢复”或“单点作恶导致秘密泄露”的问题。

1. 门限方案

  • 定义:将秘密 分成 个共享份额交由 个人保管;仅当凑齐任意 个或更多个份额时,才能计算恢复出 ;若少于 个份额,则无法获得关于 的任何有效信息( )。

2. Shamir 门限方案(基于拉格朗日插值)

这是基于多项式代数构造的经典门限算法。

  • 参数选取:选择一个极大的素数 (要求 )。
  • 秘密分割(分配)
    • 构造一个次数为 的多项式$s(x) = S + s1x + s_2x^2 + \dots + s{t-1}x^{t-1} \pmod p$。
    • 其中秘密 被隐藏在常数项中,其他 个系数均为随机选取。
    • 计算 个不为0的 对应的
    • 将这 作为份额分别分发给 个成员。
  • 秘密恢复: 根据代数学基本定理,平面上任意 个点可以唯一确定一个次数不超过 的多项式。 任意 个人集合其持有的 ,利用拉格朗日插值公式可以重构该多项式 求解常数项,即可完全恢复出秘密:

[!example] (4, 5)门限方案例子
由此可看出拉格朗日公式具体算法:

六、 新型公钥分配体系与密钥托管

1. 基于身份的公钥密码机制(IBE, Identity Based Encryption)

  • 核心思想:为了彻底摆脱PKI体系中繁重的数字证书管理负担,IBE提出:用户的公钥可以是其唯一的身份标识字符串(如邮箱地址、电话号码或IP地址)。
  • 机制:发送者无需去查询证书,直接用接收者的邮箱地址作为公钥进行加密。接收方则必须通过可信的“私钥生成中心(PKG)”去提取与自己身份对应的私钥来解密。

2. 密钥托管体制(Key Escrow)

  • 目的:解决加密技术普及带来的监管难题。其核心理念是在保证用户数据隐私的同时,通过法定授权机制,允许国家/司法机关在特定情况下(如侦查犯罪)获取用户密钥以恢复明文。
  • 系统组成
    • USC(用户安全成分):提供终端数据加解密能力,在密文传输中附带传送一个受特殊算法保护的数据恢复域(DRF)
    • KEC(密钥托管成分):由可信的第三方(如政府机构)管理,负责存储并操作用户的恢复密钥。
    • DRC(数据恢复成分):执法部门在获得法定授权后使用,通过向KEC提取必要的密钥信息,并结合截获通信中的DRF,最终实现数据的强制解密。