文章总结: 该文档系统阐述密钥生成在密码体系中的核心定位与技术实现。强调密钥生成必须依赖国家认证的物理噪声源,禁止使用软件伪随机数生成器。详细分析了直接随机数生成、基于KDF的密钥派生和基于口令的派生三种技术路径,指出口令派生方式安全强度不足且不推荐用于网络通信。文档还明确了密钥控制信息的完整性保护要求,并列出密钥协商前必须验证身份等关键安全原则。 综合评分: 82 文章分类: 技术标准,解决方案,数据安全,应用安全,安全建设
密钥生成
原创
利刃信安 利刃信安
利刃信安
2026年6月27日 21:30 北京
在小说阅读器读本章
去阅读
密钥生成
一、密钥生成在密码体系中的定位
密钥管理贯穿密钥全生命周期,涵盖生成、分发、存储、使用、更新、归档、撤销、备份、恢复和销毁等环节。密钥生成环节的质量直接决定后续所有密码操作的安全性基础。除公钥外,所有密钥材料必须确保不被非授权访问、使用、泄露、修改或替换;公钥同样需要保证不被非授权修改或替换。
除密钥本身外,部分敏感参数应视同密钥进行同等安全防护,包括但不限于:
- • 用户口令
- • 密钥生成过程中使用的随机数
- • 密码计算过程中产生的中间结果(例如SM2签名算法中使用的随机数、密钥协商过程中生成的共享秘密)
二、密钥生成的基本机制
2.1 物理熵源要求
密钥和密钥分量的生成必须依赖于经过国家密码管理主管部门检测的物理噪声源。这是确保密钥具有足够不可预测性的根本前提,禁止单纯依赖软件伪随机数生成器来生成高强度密钥。
2.2 生成装置分类
根据密钥结构复杂度,密钥生成装置分为两类:
| 装置类型 | 适用场景 | 输出特征 | | — | — | — | | 通用密钥生成装置 | 常规随机密钥生成 | 主控管理模块按目标设备密钥格式配置文件,将随机数封装为原子密钥 | | 专用密钥生成装置 | 含复杂变换或特殊格式的密钥 | 无法由通用装置生成,须通过专用硬件完成特定变换 |
2.3 触发与保护流程
密钥生成行为由密钥生成策略触发。生成的原子密钥须经历两道保护措施:
- 1. 本地主密钥加密保护 —— 确保存储态机密性
- 2. 格式化封装 —— 规范密钥数据结构
加密封装后的密钥存储于系统密钥库中。需要特别明确的是:密钥管理系统生成的原子密钥均为被管系统的业务密钥,被管系统所需的一次性密钥不由密钥管理系统生成。
三、密钥控制信息与关联属性
密钥生成时,通常伴随生成一组密钥控制信息,内容包括但不限于:
- • 密钥拥有者
- • 密钥用途
- • 密钥索引号
- • 生命周期起止时间
此类控制信息不需要进行机密性保护(因为不涉及密钥本身),但必须进行完整性保护,以防止密钥被错误使用或篡改。
完整的密钥关联信息还包括:密钥种类、长度、拥有者、使用起始时间、使用终止时间等元数据。
四、合规性测评与高风险判定
4.1 测评依据(GB/T 43206-2023)
密钥生成环节的测评聚焦于三个维度:
- 1. 目的性检查:密钥是否在经商用密码认证机构认证的密码产品中生成;密钥协商算法是否经国家密码管理部门核准。
- 2. 对象覆盖:密钥本身、密钥管理制度及策略类文档、信息系统中的密码产品/服务/算法/技术实现。
- 3. 检查要点:
- • 随机数发生器认证证书持有情况
- • 密钥协商算法合规性(符合法律、法规及国家标准/行业标准)
- • 密钥生成功能正确性和有效性(如随机数发生器功能验证)
4.2 技术要求(GM/T 0051-2016)
明确要求:密钥和密钥分量应使用经国家密码管理主管部门检测的物理噪声源生成。
4.3 高风险判定
以下情况属于密钥生成环节的严重安全隐患:
- • 未采用通过认证的随机数发生器生成密钥、派生密钥或协商随机值,且无公开文献和证据证明随机数发生器的合理性和正确性
- • 密钥在不可控的环境中生成(如外部不可信设备或网络环境)
- • 密钥协商之前或协商过程中,未验证对方身份真实性
五、密钥生成的三种技术路径
5.1 直接随机数生成
使用随机数直接作为密钥时,必须检查密钥是否满足目标算法的特定约束条件。例如:
- • SM2算法:私钥值必须小于椭圆曲线群的阶(SM9主私钥同样应满足此约束,但SM9用户私钥为群G1/G2中的元素,其生成逻辑由KGC通过主私钥与身份标识共同派生,不直接适用此约束)
- • 若随机数不符合要求,须进行调整或重新生成新随机数
此方式的优点在于结构简单、熵源直接,但需要算法级合法性校验。
5.2 基于KDF的密钥派生
密钥派生函数(KDF)从共享秘密比特串中派生密钥数据,是密钥生成中最通用的方式,广泛应用于密钥协商和加密数据保护。
5.2.1 KDF安全属性
KDF必须满足两项核心安全要求:
- 1. 从派生的密钥无法推断出原始秘密值本身
- 2. 从某个派生的密钥无法推断出其他派生密钥
5.2.2 SM2/SM9中使用的KDF(基于杂凑)
依据GB/T 32918.3-2016(SM2密钥交换协议)及GM/T 0044.2-2016(SM9数字签名算法):
- • 输入:比特串 (Z),整数 (klen)(表示要获得的密钥数据比特长度,要求 (klen < (2^{32} – 1) \cdot u),其中 (u) 为密码杂凑算法输出比特长度)
- • 输出:长度为 (klen) 的密钥数据比特串 (K)
- • 核心运算:基于密码杂凑算法(如SM3)的迭代构造
5.2.3 基于对称密码的KDF实现方式
根据底层算法不同,可归纳为以下四种主流方案:
| 实现方式 | 核心对称算法 | 核心运算 | 典型应用场景 | | — | — | — | — | | Davies-Meyer结构 | SM4 | (\text{DM}_k(m) = \text{SM4}_k(m) \oplus m) | 车联网密码应用密钥派生(GM/Y 5011-2024) | | 直接加密分散因子 | SM4/SM1 | 子密钥 (= \text{SM4_Enc}(\text{主密钥}, \text{分散因子})) | RFID标签子密钥分散(GB/T 37033.3-2018) | | 作为PRF构建通用KDF | SM4 | 分组密码作为伪随机函数,迭代运算 | 确定性随机数生成、KBKDF、PBKDF | | ZUC序列密码 | ZUC | (\text{KDF}(Z, klen) = \text{ZUC}(\text{IV}, \text{Key})[0:klen]) | 祖冲之算法密钥派生(ZUC-GXM / ZUC-MUR) |
上述方案的本质安全基础在于:对称密码算法在密钥未知的情况下,表现出计算上的单向性(即伪随机性),该特性确保了推导出的密钥无法反推原始密钥材料。
5.3 基于口令的密钥派生
利用用户口令派生密钥属于不推荐的做法。主要原因是口令空间严重不足:
- • 8位纯数字口令提供:(10^8 \approx 2^{26.6}) 的密钥空间
- • SM4密钥空间为:(2^{128})
- • 两者相差约 (2^{101}) 倍,安全强度严重不对等
若必须使用,也仅限于特定受限环境(如加密存储设备),严禁用于网络通信数据的保护。
六、密钥派生的两大类应用场景
6.1 场景一:从共享秘密派生密钥(密钥协商)
通信双方通过Diffie-Hellman、MQV等算法获得共享秘密,该共享秘密一般不直接作为密钥,而是作为密钥材料输入KDF,生成会话密钥或加密密钥。
典型示例:
- • SM2/SM9密钥协商协议中的密钥派生
- • 公钥加密算法中使用的基于SM3的KDF
此类KDF利用密码杂凑算法将共享秘密转换为均匀分布的密钥数据,确保后续密码操作的安全性。
6.2 场景二:从主密钥派生密钥(密钥分散)
当需要大规模分发对称密钥(如智能IC卡大规模发行)时,发卡方无法为每一张卡独立保存一个密钥。典型方案为:
- • 发卡方仅保存一个主密钥
- • 根据实体的唯一标识符(如卡序列号、UID)和其他相关信息
- • 从主密钥派生出每个实体的独有子密钥
使用过程中,发卡方可根据主密钥和实体唯一标识实时重新生成该密钥,完成身份鉴别或加密通信。此方案平衡了存储成本与安全性。
七、安全总结与关键原则
- 1. 熵源必须是经过认证的物理噪声源 — 任何软件伪随机方案均不满足高强度密钥生成要求。
- 2. 密钥不可在不可控环境中生成 — 生成环境必须受信任且受物理保护。
- 3. 派生前必须验证对方身份 — 密钥协商环节的身份认证不可或缺。
- 4. KDF的选择要匹配应用场景 — 车联网推荐Davies-Meyer,RFID推荐分散因子加密,通用场景推荐PRF式KDF。
- 5. 控制信息必须进行完整性保护 — 即使不加密,也必须防止篡改。
- 6. 弱口令派生不可用于网络通信 — 攻击者可在极短时间内枚举口令空间。
密钥生成是密码系统安全性的基石。只有从物理熵源、合规算法、受控生成环境、合理的派生策略四个维度共同发力,才能构建可信的密钥基础设施,支撑后续所有密码服务的安全运行。
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:利刃信安 利刃信安 利刃信安《密钥生成》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论