(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210909342.X
(22)申请日 2022.07.29
(66)本国优先权数据
202210648525.0 202 2.06.09 CN
(71)申请人 郑州信大捷安信息技 术股份有限公
司
地址 450000 河南省郑州市金 水区杨金路
139号F4号楼
(72)发明人 雷宗华 彭金辉 乔绍虎 卫志刚
刘武忠
(74)专利代理 机构 郑州德勤知识产权代理有限
公司 41128
专利代理师 张微微
(51)Int.Cl.
H04L 9/08(2006.01)H04L 9/30(2006.01)
H04L 9/32(2006.01)
(54)发明名称
一种密码模块固件的校验方法和系统
(57)摘要
本发明提出了一种密码模块固件的校验方
法和系统, 所述方法包括: 固件发行流程: 由第一
智能密码钥匙产生随机数R; 使用第一公私钥对
的私钥对固件M进行签名得到签名值SIGN; 采用
随机数R对固件M加密得到固件密文E; 使用第二
数字证书的公钥加密随机数R得到随机数密文
ENV; 基于E||SIGN||ENV进行拼接输出固件发布
文件SP; 固件安装前校验流程: 由第二智能密码
钥匙采用第二公私钥对的私钥对随机数密文ENV
解密得到随机数R; 使用随机数R对固件密文E解
密得到固件M; 采用第一数字证书的公钥P1对固
件M和签名值SIGN进行验签; 若验证通过, 把M||
SIGN存储至密码模块中并完成固件安装; 否则,
停止安装。 本发明能够实现对固件的校验, 确保
固件可信安装。
权利要求书3页 说明书8页 附图3页
CN 115296800 A
2022.11.04
CN 115296800 A
1.一种密码模块固件的校验方法, 其特 征在于, 所述方法包括:
固件发行流 程:
步骤1‑1, 使用第一智能密码钥匙产生随机数R, 其中第一智能密码钥匙为固件发行者
持有, 内置有第二数字证书以及第一公私钥对, 第二数字证书为预先基于第二公私钥对的
公钥向CA证书颁发机构申请获得的数字证书;
步骤1‑2, 使用第一智能密码钥匙中第一公私钥对的私钥对固件M进行签名, 得到签名
值SIGN;
步骤1‑3, 将随机数R作为对称密钥对固件M进行加密, 得到固件密文E;
步骤1‑4, 使用第一智能密码钥匙中的第二数字证书的公钥加密随机数R, 得到随机数
密文ENV;
步骤1‑5, 将固件密文E、 签名值SIGN、 随机数密文ENV以E||SIGN||ENV方 式进行拼接, 输
出固件发布文件S P;
固件安装前 校验流程:
步骤2‑1, 使用第二智能密码钥匙中第二公私钥对 的私钥对随机数密文ENV进行解密,
得到随机数R, 其中第二智能密码钥匙为固件安装者持有, 内置有第一数字证书以及第二 公
私钥对, 其中第一数字证书为预先基于第一 公私钥对的公钥向CA证书颁 发机构申请获得的
数字证书;
步骤2‑2, 使用随机数R对固件密文E进行解密, 得到固件M;
步骤2‑3, 使用第二智能密码钥匙中的第一数字证书的公钥对固件M和签名值SIGN进行
验签; 若验证通过, 把固件M和签名值SIGN以M||SIGN 方式拼接后存储至密码模块中并执行
固件安装; 否则, 停止安装。
2.根据权利要求1所述的一种密码模块固件的校验方法, 其特征在于, 上述步骤1 ‑2, 具
体包括:
由第一智能密码钥匙采用哈希算法对固件M进行哈希计算, 得到哈希值;
使用第一智能密码钥匙中第一公私钥对的私钥对固件M的哈希值进行签名, 得到签名
值SIGN。
3.根据权利要求1所述的一种密码模块固件的校验方法, 其特征在于, 在固件发行流程
之前, 所述方法还 包括:
初始化过程:
步骤0‑1, 在生产可信环境下, 使用第一智能密码钥匙生成第一公私钥对, 基于第一公
私钥对的公钥向CA证书颁 发机构申请第一数字证书, 并把申请获取的第一数字证书导入至
第二智能密码钥匙中;
步骤0‑2, 在生产可信环境下, 使用第二智能密码钥匙生成第二公私钥对, 基于第二公
私钥对的公钥向CA证书颁 发机构申请第二数字证书, 并把申请获取的第二数字证书导入至
第一智能密码钥匙中。
4.根据权利要求1所述的一种密码模块固件的校验方法, 其特征在于, 在步骤2.3验证
通过后, 还把第一数字证书存 储至密码模块中, 供固件运行 前校验使用;
固件运行 前校验流程:
密码模块使用第一数字证书的公钥 对固件M和签名值SIGN进行验签, 若验证通过, 则继权 利 要 求 书 1/3 页
2
CN 115296800 A
2续运行, 否则校验失败, 停止运行。
5.根据权利要求4所述的一种密码模块固件的校验方法, 其特征在于, 由密码模块使用
内部保存的第一数字证书的公钥对固件M和签名值SIGN进行验签, 具体包括:
由密码模块采用哈希算法对固件M进行哈希运 算, 得到哈希值;
基于第一数字证书的公钥、 哈希值和签名值SIGN, 通过验签算法进行计算, 输出计算结
果;
判断计算结果是否为0, 如果是, 则验签通过, 否者, 则验签未通过。
6.一种智能密码钥匙, 安装在固件发行设备 上, 其特征在于, 包括:
第一存储模块, 内置有第二数字证书以及第一公私钥对, 第二数字证书为预先基于第
二公私钥对的公钥向CA证书颁发机构申请获得的数字证书;
固件接收单 元, 用于接收待发行的固件M;
随机数生成单 元, 用于生成随机数R;
签名单元, 用于使用第一公私钥对的私钥对固件M进行签名, 得到签名值SIGN;
固件加密单 元, 用于利用随机数R作为对称密钥对固件M进行加密, 输出固件密文E;
随机数加密单 元, 用于使用第二数字证书的公钥加密随机数R, 得到随机数密文ENV;
拼接输出单元, 用于将固件密文E、 签名值SIGN、 随机数密文ENV以E||SIGN||ENV方 式进
行拼接, 输出固件发布文件S P。
7.一种智能密码钥匙, 安装在固件安装设备 上, 其特征在于, 包括:
第二存储模块, 内置有第一数字证书以及第二公私钥对, 其中第一数字证书为预先基
于第一公私钥对的公钥向CA证书颁发机构申请获得的数字证书;
接收单元, 用于接收固件发布文件SP, 所述固件发布文件SP包括以E||SIGN||ENV方式
拼接的固件密文E、 签名值SIGN、 随机数密文ENV;
随机数解密单元, 用于使用第二公私钥对的私钥 对随机数密文ENV进行解密, 得到随机
数R;
固件解密单 元, 用于使用随机数R对固件密文E进行解密, 得到固件M;
验签单元, 用于使用第一数字证书的公钥 对固件M和签名值SIGN进行验签, 并在验证通
过时把固件M和签名值SIGN以M||SIGN 方式拼接后存储至固件安装设备中以进行固件安
装。
8.一种密码模块固件的安装系统, 其特征在于, 包括: 固件发行设备和密码模块, 所述
固件发行设备上安装有第一智能密码钥匙, 所述密码模块上安装有第二智能密码钥匙, 其
中第一智能密码钥匙为权利要求6所述的智能密码钥匙, 第二智能密码钥匙为权利要求7所
述的智能密码钥匙; ; 所述固件发行设备, 用于生 成待发行的固件M, 基于所述第一智能密码
钥匙对固件M进行加密和签名, 输出包 含固件密文和签名值的固件发布文件S P;
所述密码模块, 用于接收固件发布文件SP, 基于所述第二智能密码钥匙对所述固件发
布文件SP中的固件密 文进行解密, 以及基于获得的固件M对签名值进 行验签, 并在 验签通过
后, 将所述固件M、 所述签名值以及所述第二智能密码钥匙内置的第一数字证书进行存储,
安装所述固件M 。
9.根据权利要求8所述的一种密码模块固件的安装系统, 其特 征在于,
所述第一智能密码钥匙, 还用于在生产可信环境下生成第一公私钥对, 基于第一公私权 利 要 求 书 2/3 页
3
CN 115296800 A
3
专利 一种密码模块固件的校验方法和系统
文档预览
中文文档
15 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共15页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-03-03 12:16:23上传分享