(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202210203213.9
(22)申请日 2022.03.03
(71)申请人 浙江零跑 科技股份有限公司
地址 310051 浙江省杭州市滨江区物联网
街451号1楼
(72)发明人 雷心田 李旭华 刘茂勇 周洪涛
(74)专利代理 机构 杭州杭诚专利事务所有限公
司 33109
专利代理师 王鑫康
(51)Int.Cl.
H04L 9/08(2006.01)
H04L 9/32(2006.01)
(54)发明名称
一种基于SM9算法的密钥分发和数据传输方
法
(57)摘要
本发明公开了一种基于SM9算法的密钥分发
和数据传输方法, 包括以下步骤: 构建密钥分发
和数据传输系统; 进行环境部署阶段初始化; 节
点A和节点B分别生成密钥; 使用密钥进行加密并
进行数据传输; 将传输数据存储以用于数据审
计。 上述技术方案采用SM9算法, 通过密钥分发中
心进行密钥分发, 从而达到协商密钥的效果, 同
时经过数据转发 中心转发数据, 保证数据的安全
传输和安全审计 。
权利要求书3页 说明书6页 附图1页
CN 114726510 A
2022.07.08
CN 114726510 A
1.一种基于SM9算法的密钥分发和数据传输方法, 其特 征在于, 包括以下步骤:
S1构建密钥分发和数据传输系统;
S2进行环境部署阶段初始化;
S3节点A和节点B分别生成密钥;
S4使用密钥进行加密并进行 数据传输;
S5将传输数据存 储以用于数据审计。
2.根据权利要求1所述的一种基于SM9算法的密钥分发和数据传输方法, 其特征在于,
所述步骤S1中密钥分发和数据传输系统包括密钥分发中心, 所述密钥分发中心分别与数据
库、 节点A、 节点B相连, 所述节点A、 节点B经 过数据转发中心与数据库相连。
3.根据权利要求1所述的一种基于SM9算法的密钥分发和数据传输方法, 其特征在于,
所述步骤S2进行环境部署阶段初始化具体包括:
S2.1节点A和节点B从密钥生成中心(KGC)获取智能密码钥匙;
S2.2节点A和节点B把自己的身份标识信息注册到密钥分发中心, 并与节点设备进行绑
定;
S2.3密钥分发中心把节点A、 节点B的注 册信息同步到数据转发中心。
4.根据权利要求3所述的一种基于SM9算法的密钥分发和数据传输方法, 其特征在于,
所述步骤S2.1具体包括:
S2.11节点A和节点B分别向权威机构的密钥生成中心申请支 持SM9算法的IBC智能密码
钥匙;
S2.12密钥生成中心针对节点A和节点B的身份标识信息IDA、 IDB进行认证后, 生成对应
私钥信息, 装载到IBC智能密码钥匙中;
S2.13节点A和节点B获取分别携带了各自的私钥 信息的智能密码钥匙。
5.根据权利要求1所述的一种基于SM9算法的密钥分发和数据传输方法, 其特征在于,
所述步骤S3具体包括:
S3.1节点A准备和节点B通信, 向密钥分发中心申请密钥, 申请信息中携带节点A的IDA
和节点B的IDB;
S3.2密钥分发中心生成随机数rA和rB, 分别使用IDA和IDB计算RA和RB, 密钥分发中心
存储rA、 rB、 IDA和IDB到数据库中;
S3.3密钥分发中心向节点A返回密钥因子1(rA和RB), 向节点B推送密钥因子2(rB和
RA), 密钥因子1使用IDA进行SM9加密 传输, 密钥因子2使用IDB进行SM9加密 传输;
S3.4节点A收到返回消息, 使用A节点设备的IBC智能密码钥匙中存储的私钥进行SM9解
密计算, 得到密钥因子1, 使用密钥因子1生成密钥SKA;
S3.5节点B收到推送消息, 使用B节点设备的IBC智能密码钥匙中存储的私钥进行SM9解
密计算, 得到密钥因子2, 使用密钥因子2生成密钥SKB。
6.根据权利要求5所述的一种基于SM9算法的密钥分发和数据传输方法, 其特征在于,
所述步骤S4具体包括:
S4.1节点A使用密钥SKA加密 传输的数据, 节点B使用密钥SKB解密 传输的数据;
S4.2节点A计算校验值SA, 附带在 密文数据上, 通过 数据转发中心, 传输给节点B;
S4.3节点B校验SA, 检验成功, 密文数据有效, 校验失败, 密文数据无效。权 利 要 求 书 1/3 页
2
CN 114726510 A
27.根据权利要求6所述的一种基于SM9算法的密钥分发和数据传输方法, 其特征在于,
所述RA的计算方式具体为:
计算群G1中的元 素
QB=[H1(IDB| |hid,N)]P1+Ppub
计算群G1中的元 素
RA=[rA]QB
RB的计算方式具体为:
计算群G1中的元 素
QA=[H1(IDA| |hid,N)]P1+Ppub
计算群G1中的元 素
RB=[rB]QA
其中GT为阶数为素 数N的循环 乘法群;
G1为阶数为素数N的循环加法群, P1为G1的生成元; G2为阶数为素数N的循环加法群, P2
为G2的生成元; e为从G1 ×G2到GT的满足双线性对和非退化性对; H1()H2()为密码杂凑函
数; hid为密钥 生成中心选择并公开的一个字节, 为H1的输入一部分; IDA为用户A标识; IDB
为用户B标识; QA为用户A公钥, QA=[H1(IDA||hid,N)]P+Ppub; Ppub为KGC的主公钥; s为KGC
的主私钥; 派生 函数: KDF(Z,len), 输入比特串Z, 长度len, 输出长度为 len比特串K。
8.根据权利要求7所述的一种基于SM9算法的密钥分发和数据传输方法, 其特征在于,
所述SKA的计算方式包括:
验证RB属于G1是否成立, 计算群GT中的元 素
g1=e(RB,dA)
g2=e(Ppub,P2)rA
g3=G1rA
把g1,g2,g3转换成比特串;
计算群G1中的元 素
RA=[rA]QB
把RA和RB的数据类型转换成比特串, 计算
SKA=KDF(IDA| |IDB||RA||RB||g1||g2||g3,klen)
所述SKB的计算方式包括:
验证RA属于G1是否成立, 计算群GT中的元 素
g‘1=e(RA,dB)
g’2=e(Ppub,P2)rB
g‘3=G1rB
把g‘1,g’2,g‘3转换成比特串;
计算群G1中的元 素RB=[rB]QA;
把RA和RB的数据类型转换成比特串, 计算
SKB=KDF(IDA| |IDB||RA||RB||g‘1||g‘2||g’3,klen)
其中, dA为用户A私钥, 由KGC生成分发给用户A, dA=[s/(H1(IDA||hid,N)+s)]P1; dB为
用户B私钥,由KGC生成分发给用户B, dB=[s/(H1(IDB| |hid,N)+s)]P1。权 利 要 求 书 2/3 页
3
CN 114726510 A
3
专利 一种基于SM9算法的密钥分发和数据传输方法
文档预览
中文文档
11 页
50 下载
1000 浏览
0 评论
0 收藏
3.0分
温馨提示:本文档共11页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 SC 于 2024-02-07 12:40:50上传分享