本发明专利技术提供一种基于国密的安全传输加密方法,基于国密SM2的基础上,舍弃国密SM2加密中的C1和C3,保留加密数据C2和消息编号,实现物联网终端设备上的国密SM2的非对称加解密。本发明专利技术在传输数据的过程中采用了国密SM2的非对称加解密,通过物联网终端设备和接收端自行计算国密SM2的随机种子,在传输中省略了传统国密SM2中必须传输的C1和C3,只保留C2有效数据,使物联网终端等带宽有限的设备上加入国密SM2的非对称加解密成为可能,使得密文占用带宽减少。宽减少。宽减少。
【技术实现步骤摘要】
一种基于国密的安全传输加密方法
[0001]本专利技术属于信息
,具体涉及一种基于国密的安全传输加密方法。
技术介绍
[0002]进入二十一世纪以来,物联网技术高速发展,物联网设备之间的通讯面临安全考验,为了建立自主可控的安全传输,我们一般可以对传输的内容采用国密算法进行加密传输。已有的国密SM2解决了物联网设备移植国密算法的适配性等问题,但是,由于国密对加密内容算法的设计存在对原文长度较小情况下加密后密文较大的问题。在大多场景下,物联网设备,如传感器和上位机之间的每次通讯都是非常少内容,少致几个字节,这种情况下势必增加传输的时间和带宽。
技术实现思路
[0003]本专利技术要解决的技术问题是提供一种基于国密的安全传输加密方法,基于国密SM2实现基于国密SM2的非对称加解密的基础上,舍弃国密SM2中的C1和C3,只保留C2有效数据,使物联网终端等带宽有限的设备上加入国密SM2的非对称加解密成为可能。
[0004]为解决上述技术问题,本专利技术的实施例提供一种基于国密的安全传输加密方法,基于国密SM2的基础上,舍弃国密SM2加密中的C1和C3,保留加密数据C2和消息编号,实现物联网终端设备上的国密SM2的非对称加解密。
[0005]其中,基于国密的安全传输加密方法包括如下步骤:S1、物联网终端设备生成公私钥对P1、K1,云端生成公私钥对P2、K2,物联网终端设备将公钥P1发送给云端,云端将公钥P2发送给物联网终端设备;S2、物联网终端设备用公钥P2对设备ID做国密SM2的加密后,发送给云端,云端用私钥K2解密获得设备ID;S3、物联网终端设备将设备ID通过SHA256计算取前16个字节作为种子seed;S4、物联网终端设备将种子seed和4字节的消息编号通过SHA512计算取前32个字节作为临时私钥K3,通过国密SM2的公钥派生算法计算出临时公钥P3;S5、物联网终端设备将临时私钥K3、临时公钥P3代入到国密SM2中,替换随机种子;S6、物联网终端设备将加密生成的加密数据C2和每次递增的消息编号发送给云端;S7、云端接收到加密数据C2和消息编号后,先通过设备ID和消息编号计算出临时公私钥P3
′
、K3
′
,然后将临时公私钥P3
′
、K3
′
,加密数据C2和用于解密的云端的私钥K2代入到国密SM2中,临时公私钥P3
′
、K3
′
替换国密SM2的随机种子,得到解密后的数据。
[0006]其中,物联网终端设备和云端之间采用wifi、lora或ble传输。
[0007]本专利技术的上述技术方案的有益效果如下:1、传统的物联网设备的加解密一般都是利用对称加解密,非对称加解密一般是在传输密钥的时候使用,传输数据也都是使用对称加解密,本专利技术在传输数据的过程中采用
了国密SM2的非对称加解密,通过物联网终端设备和云端自行计算国密SM2的随机种子,在传输中省略了传统国密SM2中必须传输的C1和C3,只保留C2有效数据,使物联网终端等带宽有限的设备上加入国密SM2的非对称加解密成为可能,使得密文占用带宽减少。
[0008]2、本专利技术在传输过程中,未传输C1,使得破译密文得难度更大。
[0009]3、本专利技术创新性地预定义了物联网终端设备和云端的随机种子的生成算法,使两端的通信更加的安全。
附图说明
[0010]图1为本专利技术的流程图。
[0011]图2为本专利技术对比国密SM2在通信传输中的性能对比图。
具体实施方式
[0012]为使本专利技术要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。
[0013]本专利技术提供一种基于国密的安全传输加密方法,基于国密SM2的基础上,舍弃国密SM2中的C1和C3,保留加密数据C2和消息编号,实现物联网终端设备上的国密SM2的非对称加解密。
[0014]如图1所示,所述的基于国密的安全传输加密方法包括如下步骤:S1、物联网终端设备生成公私钥对P1、K1,云端生成公私钥对P2、K2,物联网终端设备将公钥P1发送给云端,云端将公钥P2发送给物联网终端设备;S2、物联网终端设备用公钥P2对设备ID做国密SM2的加密后,发送给云端,云端用私钥K2解密获得设备ID;S3、物联网终端设备将设备ID通过SHA256计算取前16个字节作为种子seed;具体为:对设备ID进行SHA256,得到32个字节的HASH,取前16个字节。
[0015]S4、物联网终端设备将种子seed和4字节的消息编号通过SHA512计算取前32个字节作为临时私钥K3,通过国密SM2的公钥派生算法计算出临时公钥P3;具体为:Seed(16个字节)+消息编号(4个字节)进行SHA512,得到64个字节的HASH,取前32个字节作为私钥K3,然后通过国密SM2的公钥派生算法计算出公钥P3,对应国密3的api是sm2_jacobian_point_mul_generator,sm2_point_to_compressed_octets。
[0016]S5、物联网终端设备将临时私钥K3、临时公钥P3代入到国密SM2中,替换随机种子。本步骤中的随机种子是国密SM2的一个特性,加密的时候会临时随机一个种子,派生出公私钥,然后将加密数据C2和随机种子对应的公钥C1还有SM3的hash C3发送给云端(本专利技术中所谓云端指物联网终端设备的对端,可以为上位机,可以为云端,也可以为其他设备)。本专利技术的目的是双方约定随机种子,这样就不需要传递C1了。本步骤中,国密SM2原生的代码是随机生成种子K,我们是通过对国密SM2的API进行改写,将K3、P3传入加解密算法,代替原来随机生成的种子K。
[0017]本专利技术中所述C1、C2、C3是指国密SM2加密后得到的数据,C1为随机种子计算出的公钥,C2是密文数据,C3是SM3的hash。
[0018]S6、物联网终端设备将加密生成的加密数据C2和每次递增的消息编号发送给云
端;S7、云端接收到加密数据C2和消息编号后,先通过设备ID和消息编号计算出临时公私钥P3
′
、K3
′
,然后将临时公私钥P3
′
、K3
′
,加密数据C2和用于解密的云端的私钥K2代入到国密SM2中,临时公私钥P3
′
、K3
′
替换国密SM2的随机种子,得到解密后的数据。步骤S4是在设备端进行,S7是在云端进行,只有两端计算出的K3、P3和K3
′
、P3
′
一致,才能实现加解密。
[0019]所述的物联网终端设备和云端之间采用wifi、lora、ble传输,等传输,但不局限于这些。
[0020]本专利技术对国密SM2进行改造,添加随机种子参数,将在函数内部随机生成的种子替换成外部传递的种子。本专利技术创新性地预定义了物联网终端设备和云端的随机种子的生成算法(步本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种基于国密的安全传输加密方法,其特征在于,基于国密SM2的基础上,舍弃国密SM2中的C1和C3,保留加密数据C2和消息编号,实现物联网终端设备上的国密SM2的非对称加解密。2.根据权利要求1所述的基于国密的安全传输加密方法,其特征在于,包括如下步骤:S1、物联网终端设备生成公私钥对P1、K1,云端生成公私钥对P2、K2,物联网终端设备将公钥P1发送给云端,云端将公钥P2发送给物联网终端设备;S2、物联网终端设备用公钥P2对设备ID做国密SM2的加密后,发送给云端,云端用公钥P2解密获得设备ID;S3、物联网终端设备将设备ID通过SHA256计算取前16个字节作为种子seed;S4、物联网终端设备将种子seed和4字节的消息编号通过SHA512计算取前32个字节作为临时私钥K3,通过国密SM2的公钥派生算法计算出临时...
【专利技术属性】
技术研发人员:崔建军,许文波,朱清文,吴钊,高伟峻,李建红,蔡哲飚,
申请(专利权)人:上海特高信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。