本文主要介绍了对称密钥管理系统的体系结构、密钥管理流程、安全通道协议、标准管理消息格式等。详情可以去查看GM/T0051和GM/T0050的相关内容。
密钥管理应用与被管设备间的密钥管理协议,通过GM/T0050定义的安全通道承载。
密钥管理系统调用GM/T0050—2016中9.2.1的初始化设备管理环境API接口,获取与被管设备的安全通道句柄,调用GM/T0050-2016中9.4的安全通道数据发送接口,将密钥管理指令封装在安全通道消息PDU中发送至被管密码设备。
按照密钥产生机制划分为以下架构:
以下为上图模块的详细内容以及密钥功能介绍:
密钥管理系统主要功能是管理业务密钥,同时应具备身份认证、审计管理功能,以确保管理系统的安全。
密钥管理系统根据具体情况采用多级管理中心的方式。
主控模块:管理、调度其他模块的关键模块,完成策略配置、密钥分发、密钥查询等主要密管功能。
密钥生成策略的配置包括是否使用专用密钥生成装置、密钥生成的数量及长度要求等,由密钥管理系统根据密钥管理应用需求制定,密钥分发策略的配置包括一系列组合条件。
其他策略的配置包括密钥查询方式、通用密钥生成装置封装格式的导入等操作
当策略条件满足时,将触发相应的密钥管理操作。
通用密钥生成装置生成随机数,主控管理模块根据被管设备密钥格式配置文件的要求将所产生的随机密钥封装为原子密钥。
密钥分发:根据密钥分发策略进行在线分发或离线分发。在线密钥分发过程应遵循本标准制定的密钥分发协议。离线分发支持多种分发介质,包括专用密钥加载装置、通用移动密钥加载装置等,应遵循介质的安全分发协议。
被管设备接收和执行标准密钥管理命令。
被管设备的密钥管理代理由设备厂商定制。
密钥格式配置文件:
专用密钥生成装置生成N个量子密钥时使用ParaData参数码流直接调用接口,填写入ParaData结构。
通用密钥生成装置生成N个量子密钥时所采用的原子密钥模板表中各个码流表格式如下:
待加密数据必须填充,方法为:
第一个字节为0x80,气候为若干个0x00,填充到分组长度整数倍。
指令采用网络字节序传输。
密钥生成装置在密钥管理主机中的主控模块下发的密钥格式配置文件的指导下生成了符合要求的原子密钥,再与密管密码机进行通信,将这些原子密钥进行转加密存储到密钥库中。
密钥生成装置与密管密码机通过证书机制互相通过身份认证后,需要通过协商会话密钥去加密原子密钥,并最终将原子密钥安全地保存到密钥库中。
在通过证书认证机制后,密管密码机与密钥生成装置间通过各自的证书公私钥进行如下会话密钥协商操作:
PS:此处的信息发送方和接收方皆为个人的理解,标准中未明确提及。
密管密码机调用int SMF_GenAtomKey();
函数,基于签名机制向密钥生成装置指定会话密钥加密原子密钥的算法,随后密钥生成装置返回对应的原子密钥密文。
密管密码机收到原子密钥密文后,再用自己本地的主密钥进行转加密,格式化封装后存储于密钥库中。
下图为密钥生成装置接口:
两方的原子密钥密文传递为:
将原子密钥密文存储到密钥库之前,需要将密文按照标准格式进行封装。
在密钥分发之前,同样需要将原子密钥密文进行标准格式封装。
注意:存储和分发的封装时采用的加密密钥是不同的。
参考:
GMT 0051-2016 密码设备管理-对称密钥管理技术规范
GMT 0050-2016 密码设备管理-设备管理技术规范
原文:https://www.cnblogs.com/11sgXL/p/14627047.html