CN112235107B - 一种数据传输方法、装置、设备和存储介质 - Google Patents
一种数据传输方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN112235107B CN112235107B CN202011162901.2A CN202011162901A CN112235107B CN 112235107 B CN112235107 B CN 112235107B CN 202011162901 A CN202011162901 A CN 202011162901A CN 112235107 B CN112235107 B CN 112235107B
- Authority
- CN
- China
- Prior art keywords
- communication
- key
- hash value
- data
- algorithm
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003860 storage Methods 0.000 title claims abstract description 104
- 230000005540 biological transmission Effects 0.000 title claims abstract description 66
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000006854 communication Effects 0.000 claims abstract description 494
- 238000004891 communication Methods 0.000 claims abstract description 492
- 238000004422 calculation algorithm Methods 0.000 claims description 129
- 238000012795 verification Methods 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 10
- 238000010276 construction Methods 0.000 claims description 3
- 230000007246 mechanism Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013524 data verification Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002427 irreversible effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0435—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/30—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
- H04L9/3066—Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种数据传输方法、装置、设备和存储介质,涉及通信前端和多个通信后端,包括:当通信前端获取到待传输数据时,确定待传输数据对应的目标通信后端标识,在本地的第一密钥存储表中查找与目标通信后端标识对应的第一通信密钥并对待传输数据加密,将加密数据和待传输数据的第一杂凑值发送到目标通信后端标识对应的目标通信后端;当目标通信后端接收到加密数据和第一杂凑值时,在本地的第二密钥存储表中查找通信前端标识对应的第二通信密钥;采用第二通信密钥对加密数据进行解密,并计算解密数据的第二杂凑值;若第一杂凑值与第二杂凑值相等,则判定待传输数据传输成功。从而提高传输安全性,保证数据收发一致性,降低资源利用成本。
Description
技术领域
本发明涉及数据传输技术领域,尤其涉及一种数据传输方法、装置、设备和存储介质。
背景技术
智能电表是智能电网数据采集的基本设备之一,承担着原始电能数据采集、计量和传输的任务,是实现信息集成、分析优化和信息展现的基础。在智能网表与服务器通信的过程中,智能网表作为前端设备,服务器视为后端设备,随着传统的前后端一体化模式逐渐发展为目前普遍的前后端分离模式,分离模式同时导致了前后端进行数据交互时,会存在以下几个方面的问题:
(1)数据传输过程中某类网关、路由规则会改变原始数据的部分内容,存在发送方发送数据和接收方接收数据不一致的问题;
(2)存在明文传输或者某些简单加密传输的现象,明文传输和某些单一加密算法目前已经达不到某些业务需求的安全性;
(3)目前比较普遍的安全机制例如HTTPS协议,是通过加密传输、身份认证等方式加强交互的安全性,但是数据访问时前后端交互频繁,技术要求门槛较高,适用企业级网站,CA机构颁发的证书并不免费,此外该协议需要额外技术支持与之对接。
针对智能电表的网络攻击,不仅可获取用户隐私信息、篡改用电数据,造成电量损失,还可大面积发送错误信息,造成大量用户停电。智能电表一般基于嵌入式系统开发,需集成计量、显示、通信及自身状态监测等反窃电功能,可用计算资源有限,因此需要一种安全机制即要考虑安全性又要兼顾硬件成本、软件计算资源。
发明内容
本发明提供了一种数据传输方法、装置、设备和存储介质,解决了现有技术中数据收发不一致,传输安全性较低,资源利用成本较高的技术问题。
本发明提供的一种数据传输方法,涉及通信前端和多个通信后端,所述通信前端具有通信前端标识,所述多个通信后端分别具有通信后端标识,所述方法包括:
当所述通信前端获取到待传输数据时,确定所述待传输数据对应的目标通信后端,并在所述通信前端的第一密钥存储表中查找与所述目标通信后端标识对应的第一通信密钥;
通过所述通信前端计算所述待传输数据的第一杂凑值,并采用所述第一通信密钥对所述待传输数据进行加密,生成加密数据;
通过所述通信前端发送所述加密数据和所述第一杂凑值到与所述目标通信后端标识对应的目标通信后端;
当所述目标通信后端接收到所述加密数据和所述第一杂凑值时,在所述目标通信后端的第二密钥存储表中查找与所述通信前端标识对应的第二通信密钥;
通过所述目标通信后端采用所述第二通信密钥对所述加密数据进行解密,生成解密数据并计算所述解密数据的第二杂凑值;
若所述第一杂凑值与所述第二杂凑值相等,则通过所述目标通信后端判定所述待传输数据传输成功。
可选地,在所述当所述通信前端获取到待传输数据时,确定所述待传输数据对应的目标通信后端标识,并在所述通信前端的第一密钥存储表中查找与所述目标通信后端标识对应的第一通信密钥的步骤之前,所述方法还包括:
建立所述通信前端和所述目标通信后端之间的通信连接;
采用预置的国密算法构建所述通信前端中的第一密钥存储表和所述目标通信后端中的第二密钥存储表。
可选地,所述国密算法包括SM2算法、SM3算法和SM4算法,所述采用预置的国密算法构建所述通信前端中的第一密钥存储表和所述目标通信后端中的第二密钥存储表的步骤,包括:
通过所述目标通信后端依据所述SM2算法生成公钥和私钥,并采用所述SM3算法计算所述公钥的第三杂凑值;
通过所述目标通信后端发送所述公钥和所述第三杂凑值到所述通信前端;
通过所述通信前端根据所述公钥、所述第三杂凑值、所述SM3算法和所述SM4算法,生成待验证密钥和与所述待验证密钥对应的第一密文和第四杂凑值;
通过所述通信前端发送所述第一密文和所述第四杂凑值到所述目标通信后端;
通过所述通信前端采用所述通信前端标识、所述目标通信后端标识、所述待验证密钥和所述公钥,构建存储在所述通信前端的第一密钥存储表;
通过所述目标通信后端依据所述第一密文、所述第四杂凑值和所述SM3算法,判断由所述第一密文解密得到的第一明文是否与所述待验证密钥相同;
当所述第一明文与所述待验证密钥相同时,通过所述目标通信后端采用所述目标通信后端标识、所述通信前端标识、所述公钥、所述私钥和所述第一明文,构建存储在所述目标通信后端的第二密钥存储表。
可选地,所述通过所述通信前端根据所述公钥、所述第三杂凑值、所述SM3算法和所述SM4算法,生成待验证密钥和与所述待验证密钥对应的第一密文和第四杂凑值的步骤,包括:
通过所述目标通信后端接收所述公钥和所述第三杂凑值;
通过所述通信前端依据所述SM4算法生成待验证密钥,并采用所述SM3算法计算所述待验证密钥的第四杂凑值;
当所述通信前端接收到所述公钥和所述第三杂凑值时,采用所述SM3算法计算所述公钥的第五杂凑值;
通过所述通信前端依据所述第三杂凑值和所述第五杂凑值,判断所述公钥是否通过验证;
当所述公钥通过验证时,所述通信前端采用所述公钥对所述待验证密钥进行加密,生成第一密文。
可选地,所述通过所述通信前端依据所述第三杂凑值和所述第五杂凑值,判断所述公钥是否通过验证的步骤,包括:
通过所述通信前端比较所述第三杂凑值和所述第五杂凑值;
若所述第三杂凑值和所述第五杂凑值相等,则判定所述公钥通过验证;
若所述第三杂凑值和所述第五杂凑值不相等,则判定所述公钥不通过验证。
可选地,所述通过所述目标通信后端依据所述第一密文、所述第四杂凑值和所述SM3算法,判断由所述第一密文解密得到的第一明文是否与所述待验证密钥相同的步骤,包括:
通过所述目标通信后端接收所述第一密文和所述第四杂凑值;
通过所述目标通信后端采用所述私钥对所述第一密文进行解密,得到第一明文;
通过所述目标通信后端采用所述SM3算法计算所述第一明文的第六杂凑值;
若所述第六杂凑值和所述第四杂凑值相等,则判定所述第一明文与所述待验证密钥相同;
若所述第六杂凑值和所述第四杂凑值不相等,则判定所述第一明文与所述待验证密钥不相同。
可选地,还包括:当判定所述待传输数据传输成功时,断开所述所述通信前端和所述目标通信后端之间的通信连接;从所述多个通信后端中选择新的目标通信后端;建立所述通信前端和所述新的目标通信后端之间的通信连接;更新所述第一密钥存储表,并在所述新的目标通信后端中构建新的第二密钥存储表,直至所述第一密钥存储表中存储有全部所述通信后端标识。
本发明还提供了一种数据传输装置,涉及通信前端和多个通信后端,所述通信前端具有通信前端标识,所述多个通信后端分别具有通信后端标识,所述通信前端包括:
第一通信密钥查找模块,用于当获取到待传输数据时,确定所述待传输数据对应的目标通信后端标识,并在所述通信前端的第一密钥存储表中查找与所述目标通信后端标识对应的第一通信密钥;
加密生成模块,用于采用所述第一通信密钥对所述待传输数据进行加密,生成加密数据并计算所述加密数据的第一杂凑值;
加密发送模块,用于发送所述加密数据和所述第一杂凑值到与所述目标通信后端标识对应的目标通信后端;
所述目标通信后端包括:
第二通信密钥查找模块,用于当接收到所述加密数据和所述第一杂凑值时,在所述通信后端的第二密钥存储表中查找与所述通信前端标识对应的第二通信密钥;
解密生成模块,用于采用所述第二通信密钥对所述加密数据进行解密,生成解密数据并计算所述解密数据的第二杂凑值;
传输结果判定模块,用于若所述第一杂凑值与所述第二杂凑值相等,则判定所述待传输数据传输成功。
本发明还提供了一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述任一项所述的数据传输方法的步骤。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被所述处理器执行时实现如上述任一项所述的数据传输方法。
从以上技术方案可以看出,本发明具有以下优点:
通过通信前端获取待传输数据,确定待传输数据对应的目标通信后端标识,并在其本地的第一密钥存储表中查找与目标通信后端标识对应的第一通信密钥,计算待传输数据的第一杂凑值并采用第一通信密钥对待传输数据进行加密,生成加密数据并与第一杂凑值一并发送到目标通信后端;而目标通信后端在接收加密数据和第一杂凑值后,采用在其本地的第二密钥存储表中查找与所述通信前端标识对应的第二通信密钥,采用第二通信密钥对加密数据进行解密,得到解密数据并计算解密数据的第二杂凑值;若是第一杂凑值和第二杂凑值相等,则判定待传输数据传输成功。从而解决数据收发不一致,传输安全性较低,资源利用成本较高的技术问题,提高传输安全性,保证数据收发的一致性,也不需要引入第三方验证机构,进而降低资源利用成本。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种数据传输方法的步骤流程图;
图2为本发明可选实施例提供的一种数据传输方法的步骤流程图;
图3为本发明另一实施例提供的一种数据传输方法的流程框图图;
图4为本发明实施例提供的一种数据传输装置的结构框图。
具体实施方式
在现有的论文《巫万坚,吴小勇.一种前后端数据交互的安全机制[J].计算机与现代化,2019(07):122-126.》中,提出了基于散列算法——SHA256、对称加密算法——AES以及非对称加密算法——RSA,通过引入第三方“密钥中心”构建一种安全机制,而该方法有以下方面的不足:通过引入第三方,使得原本的双端通信变为三端通信,此时第三方的安全性直接影响了原本通信双方的信息传输的安全性;采用RSA算法对原始信息进行加解密,尽管提高了数据的安全性,但是RSA算法的运算代价(硬件资源、时间)比较高,不利于实时系统的实现;在数据接收方和密钥中心的通信过程中,在数据链路中依旧存在明文的传输。为此,本发明实施例提供了一种数据传输方法、装置、设备和存储介质,用于解决现有技术中数据收发不一致,传输安全性较低,资源利用成本较高的技术问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,图1为本发明实施例提供的一种数据传输方法的步骤流程图。
本发明提供的一种数据传输方法,涉及通信前端和多个通信后端,所述通信前端具有通信前端标识,所述多个通信后端分别具有通信后端标识,所述方法包括:
步骤101,当所述通信前端获取到待传输数据时,确定所述待传输数据对应的目标通信后端标识,并在所述通信前端的第一密钥存储表中查找与所述目标通信后端标识对应的第一通信密钥;
在本发明实施例中,通过通信前端获取待传输数据,例如通信前端可以为智能电表,获取的待传输数据可以为电量、电压或其他电能数据等,在获取到待传输数据时,由于前端通常的容量不大,因此需要及时将待传输数据发送到更大容量的通信后端进行保存或进一步处理。而每个通信后端都具有唯一的通信后端标识,首先需要由通信前端确定待传输数据对应的目标通信后端标识,再在通信前端本地的第一密钥存储表中查找与目标通信后端标识对应的第一通信密钥,以便于后续对待传输数据进行加密。
值得一提的是,通信前端可以为智能电表,通信后端可以为服务器或者智能电表,本发明实施例对此不作限制。
步骤102,通过所述通信前端计算所述待传输数据的第一杂凑值,并采用所述第一通信密钥对所述待传输数据进行加密,生成加密数据;
在具体实现中,为便于后续通信后端验证待传输数据的真实性,可以通过通信前端计算待传输数据的第一杂凑值,而在传输过程中,为进一步保证数据的传输安全,采用第一通信密钥对待传输数据进行加密,生成加密数据。
所述杂凑值指的是通过杂凑函数/算法基于数据计算得到的一个值,具有不可逆的性质,能够用来识别数据是否被篡改。
步骤103,通过所述通信前端发送所述加密数据和所述第一杂凑值到与所述目标通信后端标识对应的目标通信后端;
在得到加密数据和第一杂凑值之后,也就完成了传输之前的准备工作,此时可以通过通信前端发送上述加密数据和第一杂凑值到目标通信后端,以便于目标通信后端进行进一步的数据处理。
步骤104,当所述目标通信后端接收到所述加密数据和所述第一杂凑值时,在所述目标通信后端的第二密钥存储表中查找与所述通信前端标识对应的第二通信密钥;
在具体实现中,当目标通信后端接收加密数据和第一杂凑值时,由于加密数据是处于加密状态,并不能得知加密数据的真实意思,此时可以在保存在通信后端本地存储中的第二密钥存储表中查找与唯一通信前端标识对应的第二通信密钥,以对所述加密数据进行解密。
步骤105,通过所述目标通信后端采用所述第二通信密钥对所述加密数据进行解密,生成解密数据并计算所述解密数据的第二杂凑值;
在本发明实施例中,当目标通信后端采用第二通信密钥对加密数据进行解密后,可以得到解密数据。但此时并不能验证解密数据是否就是通信前端发送的待传输数据,因此可以计算解密数据的第二杂凑值,以杂凑值之间的比较结果确定解密数据的真实性。
步骤106,若所述第一杂凑值与所述第二杂凑值相等,则通过所述目标通信后端判定所述待传输数据传输成功。
而当所述第一杂凑值与所述第二杂凑值相等时,目标通信后端可以确定加密数据所解密出来的解密数据与待传输数据相同,则可以判定待传输数据传输成功。
在本发明实施例中,通过通信前端获取待传输数据,确定待传输数据对应的目标通信后端标识,并在其本地的第一密钥存储表中查找与目标通信后端标识对应的第一通信密钥,计算待传输数据的第一杂凑值并采用第一通信密钥对待传输数据进行加密,生成加密数据并与第一杂凑值一并发送到目标通信后端;而目标通信后端在接收加密数据和第一杂凑值后,采用在其本地的第二密钥存储表中查找与所述通信前端标识对应的第二通信密钥,采用第二通信密钥对加密数据进行解密,得到解密数据并计算解密数据的第二杂凑值;若是第一杂凑值和第二杂凑值相等,则判定待传输数据传输成功。从而解决数据收发不一致,传输安全性较低,资源利用成本较高的技术问题,提高传输安全性,保证数据收发的一致性,也不需要引入第三方验证机构,进而降低资源利用成本。
请参阅图2,图2为本发明可选实施例提供的一种数据传输方法的步骤流程图。
本发明提供的一种数据传输方法,涉及通信前端和多个通信后端,所述通信前端具有通信前端标识,所述多个通信后端分别具有通信后端标识,所述方法包括:
步骤201,建立所述通信前端和所述目标通信后端之间的通信连接;
在本发明实施例中,由于在首次发送时,通信前端中的第一密钥存储表和目标通信后端中的第二密钥存储表都没有对方的唯一标识,也没有解密或加密所需要的密钥,此时在通信前端和目标通信后端之间建立通信连接,以进行以一对一的通信前准备的配置过程。
步骤202,采用预置的国密算法构建所述通信前端中的第一密钥存储表和所述目标通信后端中的第二密钥存储表。
可选地,可以采用预置的国密算法构建通信前端的第一密钥存储表和目标通信后端的第二密钥存储表。
值得一提的是,所述国密算法包括SM2算法、SM3算法和SM4算法。
SM2算法指的是SM2椭圆曲线公钥密码算法,是是ECC(Elliptic CurveCryptosystem)算法的一种,基于椭圆曲线离散对数问题,计算复杂度是指数级,求解难度较大,同等安全程度要求下,椭圆曲线密码较其他公钥算法所需密钥长度小很多。
SM3算法指的是一种密码散列函数标准,相关标准为“GM/T 0004-2012《SM3密码杂凑算法》,主要涉及到密码散列函数,对长度为l(l<264)比特的消息m,SM3杂凑算法经过填充和迭代压缩,生成杂凑值,杂凑值长度为256比特。
SM4算法是一种分组加密算法。SM4分组密码算法是一种迭代分组密码算法,由加解密算法和密钥扩展算法组成,SM4加解密过程的算法相同但是轮密钥的使用顺序相反,SM4算法使用模2加和循环移位作为基本运算;密钥扩展算法包括使用128位的加密密钥,并采用32轮迭代加密结构,每一轮加密使用一个32位的轮密钥,总共使用32个轮密钥。因此需要使用密钥扩展算法,从加密密钥中产生32个轮密钥。
进一步地,所述步骤202可以包括以下子步骤S1-S7:
S1、通过所述目标通信后端依据所述SM2算法生成公钥和私钥,并采用所述SM3算法计算所述公钥的第三杂凑值;
S2、通过所述目标通信后端发送所述公钥和所述第三杂凑值到所述通信前端;
在本发明实施例中,首先需要目标通信后端依据SM2算法生成唯一的公钥和私钥,其中,私钥保存在目标通信后端的本地存储中,再采用SM3算法计算公钥的第三杂凑值,发送公钥和第三杂凑值到通信前端。
S3、通过所述通信前端根据所述公钥、所述第三杂凑值、所述SM3算法和所述SM4算法,生成待验证密钥和与所述待验证密钥对应的第一密文和第四杂凑值;
当通信前端接收到公钥和第三杂凑值之后,可以基于SM4算法构建待验证密钥,再采用公钥对待验证密钥进行加密以生成第一密文,并采用SM3算法计算所述待验证密钥的第四杂凑值。
在本发明的一个示例中,所述步骤S3可以包括以下子步骤S31-S35:
S31、通过所述目标通信后端接收所述公钥和所述第三杂凑值;
S32、通过所述通信前端依据所述SM4算法生成待验证密钥,并采用所述SM3算法计算所述待验证密钥的第四杂凑值;
S33、当所述通信前端接收到所述公钥和所述第三杂凑值时,采用所述SM3算法计算所述公钥的第五杂凑值;
在通信前端接收到公钥和第三杂凑值之后,由于通信前端无法判断公钥的真实性,可以直接采用SM3算法计算公钥的第五杂凑值,再基于第三杂凑值和第五杂凑值的比较结果,从而判断公钥能否通过验证。
值得一提的是,所述公钥携带有目标通信后端标识。
S34、通过所述通信前端依据所述第三杂凑值和所述第五杂凑值,判断所述公钥是否通过验证;
在本发明的可选实施例中,所述步骤S34可以包括以下子步骤:
通过所述通信前端比较所述第三杂凑值和所述第五杂凑值;
若所述第三杂凑值和所述第五杂凑值相等,则判定所述公钥通过验证;
若所述第三杂凑值和所述第五杂凑值不相等,则判定所述公钥不通过验证。
在具体实现中,在通信前端比较第三杂凑值和第五杂凑值,由于杂凑值具有唯一性,若两者相等,则可以判定公钥为真实的,通过验证;若两者不相等,则判定公钥不通过验证,公钥可能在传输途中出现了替换。
S35、当所述公钥通过验证时,所述通信前端采用所述公钥对所述待验证密钥进行加密,生成第一密文。
当公钥通过验证时,可以采用所述公钥对所述待验证密钥进行加密,以得到第一密文,由于与公钥对应的私钥是存在与目标通信后端的本地存储中,在第三方得到该第一密文也无法进行解密,进一步提高密钥传输的安全性。
S4、通过所述通信前端发送所述第一密文和所述第四杂凑值到所述目标通信后端;
为便于后续目标通信后端验证第一密文中的待验证密钥是否为真,可以将第四杂凑值与第一密文一并发送到目标通信后端。
S5、通过所述通信前端采用所述通信前端标识、所述目标通信后端标识、所述待验证密钥和所述公钥,构建存储在所述通信前端的第一密钥存储表;
在具体实现中,通信前端已经验证了公钥CQ1_SM2的真实性,同时也得到了目标通信后端标识C1,能够确定以该待验证密钥SK1_SM4对需要发送到目标通信后端标识C1对应的目标通信后端的数据进行加密,本地还存储有通信前端标识S1,此时可以采用上述信息构建存储在通信前端本地的第一密钥存储表,如下表1所示:
表1
对于通信前端S1而言,在实际的应用中可能同时跟多个目标通信后端进行通信,每一个通信的进程都要产生一组密钥。而且,在结束通信后,需要释放对应的内存空间,因此以目标通信后端标识作为标识值建立的查找表是可以提高系统效率的。
S6、通过所述目标通信后端依据所述第一密文、所述第四杂凑值和所述SM3算法,判断由所述第一密文解密得到的第一明文是否与所述待验证密钥相同;
在本发明实施例中,目标通信后端在接收到第一密文和第四杂凑值后,可以采用本地的私钥对第一密文进行解密以得到第一明文,结合SM3算法判断第一明文是否与待验证密钥相同。
值得一提的是,在接收到第一密文时,目标通信后端可以从第一密文上得知通信前端标识。
在本发明的另一个示例中,所述步骤S6可以包括以下子步骤:
通过所述目标通信后端接收所述第一密文和所述第四杂凑值;
通过所述目标通信后端采用所述私钥对所述第一密文进行解密,得到第一明文;
通过所述目标通信后端采用所述SM3算法计算所述第一明文的第六杂凑值;
若所述第六杂凑值和所述第四杂凑值相等,则判定所述第一明文与所述待验证密钥相同;
若所述第六杂凑值和所述第四杂凑值不相等,则判定所述第一明文与所述待验证密钥不相同。
在本发明的可选实施例中,通过目标通信后端接收第一密文和第四杂凑值,采用私钥对第一密文进行解密,以得到第一明文;但此时并不能够判断第一明文的真实性,可以采用SM3算法计算第一明文的第六杂凑值,比较第四杂凑值和第六杂凑值是否相等,若是相等,则说明第一明文与待验证密钥相同,该第一明文就是来自通信前端发送的待验证密钥;若是不相等,则说明第一明文并不是来自通信前端发送的待验证密钥。
S7、当所述第一明文与所述待验证密钥相同时,通过所述目标通信后端采用所述目标通信后端标识、所述通信前端标识、所述公钥、所述私钥和所述第一明文,构建存储在所述目标通信后端的第二密钥存储表。
在具体实现中,当所述第一明文与所述待验证密钥相同时,目标通信后端也就存有第一明文SK1_SM4、通信前端标识S1、公钥CQ1_SM2、私钥CK1_SM2和本身的目标通信后端标识C1,此时可以基于上述信息构建第二密钥存储表,如下表2所示:
表2
可选地,当第一明文并不是来自通信前端发送的待验证密钥,可以在目标通信后端输出密钥错误提示信息。
在具体实现中,在构建通信前端的第一密钥存储表和目标通信后端的第二密钥存储表后,能够避免加解密算法的密钥频繁在数据链路的传输过程出现,降低算法密钥被非法第三方截取破解的风险。
步骤203,当所述通信前端获取到待传输数据时,确定所述待传输数据对应的目标通信后端标识,并在所述通信前端的第一密钥存储表中查找与所述目标通信后端标识对应的第一通信密钥;
步骤204,通过所述通信前端计算所述待传输数据的第一杂凑值,并采用所述第一通信密钥对所述待传输数据进行加密,生成加密数据;
步骤205,通过所述通信前端发送所述加密数据和所述第一杂凑值到与所述目标通信后端标识对应的目标通信后端;
步骤206,当所述目标通信后端接收到所述加密数据和所述第一杂凑值时,在所述目标通信后端的第二密钥存储表中查找与所述通信前端标识对应的第二通信密钥;
步骤207,通过所述目标通信后端采用所述第二通信密钥对所述加密数据进行解密,生成解密数据并计算所述解密数据的第二杂凑值;
步骤208,若所述第一杂凑值与所述第二杂凑值相等,则通过所述目标通信后端判定所述待传输数据传输成功。
在本发明实施例中,上述步骤203-208与上述步骤101-106类似,在此不再赘述。
进一步地,若所述第一杂凑值与所述第二杂凑值不相等,则通过所述目标通信后端判定所述待传输数据传输失败。此时为了保证信息传输的顺利完成,目标通信后端可以发送传输失败指示到所述通信前端,所述通信前端重新依据待传输数据生成加密数据与第一杂凑值,再次发送到所述目标通信后端。
在本发明的另一个示例中,若是目标通信后端判定待传输数据传输失败的次数超过预定阈值,例如3次、5次或由技术人员设定的阈值,本发明实施例对此并不限制,说明此时可能存在恶意第三方或者通信前端和目标通信后端中的密钥出现问题,可以通过目标通信后端发出告警信号,以通知技术人员技术进行检修。
可选地,所述方法还可以包括以下步骤:
当判定所述待传输数据传输成功时,断开所述所述通信前端和所述目标通信后端之间的通信连接;
从所述多个通信后端中选择新的目标通信后端;
建立所述通信前端和所述新的目标通信后端之间的通信连接;
更新所述第一密钥存储表,并在所述新的目标通信后端中构建新的第二密钥存储表,直至所述第一密钥存储表中存储有全部所述通信后端标识。
在实际操作中,若目标通信后端判断传输成功,为进一步提高资源利用率,可以断开通信前端和目标通信后端的通信连接,再从多个通信后端中选择新的目标通信后端,重新建立所述通信前端和所述新的目标通信后端之间的通信连接,对已有的所述第一密钥存储表进行更新,并在所述新的目标通信后端中构建新的第二密钥存储表,直至所述第一密钥存储表中存储有全部所述通信后端标识。
其中,第一密钥存储表的具体更新过程与上述第一密钥存储表的构建过程类似,在此不再赘述。
在本发明实施例中,通过通信前端获取待传输数据,确定待传输数据对应的目标通信后端标识,并在其本地的第一密钥存储表中查找与目标通信后端标识对应的第一通信密钥,计算待传输数据的第一杂凑值并采用第一通信密钥对待传输数据进行加密,生成加密数据并与第一杂凑值一并发送到目标通信后端;而目标通信后端在接收加密数据和第一杂凑值后,采用在其本地的第二密钥存储表中查找与所述通信前端标识对应的第二通信密钥,采用第二通信密钥对加密数据进行解密,得到解密数据并计算解密数据的第二杂凑值;若是第一杂凑值和第二杂凑值相等,则判定待传输数据传输成功。从而解决数据收发不一致,传输安全性较低,资源利用成本较高的技术问题,提高传输安全性,保证数据收发的一致性,也不需要引入第三方验证机构,进而降低资源利用成本。
请参见图3,图3示出了本发明另一实施例的一种数据传输方法的流程框图,其中为简便描述,以前端表示通信前端,以后端表示目标通信后端,以唯一标识符S1表示通信前端标识,唯一标识符S2表示目标通信后端标识,包括以下步骤:
(1)前端产生唯一标识符S1,后端产生唯一标识符S2。在完成前后端的连接后,进入密钥的协商流程以及明文数据的加解密传输流程。
(2)后端C1在本地产生SM2算法的密钥对(CK1_SM2,CQ1_SM2)。其中CK1_SM2为私钥,只保存在后端C1本地存储空间中;CQ1_SM2为公钥,可以直接在数据链路中直接以明文的形式进行传输。同时,对公钥CQ1_SM2进行SM3杂凑算法的运算,产生用于公钥数据验证的杂凑值H1。将公钥CQ1_SM2和杂凑值H1传输到前端。
(3)前端S1在本地产生用于与后端C1基于SM4算法加密通信的密钥SK1_SM4,并对算法密钥SK1_SM4进行SM3算法运算,产生用于数据验证的杂凑值H3。对接收到的SM2算法公钥再次进行SM3算法运算,得到杂凑值H2。若H2和接收到的H1相等,则说明获得的SM2算法公钥无误。利用SM2算法的公钥对SM4算法的密钥SK1_SM4进行加密,加密后的密文M1和杂凑值H3传输到后端。
(4)后端C1对接收到密文M1利用SM2的私钥CK1_SM2进行解密,对解密后的明文再进行SM3算法的运算,得到杂凑值H4。将H4与H3进行比较,若相等则说明获得的SM4算法的密钥无误。
(5)正确完成密钥的协商后,前端、后端都更新只保存在自身本地的密钥查找表,之后的数据通信过程加解密算法的密钥只从本地的查找表获得。
(6)前端根据要通信后端的标识符查找出SM4算法的密钥,利用SM4算法对明文数据m进行加密后得到密文M,同时对明文数据m进行SM3算法的运算产生用于数据验证的杂凑值H。将密文M和杂凑值H传输到后端。
(7)后端根据通信的前端的标识符查找出SM4算法的密钥,利用SM4算法对接收到的密文M进行解密,对解密后的数据进行SM3算法的运算,得到的杂凑值与H进行检验以判断数据是否有误。
(8)释放端口,结束通信。
通过采用上述实施例中的技术方案,从而解决数据收发不一致,传输安全性较低,资源利用成本较高的技术问题,提高传输安全性,保证数据收发的一致性,也不需要引入第三方验证机构,进而降低资源利用成本。提供了一种复合了SM2椭圆曲线公钥密码算法和SM4对称算法的前后端数据交互的安全机制,数据在链路传输过程中无明文出现,保留了前端、后端双端通信的特征,避免了引入第三方作为验证机构所可能带来的额外的安全问题。同时,通过引入SM3算法的使用提供了一种简单的数据验证机制。该安全机制是在原有的网络通信协议的基础上,增加了双方密钥的协商过程以及数据的验证机制,基于软件的实现方案不再需要额外增加硬件成本,只需要在原有平台上进行修改,易于移植。SM2算法运算量大但安全性高,SM4算法的安全性依赖于对密钥的保护。在提出的安全机制中,使用SM2算法对SM4算法的密钥进行保护,使用SM4算法对通信的数据进行保护。
请参见图4,图4示出了本发明实施例的一种数据传输装置的结构框图。
本发明提供了一种数据传输装置,涉及通信前端1和多个通信后端,所述通信前端具有通信前端标识,所述多个通信后端分别具有通信后端标识,所述通信前端包括:
第一通信密钥查找模块401,用于当获取到待传输数据时,确定所述待传输数据对应的目标通信后端标识,并在所述通信前端的第一密钥存储表中查找与所述目标通信后端标识对应的第一通信密钥;
加密生成模块402,用于采用所述第一通信密钥对所述待传输数据进行加密,生成加密数据并计算所述加密数据的第一杂凑值;
加密发送模块403,用于发送所述加密数据和所述第一杂凑值到与所述目标通信后端标识对应的目标通信后端;
所述目标通信后端2包括:
第二通信密钥查找模块411,用于当接收到所述加密数据和所述第一杂凑值时,在所述通信后端的第二密钥存储表中查找与所述通信前端标识对应的第二通信密钥;
解密生成模块412,用于采用所述第二通信密钥对所述加密数据进行解密,生成解密数据并计算所述解密数据的第二杂凑值;
传输结果判定模块413,用于若所述第一杂凑值与所述第二杂凑值相等,则判定所述待传输数据传输成功。
可选地,所述装置还包括:
通信连接建立模块,用于建立所述通信前端和所述目标通信后端之间的通信连接;
密钥存储表构建模块,用于采用预置的国密算法构建所述通信前端中的第一密钥存储表和所述目标通信后端中的第二密钥存储表。
可选地,所述国密算法包括SM2算法、SM3算法和SM4算法,所述密钥存储表构建模块涉及通信前端和目标通信后端,所述目标通信后端中的密钥存储表构建模块包括:
第三杂凑值计算子模块,用于依据所述SM2算法生成公钥和私钥,并采用所述SM3算法计算所述公钥的第三杂凑值;
第一发送子模块,用于发送所述公钥和所述第三杂凑值到所述通信前端;
待验证密钥验证子模块,用于依据所述第一密文、所述第四杂凑值和所述SM3算法,判断由所述第一密文解密得到的第一明文是否与所述待验证密钥相同;
第二密钥存储表构建子模块,用于当所述第一明文与所述待验证密钥相同时,采用所述目标通信后端标识、所述通信前端标识、所述公钥、所述私钥和所述第一明文,构建存储在所述目标通信后端的第二密钥存储表;
所述通信前端中的密钥存储表构建模块包括:
密钥数据生成子模块,用于根据所述公钥、所述第三杂凑值、所述SM3算法和所述SM4算法,生成待验证密钥和与所述待验证密钥对应的第一密文和第四杂凑值;
第二发送子模块,用于发送所述第一密文和所述第四杂凑值到所述目标通信后端;
第一密钥存储表构建子模块,用于采用所述通信前端标识、所述目标通信后端标识、所述待验证密钥和所述公钥,构建存储在所述通信前端的第一密钥存储表。
可选地,所述密钥数据生成子模块包括:
第一接收单元,用于接收所述公钥和所述第三杂凑值;
第四杂凑值计算单元,用于依据所述SM4算法生成待验证密钥,并采用所述SM3算法计算所述待验证密钥的第四杂凑值;
第五杂凑值计算单元,用于当接收到所述公钥和所述第三杂凑值时,采用所述SM3算法计算所述公钥的第五杂凑值;
公钥验证单元,用于依据所述第三杂凑值和所述第五杂凑值,判断所述公钥是否通过验证;
第一密文生成单元,用于当所述公钥通过验证时,所述通信前端采用所述公钥对所述待验证密钥进行加密,生成第一密文。
可选地,所述公钥验证单元包括:
第一比较单元,用于比较所述第三杂凑值和所述第五杂凑值;
公钥通过单元,用于若所述第三杂凑值和所述第五杂凑值相等,则判定所述公钥通过验证;
公钥不通过单元,用于若所述第三杂凑值和所述第五杂凑值不相等,则判定所述公钥不通过验证。
可选地,所述待验证密钥验证子模块包括:
第二接收单元,用于通过所述目标通信后端接收所述第一密文和所述第四杂凑值;
第一明文生产单元,用于通过所述目标通信后端采用所述私钥对所述第一密文进行解密,得到第一明文;
第六杂凑值计算单元,用于通过所述目标通信后端采用所述SM3算法计算所述第一明文的第六杂凑值;
相同判定单元,用于若所述第六杂凑值和所述第四杂凑值相等,则判定所述第一明文与所述待验证密钥相同;
不同判定单元,用于若所述第六杂凑值和所述第四杂凑值不相等,则判定所述第一明文与所述待验证密钥不相同。
可选地,所述装置还包括:
连接断开模块,用于当判定所述待传输数据传输成功时,断开所述所述通信前端和所述目标通信后端之间的通信连接;
目标通信后端选择模块,用于从所述多个通信后端中选择新的目标通信后端;
连接重建模块,用于建立所述通信前端和所述新的目标通信后端之间的通信连接;
更新模块,用于更新所述第一密钥存储表,并在所述新的目标通信后端中构建新的第二密钥存储表,直至所述第一密钥存储表中存储有全部所述通信后端标识。
本发明实施例还提供了一种电子设备,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述实施例中任一项所述的数据传输方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被所述处理器执行时实现如上述实施例中任一项所述的数据传输方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种数据传输方法,其特征在于,涉及通信前端和多个通信后端,所述通信前端具有通信前端标识,所述多个通信后端分别具有通信后端标识,所述方法包括:
当所述通信前端获取到待传输数据时,确定所述待传输数据对应的目标通信后端标识,并在所述通信前端的第一密钥存储表中查找与所述目标通信后端标识对应的第一通信密钥;
通过所述通信前端计算所述待传输数据的第一杂凑值,并采用所述第一通信密钥对所述待传输数据进行加密,生成加密数据;
通过所述通信前端发送所述加密数据和所述第一杂凑值到与所述目标通信后端标识对应的目标通信后端;
当所述目标通信后端接收到所述加密数据和所述第一杂凑值时,在所述目标通信后端的第二密钥存储表中查找与所述通信前端标识对应的第二通信密钥;
通过所述目标通信后端采用所述第二通信密钥对所述加密数据进行解密,生成解密数据并计算所述解密数据的第二杂凑值;
若所述第一杂凑值与所述第二杂凑值相等,则通过所述目标通信后端判定所述待传输数据传输成功;
在所述当所述通信前端获取到待传输数据时,确定所述待传输数据对应的目标通信后端标识,并在所述通信前端的第一密钥存储表中查找与所述目标通信后端标识对应的第一通信密钥的步骤之前,所述方法还包括:
建立所述通信前端和所述目标通信后端之间的通信连接;
采用预置的国密算法构建所述通信前端中的第一密钥存储表和所述目标通信后端中的第二密钥存储表;
所述国密算法包括SM2算法、SM3算法和SM4算法,所述采用预置的国密算法构建所述通信前端中的第一密钥存储表和所述目标通信后端中的第二密钥存储表的步骤,包括:
通过所述目标通信后端依据所述SM2算法生成公钥和私钥,并采用所述SM3算法计算所述公钥的第三杂凑值;
通过所述目标通信后端发送所述公钥和所述第三杂凑值到所述通信前端;
通过所述通信前端根据所述公钥、所述第三杂凑值、所述SM3算法和所述SM4算法,生成待验证密钥和与所述待验证密钥对应的第一密文和第四杂凑值;
通过所述通信前端发送所述第一密文和所述第四杂凑值到所述目标通信后端;
通过所述通信前端采用所述通信前端标识、所述目标通信后端标识、所述待验证密钥和所述公钥,构建存储在所述通信前端的第一密钥存储表;
通过所述目标通信后端依据所述第一密文、所述第四杂凑值和所述SM3算法,判断由所述第一密文解密得到的第一明文是否与所述待验证密钥相同;
当所述第一明文与所述待验证密钥相同时,通过所述目标通信后端采用所述目标通信后端标识、所述通信前端标识、所述公钥、所述私钥和所述第一明文,构建存储在所述目标通信后端的第二密钥存储表。
2.根据权利要求1所述的方法,其特征在于,所述通过所述通信前端根据所述公钥、所述第三杂凑值、所述SM3算法和所述SM4算法,生成待验证密钥和与所述待验证密钥对应的第一密文和第四杂凑值的步骤,包括:
通过所述目标通信后端接收所述公钥和所述第三杂凑值;
通过所述通信前端依据所述SM4算法生成待验证密钥,并采用所述SM3算法计算所述待验证密钥的第四杂凑值;
当所述通信前端接收到所述公钥和所述第三杂凑值时,采用所述SM3算法计算所述公钥的第五杂凑值;
通过所述通信前端依据所述第三杂凑值和所述第五杂凑值,判断所述公钥是否通过验证;
当所述公钥通过验证时,所述通信前端采用所述公钥对所述待验证密钥进行加密,生成第一密文。
3.根据权利要求2所述的方法,其特征在于,所述通过所述通信前端依据所述第三杂凑值和所述第五杂凑值,判断所述公钥是否通过验证的步骤,包括:
通过所述通信前端比较所述第三杂凑值和所述第五杂凑值;
若所述第三杂凑值和所述第五杂凑值相等,则判定所述公钥通过验证;
若所述第三杂凑值和所述第五杂凑值不相等,则判定所述公钥不通过验证。
4.根据权利要求1所述的方法,其特征在于,所述通过所述目标通信后端依据所述第一密文、所述第四杂凑值和所述SM3算法,判断由所述第一密文解密得到的第一明文是否与所述待验证密钥相同的步骤,包括:
通过所述目标通信后端接收所述第一密文和所述第四杂凑值;
通过所述目标通信后端采用所述私钥对所述第一密文进行解密,得到第一明文;
通过所述目标通信后端采用所述SM3算法计算所述第一明文的第六杂凑值;
若所述第六杂凑值和所述第四杂凑值相等,则判定所述第一明文与所述待验证密钥相同;
若所述第六杂凑值和所述第四杂凑值不相等,则判定所述第一明文与所述待验证密钥不相同。
5.根据权利要求1所述的方法,其特征在于,还包括:
当判定所述待传输数据传输成功时,断开所述通信前端和所述目标通信后端之间的通信连接;
从所述多个通信后端中选择新的目标通信后端;
建立所述通信前端和所述新的目标通信后端之间的通信连接;
更新所述第一密钥存储表,并在所述新的目标通信后端中构建新的第二密钥存储表,直至所述第一密钥存储表中存储有全部所述通信后端标识。
6.一种数据传输装置,其特征在于,涉及通信前端和多个通信后端,所述通信前端具有通信前端标识,所述多个通信后端分别具有通信后端标识,所述通信前端包括:
第一通信密钥查找模块,用于当获取到待传输数据时,确定所述待传输数据对应的目标通信后端标识,并在所述通信前端的第一密钥存储表中查找与所述目标通信后端标识对应的第一通信密钥;
加密生成模块,用于采用所述第一通信密钥对所述待传输数据进行加密,生成加密数据并计算所述加密数据的第一杂凑值;
加密发送模块,用于发送所述加密数据和所述第一杂凑值到与所述目标通信后端标识对应的目标通信后端;
所述目标通信后端包括:
第二通信密钥查找模块,用于当接收到所述加密数据和所述第一杂凑值时,在所述通信后端的第二密钥存储表中查找与所述通信前端标识对应的第二通信密钥;
解密生成模块,用于采用所述第二通信密钥对所述加密数据进行解密,生成解密数据并计算所述解密数据的第二杂凑值;
传输结果判定模块,用于若所述第一杂凑值与所述第二杂凑值相等,则判定所述待传输数据传输成功;
所述装置还包括:
通信连接建立模块,用于建立所述通信前端和所述目标通信后端之间的通信连接;
密钥存储表构建模块,用于采用预置的国密算法构建所述通信前端中的第一密钥存储表和所述目标通信后端中的第二密钥存储表;
所述国密算法包括SM2算法、SM3算法和SM4算法,所述密钥存储表构建模块涉及通信前端和目标通信后端,所述目标通信后端中的密钥存储表构建模块包括:
第三杂凑值计算子模块,用于依据所述SM2算法生成公钥和私钥,并采用所述SM3算法计算所述公钥的第三杂凑值;
第一发送子模块,用于发送所述公钥和所述第三杂凑值到所述通信前端;
待验证密钥验证子模块,用于依据第一密文、第四杂凑值和所述SM3算法,判断由所述第一密文解密得到的第一明文是否与所述待验证密钥相同;
第二密钥存储表构建子模块,用于当所述第一明文与所述待验证密钥相同时,采用所述目标通信后端标识、所述通信前端标识、所述公钥、所述私钥和所述第一明文,构建存储在所述目标通信后端的第二密钥存储表;
所述通信前端中的密钥存储表构建模块包括:
密钥数据生成子模块,用于根据所述公钥、所述第三杂凑值、所述SM3 算法和所述SM4算法,生成待验证密钥和与所述待验证密钥对应的第一密文和第四杂凑值;
第二发送子模块,用于发送所述第一密文和所述第四杂凑值到所述目标通信后端;
第一密钥存储表构建子模块,用于采用所述通信前端标识、所述目标通信后端标识、所述待验证密钥和所述公钥,构建存储在所述通信前端的第一密钥存储表。
7.一种电子设备,其特征在于,包括存储器及处理器,所述存储器中储存有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1-5中任一项所述的数据传输方法的步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-5任一项所述的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011162901.2A CN112235107B (zh) | 2020-10-27 | 2020-10-27 | 一种数据传输方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011162901.2A CN112235107B (zh) | 2020-10-27 | 2020-10-27 | 一种数据传输方法、装置、设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112235107A CN112235107A (zh) | 2021-01-15 |
CN112235107B true CN112235107B (zh) | 2023-03-03 |
Family
ID=74109598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011162901.2A Active CN112235107B (zh) | 2020-10-27 | 2020-10-27 | 一种数据传输方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112235107B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113158214A (zh) * | 2021-04-30 | 2021-07-23 | 中国银行股份有限公司 | 一种加密智能识别方法及装置 |
CN113691502B (zh) * | 2021-08-02 | 2023-06-30 | 上海浦东发展银行股份有限公司 | 通信方法、装置、网关服务器、客户端及存储介质 |
CN113852604A (zh) * | 2021-08-13 | 2021-12-28 | 青岛海尔科技有限公司 | 明文数据的发送方法及装置、存储介质及电子装置 |
CN113794560B (zh) * | 2021-11-05 | 2024-05-10 | 深邦智能科技集团(青岛)有限公司 | 一种治超仪表数据传输加密方法及其系统 |
CN114499891B (zh) * | 2022-03-21 | 2024-05-31 | 宁夏凯信特信息科技有限公司 | 一种签名服务器系统以及签名验证方法 |
CN115412365B (zh) * | 2022-10-28 | 2023-02-03 | 杭州海康威视数字技术股份有限公司 | 基于多层加密的数据隐私保护方法 |
CN116257887B (zh) * | 2023-05-16 | 2023-08-22 | 建信金融科技有限责任公司 | 数据查询方法、装置、系统、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012149717A1 (zh) * | 2011-08-31 | 2012-11-08 | 华为技术有限公司 | 基于tcm或tpm的license动态管理方法、装置及系统 |
CN106506470A (zh) * | 2016-10-31 | 2017-03-15 | 大唐高鸿信安(浙江)信息科技有限公司 | 网络数据安全传输方法 |
CN108509787A (zh) * | 2018-03-14 | 2018-09-07 | 深圳市中易通安全芯科技有限公司 | 一种程序认证方法 |
CN109194473A (zh) * | 2018-09-25 | 2019-01-11 | 北京金山安全软件有限公司 | 一种数据传输方法、系统、装置、终端及存储介质 |
CN110298186A (zh) * | 2019-07-02 | 2019-10-01 | 北京计算机技术及应用研究所 | 一种基于动态可重构密码芯片的无密钥数据加解密方法 |
-
2020
- 2020-10-27 CN CN202011162901.2A patent/CN112235107B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012149717A1 (zh) * | 2011-08-31 | 2012-11-08 | 华为技术有限公司 | 基于tcm或tpm的license动态管理方法、装置及系统 |
CN102986162A (zh) * | 2011-08-31 | 2013-03-20 | 华为技术有限公司 | 基于TCM或TPM的license动态管理方法、装置及系统 |
CN106506470A (zh) * | 2016-10-31 | 2017-03-15 | 大唐高鸿信安(浙江)信息科技有限公司 | 网络数据安全传输方法 |
CN108509787A (zh) * | 2018-03-14 | 2018-09-07 | 深圳市中易通安全芯科技有限公司 | 一种程序认证方法 |
CN109194473A (zh) * | 2018-09-25 | 2019-01-11 | 北京金山安全软件有限公司 | 一种数据传输方法、系统、装置、终端及存储介质 |
CN110298186A (zh) * | 2019-07-02 | 2019-10-01 | 北京计算机技术及应用研究所 | 一种基于动态可重构密码芯片的无密钥数据加解密方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112235107A (zh) | 2021-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112235107B (zh) | 一种数据传输方法、装置、设备和存储介质 | |
CN104023013B (zh) | 数据传输方法、服务端和客户端 | |
CN111314056B (zh) | 基于身份加密体制的天地一体化网络匿名接入认证方法 | |
CN108347404B (zh) | 一种身份认证方法及装置 | |
CN105610773B (zh) | 一种电能表远程抄表的通讯加密方法 | |
CN109688098B (zh) | 数据的安全通信方法、装置、设备及计算机可读存储介质 | |
CN114520976B (zh) | 用户身份识别卡的认证方法及装置、非易失性存储介质 | |
CN113630248B (zh) | 一种会话密钥协商方法 | |
CN113612610B (zh) | 一种会话密钥协商方法 | |
CN109905877B (zh) | 通信网络系统的消息验证方法、通信方法和通信网络系统 | |
EP3664360A1 (en) | Certificateless public key encryption using pairings | |
US12010216B2 (en) | Computer-implemented system and method for highly secure, high speed encryption and transmission of data | |
CN110519226B (zh) | 基于非对称密钥池和隐式证书的量子通信服务端保密通信方法和系统 | |
CN111756529A (zh) | 一种量子会话密钥分发方法及系统 | |
CN112165386B (zh) | 一种基于ecdsa的数据加密方法及系统 | |
CN114172745A (zh) | 一种物联网安全协议系统 | |
CN107249002B (zh) | 一种提高智能电能表安全性的方法、系统及装置 | |
CN114915396B (zh) | 一种基于国密算法的跳变密钥数字通信加密系统和方法 | |
CN107707564B (zh) | 一种基于云网络的安全通道建立系统 | |
CN115913521A (zh) | 基于量子密钥进行身份认证的方法 | |
CN111404659B (zh) | 基于混沌系统的隐私保护通信方法、服务器以及通信系统 | |
CN103313244A (zh) | 一种基于gba的认证方法及装置 | |
CN112039654A (zh) | 一种抵御中间人攻击的电表数据安全采集方法 | |
CN108932425B (zh) | 一种离线身份认证方法、认证系统及认证设备 | |
CN109302286B (zh) | 一种Fido设备密钥索引的生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |