(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210342588.3 (22)申请日 2022.03.31 (71)申请人 中安云科 科技发展(山 东)有限公司 地址 250000 山东省济南市中国(山 东)自 由贸易试验区济南片区经十路7000号 汉峪金谷A7-4栋1768 (72)发明人 武迪 刘磊  (74)专利代理 机构 北京盛凡佳华专利代理事务 所(普通合伙) 11947 专利代理师 金福坤 (51)Int.Cl. H04L 9/14(2006.01) H04L 9/32(2006.01) H04L 9/06(2006.01) H04L 9/30(2006.01)H04L 9/00(2022.01) H04L 9/40(2022.01) G06F 8/65(2018.01) (54)发明名称 一种密码卡 安全远程升级的方法 (57)摘要 本发明涉及密码卡升级技术领域, 具体地 说, 涉及一种密码卡安全远程升级的方法。 包括 如下步骤: 在密码卡内部通过SM3生成固件请求 文件; 将固件请求文件通过网络传 送给密码卡厂 家; 解析固件请求文件; 依次使用SM4、 SM2对升级 固件进行加密, 并通过SM3生成固件升级文件; 将 固件升级文件通过网络传送到密码卡内部; 密码 卡解析固件升级文件; 比较解析出的数据与密码 卡内部保存的是否一致; 依次使用SM2、 SM4解密 获取原始固件并更新到密码卡。 本发 明设计通过 使用密码学算 法SM2、 SM3、 SM4对升级文件进行保 护, 可以防止外部对升级文件进行非法篡改; 密 码卡的升级文件根据密码卡内部数据的变化动 态生成, 可以防止重放攻击, 提高升级效率、 缩短 耗时, 且有效降低成本 。 权利要求书2页 说明书7页 附图4页 CN 115065471 A 2022.09.16 CN 115065471 A 1.一种密码卡 安全远程升级的方法, 其特 征在于: 包括如下步骤: S1、 在密码卡 内部生成一对由私钥Pa、 公钥Pb组成的SM2密钥对和一组16字节的随机数 R1, 将SM2公钥Pb和随机数R 1以及设备编号Sn 通过SM3算法获得H1; S2、 将Pb、 R 1、 Sn、 H1保存到固件请求文件F1中; S3、 将固件请求文件F1通过网络传送给密码卡厂家; S4、 密码卡厂家从固件请求文件F1中解析出H1, 使用SM3运算, 结果与H进行比较, 如果 不同则退 出, 正确则继续 解析出Pb、 R1、 Sn; S5、 生成16字节的随机数R2, 使用R2对升级固件使用SM4算法进行加密获得Fs, 并使用 Pb对R2进行SM2加密获得E1, 将Fs、 E1、 R1、 Sn进行SM3运算获取H2, 将Fs、 E1、 R1、 Sn、 H2保存到 固件升级 文件F2中; S6、 将固件升级 文件F2通过网络传送到密码卡内部; S7、 密码卡解析固件升级文件F2, 进行SM3算法运算, 结果与H2比较, 如果不 同则退出, 正确则解析 出Fs、 E1、 R1、 Sn; S8、 比较解析出的R1、 Sn与密码卡内部保存的R1、 Sn是否一致, 如果不同则退出, 正确则 继续; S9、 使用Pa对E1进行SM2解密获取到R2, 使用R2对Fs使用SM4算法解密获取到原始固件, 更新到密码卡 程序空间中, 至此升级完成。 2.根据权利 要求1所述的密码卡安全远程升级的方法, 其特征在于: 所述S1、 所述S4、 所 述S5、 所述S7中, S M3算法适用于商用密码应用中的数字签名和验证, 是在SHA ‑256基础上改 进实现的一种算法, 其安全性和SHA ‑256相当, 整个运算过程包含四个步骤: 消息填充、 消息 扩展、 迭代压缩、 输出 结果。 3.根据权利 要求1所述的密码卡安全远程升级的方法, 其特征在于: 所述S1、 所述S4、 所 述S5中, H1、 H和H2均为哈希值, 其中, H1为密码卡内部密钥对的SM3哈希值, H为升级 固件的 内部哈希值, H2为升级固件加密后的SM 3哈希值。 4.根据权利 要求1所述的密码卡安全远程升级的方法, 其特征在于: 所述S1、 所述S5、 所 述S9中, S M2算法是我国自主知识产权的商用密码算法, 是ECC算法的一种, 基于椭圆曲线离 散对数问题, 计算复杂度是指数级, 求 解难度较大。 5.根据权利 要求1所述的密码卡安全远程升级的方法, 其特征在于: 所述S5中, SM2加密 的算法流 程包括如下步骤: 设需要发送的消息为比特串M, klen为M的比特长度; 为了对明文M进行加密, 加密者通 过以下运 算步骤进行实现: A1、 用随机数发生器产生随机数k∈[1,n ‑1]; A2、 计算椭圆曲线C1=[k]G=(x1,y1), 将C1的数据类型转换为比特串; A3、 计算椭圆曲线点S=[h]pb, 若S是 无穷远点, 则报错并退 出; A4、 计算椭圆曲线点[k]pb=(x2,y2), 将坐标x2、 y2的数据类型转换为比特串; A5、 计算t=KDF(x2||y2,klen), 若t为全0比特串, 则返回步骤A1; A6、 计算 A7、 计算C3=Hash(x2||M||y2); A8、 输出密文C=C1||C3||C2。权 利 要 求 书 1/2 页 2 CN 115065471 A 26.根据权利 要求5所述的密码卡安全远程升级的方法, 其特征在于: 所述S9中, SM2解密 的算法包括如下步骤: 设klen为密文中C2的比特长度; 为了对密文C=C1||C3||C2进行解密, 解密者 通过以下运 算步骤进行实现: B1、 从C中取出比特串C1, 将C1的数据类型转换为椭圆曲线上的点, 验证C1是否满足椭圆 曲线方程, 若不满足则报错并退 出; B2、 计算椭圆曲线点S=[h]C1, 若S是无穷远点, 则报错并退 出; B3、 计算[dB]C1=(x2,y2), 将坐标x2、 y2的数据类型转换为比特串; B4、 计算t=KDF(x2||y2,klen), 若t为全0比特串, 则报错并退 出; B5、 从C中取 出比特串C2, 计算 B6、 计算u=Hash(x2||M'||y2), 从C中取 出比特串C3, 若u≠C3, 则报错并退 出; B7、 输出明文M'。 7.根据权利 要求6所述的密码卡安全远程升级的方法, 其特征在于: 所述A5、 所述B4中, 实现KDF函数的流 程如下, 其中的Ha函数使用SM 3算法: 输入: 比特串Z, 整数k len; 输出: 长度为 klen的密钥数据比特串K; Step1、 初始化 一个32比特构成的计算器ct=0x0 0000001; Step2、 对i从1到 执行: (2.1)、 计算Hai=Hv(Z||ct); (2.2)、 ct++; Step3、 若k len/v是整数, 令 否则令 为 最左边的 比特; Step4、 令 8.根据权利 要求1所述的密码卡安全远程升级的方法, 其特征在于: 所述S5、 所述S9中, SM4算法是一种分组密码算法, 其分组长度和密钥长度均为 128bit, 加密算法与密钥扩展算 法均采用32轮非线性迭代结构, 以字为单位进行加密运算, 每一次迭代运算均为一轮变换 函数。权 利 要 求 书 2/2 页 3 CN 115065471 A 3

.PDF文档 专利 一种密码卡安全远程升级的方法

安全报告 > 其他 > 文档预览
中文文档 14 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种密码卡安全远程升级的方法 第 1 页 专利 一种密码卡安全远程升级的方法 第 2 页 专利 一种密码卡安全远程升级的方法 第 3 页
下载文档到电脑,方便使用
本文档由 思考人生2024-02-07 20:40:21上传分享
给文档打分
您好可以输入 255 个字符
网站域名是多少( 答案:github5.com )
评论列表
  • 暂时还没有评论,期待您的金玉良言
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。