一种基于国密算法的跳变密钥数字通信加密系统和方法技术方案

技术编号:34553916 阅读:27 留言:0更新日期:2022-08-17 12:39
本发明专利技术公开了基于国密算法的跳变密钥数字通信加密系统和方法,针对传统密钥协商协议计算效率偏低、安全性不足,通信全程使用单一会话密钥的安全隐患,提供任务授权、身份认证、会话密钥协商、信息传输加密和时间戳保护等一整套安全通信机制,可有效防御未授权接入、身份冒充、信道窃听、数据篡改、指令重放和内部攻击等安全威胁。本发明专利技术基于椭圆曲线密码,安全性和计算效率明显高于DH密钥协商协议和RSA公钥密码算法;引入数字签名和基于任务授权的轻量级证书机制,可抵御中间人攻击,并减少对公钥基础设施的依赖;使用跳变密钥代替单一会话密钥,显著提高攻击者破译密钥或分析密文统计特征的难度;全面采用国密算法,提升安全自主能力。能力。能力。

【技术实现步骤摘要】
一种基于国密算法的跳变密钥数字通信加密系统和方法


[0001]本专利技术涉及数据通信加密
,特别涉及一种基于国密算法的跳变密钥数字通信加密系统和方法。

技术介绍

[0002]Diffie

Hellman密钥交换协议(以下简称“DH协议”)是密码学领域最早付诸实践的密钥交换方法之一。DH协议可以让需要安全通信的双方在完全缺乏对方信息的条件下,通过不安全的信道确定一个共享的对称密钥,然后用这个密钥加密和解密后续报文。DH协议原理简单,易于实现,得到了广泛运用,但其具有明显的缺陷:一是计算量偏大,易于遭受拒绝服务攻击;二是无法确认对方的身份,易被冒充的攻击者欺骗;三是不能抵御中间人攻击。
[0003]而基于椭圆曲线密码(Elliptic curve cryptography,ECC)的椭圆曲线Diffie

Hellman密钥交换协议(以下简称“ECDH协议”),比DH协议破解难度更高,实现相同安全性所需的密钥位数明显减少,且极大提高了计算效率。数字签名解决了身份认证问题,且数字证书机制使得用户所声称的身份和权限具有一定可信度。但是其传统的证书体制依赖庞大的公钥基础设施做支撑,难以应用于轻量化和需要一定自组织能力的系统中。
[0004]中国商用密码标准算法(以下简称“国密算法”)是指国家密码管理局认定的一系列国产商用密码算法。其中SM2是我国自主设计的公钥密码算法,包含数字签名、密钥交换和公钥加密,用于替换RSA/ECDSA/DH/ECDH等国际算法。SM3是一种密码杂凑算法,用于替换MD5/SHA

1等国际算法。SM4是我国自主设计的对称分组密码算法,用于数据加解密运算以保证机密性,可替代DES/AES等国际算法。国密算法具备高安全性且自主可控,正在各领域加速推广,已被越来越多的国产软硬件产品所采用,在国内逐步取代国外密码算法已是大势所趋。
[0005]现有技术中的一次一密密码(one

time

pad)最早出现在1917年。其安全原理是,双方每次通讯传递的明文都使用和明文消息等长的密钥进行加密,密钥是完全随机的,而且只用一次便永久丢弃,由信息论原理可知,攻击者拿到一份密文后无法获取背后的密钥与明文这两份信息,从理论上保证了数据传递的绝对安全。即使攻击者拥有无限的计算能力,能监听到双方的全部密文,只要不掌握密码本,试图从密文中破译出明文的努力都是徒劳的。虽然一次一密原理简单,能达到绝对安全,但生成真随机密码本和将其安全传递的成本巨大,仅限于在对通信安全要求极为苛刻的场景下使用,无法直接应用于对实时性、可靠性、安全性和成本等都有很高要求的现代数字通信领域。即使实用的加密系统无法真正做到一次一密,但通过模拟一次一密的部分特性,对提升安全性也有显著作用。
[0006]以因特网为例,目前仍有很多站点采用DH协议进行密钥交换、采用RSA进行数字签名,安全隐患较大且效率不高;在一次会话中,当前普遍采用单一会话密钥,当会话时间长、报文交互量大时,破解风险将明显增加;国密算法SM2、SM3和SM4自2010年发布以来,已被证明具有较高的安全性,国内站点尽早完成国密算法替代将显著提升安全性和自主能力。为
此,本申请为了解决数字通信中密钥交换和数字签名算法安全性不够、公钥设施轻量化应用、会话密钥易被破解和国密算法替代的问题,提出了一种基于国密算法的跳变密钥数字通信加密系统和方法。

技术实现思路

[0007]针对上述存在的问题,本专利技术针对具有很高安全需求的数字通信领域,设计了轻量级的基于任务的数字通信加密系统体系结构,综合运用国密算法SM2、SM3和SM4,解决授权、身份认证、密钥协商和保密传输问题,创新性地采用跳变密钥加密会话消息以降低破解风险,提出了基于国密算法的跳变密钥数字通信加密系统和方法。
[0008]为了实现上述目的,本专利技术所采用的技术方案如下:
[0009]一种基于国密算法的跳变密钥数字通信加密系统,其特征在于,包括任务授权模块、身份认证模块和数据传输模块,所述任务授权模块以任务为基本单位,为具备同一任务权限的终端任务进行授权,其采用基于国密算法SM2数字签名实现授权,授权成功后将授权数据与相应终端进行绑定;
[0010]所述身份认证模块用于对任务执行过程需要通信的多个终端之间进行身份认证,身份认证成功后在终端之间建立可信任的连接;
[0011]所述数据传输模块用于已建立连接的终端之间进行消息加密传输。
[0012]进一步地,所述任务授权模块包括任务对象创建单元、公钥验证单元、数字签名单元以及授权单元,其中任务对象创建单元用于任务中心检查终端是否存在任务对象,若没有任务对象则生成接入密钥将任务对象和密钥存至任务列表;公钥验证单元用于任务中心检查终端的公钥合法性;数字签名单元用于任务中心使用签名私钥进行数字签名;授权单元用于任务中心将授权数据发给终端;
[0013]所述身份认证模块包括国密算法SM4加密单元、国密算法SM4解密单元、协商响应单元、其中国密算法SM4加密单元用于对发起方的信息进行加密;国密算法SM4解密单元用于接收方对接收到的密文进行解密;协商响应单元通过运行SM2密钥交换协议的响应协商算法用于发送方和接收方交换密钥、签名数据完成双方身份认证;
[0014]所述数据传输模块包括伪随机跳变密钥生成单元、会话加密单元和会话解密单元,其中伪随机跳变密钥生成单元根据发送方和接收方中的种子密钥生成密钥列表和密钥索引;所述会话加密单元用于发送方通过密钥索引在密钥列表中查找相应密钥作为当前消息的会话密钥,对当前消息进行加密;所述会话解密单元用于接收方循环读取密钥索引,并以密钥列表中相应索引对应的密钥作为当前消息的会话密钥,解密收到的密文。
[0015]一种基于国密算法的数据通信方法,其特征在于,包括以下步骤:
[0016]步骤1:任务中心对参与任务的终端A进行授权,若授权成功则在任务中心创建任务对象,记录接入密钥和任务对象,并且终端A中记录接入密钥和证书;
[0017]步骤2:ID为ID
A
、公钥为P
A
的发起方终端A和ID为ID
B
、公钥为P
B
的响应方终端B都被授权执行编号为task1的任务,A和B分别对对方进行身份认证,最终通过握手建立连接;
[0018]步骤3:终端A和终端B建立连接后,以伪随机跳变的多个密钥在A和B之间进行加密数据传输。
[0019]进一步地,假设终端A的ID为ID
A
,公钥为P
A
,任务编号为task1,步骤1所述的授权步
骤包括:
[0020]步骤101:任务中心检查A的task1是否存在,若不存在则为task1创建任务对象,随机生成接入密钥key1,并将任务对象和key1记录至任务列表;
[0021]步骤102:任务中心检查A的公钥P
A
...

【技术保护点】

【技术特征摘要】
1.一种基于国密算法的跳变密钥数字通信加密系统,其特征在于,包括任务授权模块、身份认证模块和数据传输模块,所述任务授权模块以任务为基本单位,为具备同一任务权限的终端任务进行授权,其采用基于国密算法SM2数字签名实现授权,授权成功后将授权数据与相应终端进行绑定;所述身份认证模块用于对任务执行过程需要通信的多个终端之间进行身份认证,身份认证成功后在终端之间建立可信任的连接;所述数据传输模块用于已建立连接的终端之间进行消息加密传输。2.如权利要求1所述的一种基于国密算法的跳变密钥数字通信加密系统,其特征在于,所述任务授权模块包括任务对象创建单元、公钥验证单元、数字签名单元以及授权单元,其中任务对象创建单元用于任务中心检查终端是否存在任务对象,若没有任务对象则生成接入密钥将任务对象和密钥存至任务列表;公钥验证单元用于任务中心检查终端的公钥合法性;数字签名单元用于任务中心使用签名私钥进行数字签名;授权单元用于任务中心将授权数据发给终端;所述身份认证模块包括国密算法SM4加密单元、国密算法SM4解密单元、协商响应单元、其中国密算法SM4加密单元用于对发起方的信息进行加密;国密算法SM4解密单元用于接收方对接收到的密文进行解密;协商响应单元通过运行SM2密钥交换协议的响应协商算法用于发送方和接收方交换密钥、签名数据完成双方身份认证;所述数据传输模块包括伪随机跳变密钥生成单元、会话加密单元和会话解密单元,其中伪随机跳变密钥生成单元根据发送方和接收方中的种子密钥生成密钥列表和密钥索引;所述会话加密单元用于发送方通过密钥索引在密钥列表中查找相应密钥作为当前消息的会话密钥,对当前消息进行加密;所述会话解密单元用于接收方循环读取密钥索引,并以密钥列表中相应索引对应的密钥作为当前消息的会话密钥,解密收到的密文。3.一种基于国密算法的数据通信方法,其特征在于,包括以下步骤:步骤1:任务中心对参与任务的终端A进行授权,若授权成功则在任务中心创建任务对象,记录接入密钥和任务对象,并且终端A中记录接入密钥和证书;步骤2:ID为ID
A
、公钥为P
A
的发起方终端A和ID为ID
B
、公钥为P
B
的响应方终端B都被授权执行编号为task1的任务,A和B分别对对方进行身份认证,最终通过握手建立连接;步骤3:终端A和终端B建立连接后,以伪随机跳变的多个密钥在A和B之间进行加密数据传输。4.根据权利要求3所述的一种基于国密算法的数据通信方法,其特征在于,假设终端A的ID为ID
A
,公钥为P
A
,任务编号为task1,步骤1所述的授权步骤包括:步骤101:任务中心检查A的task1是否存在,若不存在则为task1创建任务对象,随机生成接入密钥key1,并将任务对象和key1记录至任务列表;步骤102:任务中心检查A的公钥P
A
是否合法,若不合法则授权失败,若合法则进入步骤103;步骤103:任务中心使用签名私钥对由ID
A
、P
A
和task1拼接的字节串进行数字签名,得到任务中心签名数据TC

SIG
A
;步骤104:任务中心将TC

SIG
A
和key1组成的授权数据AUT
A
发送给终端A;步骤105:A收到授权数据AUT
A
后将AUT
A
拆分成任务中心签名数据TC

SIG
A
和接入密钥key1,根据ID
A
、公钥P
A
、任务编号task1和任务中心的公钥P
TC
,对TC

SIG
A
进行验证,若验证失败则接受授权失败,若
成功则转入步骤106;步骤106:A将ID
A
、P
A
和TC

SIG
A
拼接为证书cert
A
;步骤107:A为task1创建任务对象,记录key1和cert
A
,授权成功。5.根据权利要求3所述的一种基于国密算法的数据通信方法,其特征在于,步骤2的具体操作步骤包括:步骤201:发起方A随机生成SM2下的一对公私钥r
A
和R
A
,并取出task1任务对象中的接入密钥key1和证书cert
A
,将R
A
和cert
A
拼接并以key1为密钥采用国密算法SM4进行加密,将得到的密文发送给响应方B;步骤202:响应方B从task1...

【专利技术属性】
技术研发人员:谢振杰付伟李良何涛张志红周九星刘金龙涂航
申请(专利权)人:中国人民解放军海军工程大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1