CN114938312B - 一种数据传输方法和装置 - Google Patents

一种数据传输方法和装置 Download PDF

Info

Publication number
CN114938312B
CN114938312B CN202210875398.8A CN202210875398A CN114938312B CN 114938312 B CN114938312 B CN 114938312B CN 202210875398 A CN202210875398 A CN 202210875398A CN 114938312 B CN114938312 B CN 114938312B
Authority
CN
China
Prior art keywords
data
key
message
service data
decrypted
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
Application number
CN202210875398.8A
Other languages
English (en)
Other versions
CN114938312A (zh
Inventor
郑倩
姜海东
王军
高晓欣
钟天齐
王思宁
邵进
屈楠
张涛
雍怡博
孙丽丽
宋亚琼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing China Power Information Technology Co Ltd
Original Assignee
Beijing China Power Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing China Power Information Technology Co Ltd filed Critical Beijing China Power Information Technology Co Ltd
Priority to CN202210875398.8A priority Critical patent/CN114938312B/zh
Publication of CN114938312A publication Critical patent/CN114938312A/zh
Application granted granted Critical
Publication of CN114938312B publication Critical patent/CN114938312B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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/045Network 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 hybrid encryption, i.e. combination of symmetric and asymmetric encryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/2876Pairs of inter-processing entities at each side of the network, e.g. split proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates

Abstract

本申请提供了数据传输方法和装置,应用于数据发送端的数据传输方法包括:获取待传输的业务数据,并接收数据接收端通过消息中间件发送来的加密公钥和目标长度信息;基于目标长度信息生成秘钥信息;通过消息摘要算法生成业务数据的消息摘要,并通过秘钥信息对业务数据和消息摘要进行加密,得到业务数据加密传输数据,以及通过加密公钥对秘钥信息进行加密,得到秘钥加密传输数据;采用高级消息队列协议将业务数据加密传输数据和秘钥加密传输数据发送至消息中间件,以便数据接收端从消息中间件中下载业务数据加密传输数据和秘钥加密传输数据,并从下载的数据中解析出业务数据。本申请能够有效规避数据发送端的业务数据的篡改、泄露、丢失的风险。

Description

一种数据传输方法和装置
技术领域
本申请涉及通信技术领域,特别是涉及一种数据传输方法和装置。
背景技术
随着网络技术和应用的不断发展,特别是大数据、云计算、人工智能等的出现和应用,互联网迎来了加速裂变式的新一轮革命,促使社会各方面发生颠覆性变化。然而,面对互联网与现代社会的深度融合,各企业对于数据传输的需求越来越多。
传统的数据传输在通信过程中,黑客可通过物理地址、互联网环境进行攻破,导致数据传输过程中发生泄露、篡改、丢失的问题。
发明内容
有鉴于此,本申请提供了一种数据传输方法和装置,用于解决现有技术中存在的数据传输过程中易发生泄露、篡改、丢失的问题,其技术方案如下:
一种数据传输方法,应用于数据发送端,包括:
获取待传输的业务数据,并接收数据接收端通过消息中间件发送来的加密公钥和目标长度信息,其中,数据发送端、数据接收端和消息中间件属于同一内网环境,数据发送端与消息中间件通过第一物理防火墙隔离,数据接收端与消息中间件通过第二物理防火墙隔离;
基于目标长度信息生成秘钥信息;
通过消息摘要算法生成业务数据的消息摘要,并通过秘钥信息对业务数据和消息摘要进行加密,得到业务数据加密传输数据,以及通过加密公钥对秘钥信息进行加密,得到秘钥加密传输数据;
采用高级消息队列协议将业务数据加密传输数据和秘钥加密传输数据发送至消息中间件,以便数据接收端从消息中间件中下载业务数据加密传输数据和秘钥加密传输数据,并从下载的数据中解析出业务数据。
可选的,获取待传输的业务数据,包括:
通过代理组件从数据层获取业务数据,其中,代理组件的通信方式为半双工通信,代理组件具有裁剪掉TCP/IP协议传输的业务数据的能力。
可选的,目标长度信息包括秘钥长度和向量长度,秘钥信息包括对称秘钥和初始向量,对称秘钥的长度为秘钥长度,初始向量的长度为向量长度;
通过秘钥信息对业务数据和消息摘要进行加密,得到业务数据加密传输数据,包括:
将业务数据和消息摘要进行拼装,得到拼装后的数据,其中,拼装后的数据包括多个数据分组,多个数据分组具有一定的顺序;
通过初始向量和对称秘钥对多个数据分组中的首个数据分组进行加密处理,得到首个数据分组对应的密文分组;
对于多个数据分组中除首个数据分组外的每个数据分组,通过该数据分组的前一数据分组对应的密文分组和对称秘钥对该数据分组进行加密处理,得到该数据分组对应的密文分组,以得到多个数据分组中除首个数据分组外的其他数据分组分别对应的密文分组;
将首个数据分组对应的密文分组和其他数据分组分别对应的密文分组作为业务数据加密传输数据。
可选的,消息中间件对应有指定端口白名单,指定端口白名单中包含数据发送端的目标端口;
采用高级消息队列协议将业务数据加密传输数据和秘钥加密传输数据发送至消息中间件,包括:
采用高级消息队列协议将业务数据加密传输数据和秘钥加密传输数据通过目标端口发送至消息中间件。
可选的,消息中间件包括数据发送端对应的第一消息中间件和数据接收端对应的第二消息中间件,第一消息中间件和第二消息中间件通过第三物理防火墙隔离。
可选的,加密公钥为SM2公钥,消息摘要算法为SM3算法,对称秘钥为SM4秘钥。
一种数据传输方法,应用于数据接收端,包括:
在建立与数据发送端的会话连接后,生成当前会话对应的密钥对,并将密钥对中的加密公钥,以及目标长度信息通过消息中间件发送至数据发送端,以便数据发送端基于目标长度信息生成秘钥信息,通过消息摘要算法生成待传输的业务数据的消息摘要,并通过秘钥信息对业务数据和消息摘要进行加密,得到业务数据加密传输数据,以及通过加密公钥对秘钥信息进行加密,得到秘钥加密传输数据,其中,数据发送端、数据接收端和消息中间件属于同一内网环境,数据发送端与消息中间件通过第一物理防火墙隔离,数据接收端与消息中间件通过第二物理防火墙隔离;
从消息中间件中下载来自数据发送端的秘钥加密传输数据和业务数据加密传输数据,其中,秘钥加密传输数据和业务数据加密传输数据对应的传输协议为高级消息队列协议;
通过密钥对中的解密私钥对秘钥加密传输数据进行解密,得到解密后的秘钥信息,并通过解密后的秘钥信息对业务数据加密传输数据进行解密,得到解密后的业务数据和解密后的消息摘要;
采用消息摘要算法生成解密后的业务数据的消息摘要,并将生成的消息摘要与解密后的消息摘要进行比较,以确定解密后的业务数据是否被篡改。
可选的,解密后的秘钥信息中包括解密后的对称秘钥和解密后的初始向量,业务数据加密传输数据包括多个密文分组,多个密文分组具有一定的顺序;
通过解密后的秘钥信息对业务数据加密传输数据进行解密,得到解密后的业务数据和解密后的消息摘要,包括:
通过解密后的初始向量和解密后的对称秘钥对多个密文分组中的首个密文分组进行解密处理,得到首个密文分组对应的明文分组;
对于多个密文分组中除首个密文分组外的每个密文分组,通过该密文分组的前一密文分组和解密后的对称秘钥对该密文分组进行解密处理,得到多个密文分组中除首个密文分组外的其他密文分组分别对应的明文分组;
对首个密文分组对应的明文分组和其他密文分组分别对应的明文分组进行解析,解析出的业务数据作为解密后的业务数据,解析出的消息摘要作为解密后的消息摘要。
一种数据传输装置,应用于数据发送端,包括:
信息获取模块,用于获取待传输的业务数据,并接收数据接收端通过消息中间件发送来的加密公钥和目标长度信息,其中,数据发送端、数据接收端和消息中间件属于同一内网环境,数据发送端与消息中间件通过第一物理防火墙隔离,数据接收端与消息中间件通过第二物理防火墙隔离;
秘钥生成模块,用于基于目标长度信息生成秘钥信息;
加密模块,用于通过消息摘要算法生成业务数据的消息摘要,并通过秘钥信息对业务数据和消息摘要进行加密,得到业务数据加密传输数据,以及通过加密公钥对秘钥信息进行加密,得到秘钥加密传输数据;
密文发送模块,用于采用高级消息队列协议将业务数据加密传输数据和秘钥加密传输数据发送至消息中间件,以便数据接收端从消息中间件中下载业务数据加密传输数据和秘钥加密传输数据,并从下载的数据中解析出业务数据。
一种数据传输装置,应用于数据接收端,包括:
信息发送模块,用于在建立与数据发送端的会话连接后,生成当前会话对应的密钥对,并将密钥对中的加密公钥,以及目标长度信息通过消息中间件发送至数据发送端,以便数据发送端基于目标长度信息生成秘钥信息,通过消息摘要算法生成待传输的业务数据的消息摘要,并通过秘钥信息对业务数据和消息摘要进行加密,得到业务数据加密传输数据,以及通过加密公钥对秘钥信息进行加密,得到秘钥加密传输数据,其中,数据发送端、数据接收端和消息中间件属于同一内网环境,数据发送端与消息中间件通过第一物理防火墙隔离,数据接收端与消息中间件通过第二物理防火墙隔离;
密文接收模块,用于从消息中间件中下载来自数据发送端的秘钥加密传输数据和业务数据加密传输数据,其中,秘钥加密传输数据和业务数据加密传输数据对应的传输协议为高级消息队列协议;
解密模块,用于通过密钥对中的解密私钥对秘钥加密传输数据进行解密,得到解密后的秘钥信息,并通过解密后的秘钥信息对业务数据加密传输数据进行解密,得到解密后的业务数据和解密后的消息摘要;
摘要比较模块,用于采用消息摘要算法生成解密后的业务数据的消息摘要,并将生成的消息摘要与解密后的消息摘要进行比较,以确定解密后的业务数据是否被篡改。
经由上述的技术方案可知,本申请提供的数据传输方法,数据发送端与数据接收端通过消息中间件传输业务数据,数据发送端、数据接收端和消息中间件属于同一内网环境,数据发送端与消息中间件通过第一物理防火墙隔离,数据接收端与消息中间件通过第二物理防火墙隔离,使得业务数据传输过程被黑客攻击时,即使消息中间件被攻破,数据发送端和数据接收端还有物理防火墙的防护,能够有效规避数据发送端的业务数据的篡改、泄露、丢失的风险。
并且,本申请在传输业务数据时采用加密公钥、解密私钥、消息摘要算法和秘钥信息进行三层算法加解密,即使业务数据传输过程发生泄漏,也需要知道解密方式才能够进行破解,保证了业务数据传输的安全性和完整性。
进一步,在数据发送端和数据接收端传输业务数据时采用高级消息队列协议,一方面可以实现异步传输,提高了传输效率,另一方面可以实现数据流量的削峰,保证了系统稳定性,此外,采用高级消息队列协议进行数据传输可以实现数据发送端和数据接收端的解耦合,一定程度上减少了数据发送端的开发工作量。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的应用于数据发送端的数据传输方法的流程示意图;
图2a为网省内的数据发送端和数据接收端的网络架构示意图;
图2b为不同网省的数据发送端和数据接收端的网络架构示意图;
图3为本申请实施例提供的应用于数据接收端的数据传输方法的流程示意图;
图4为本申请实施例提供的应用于数据发送端的数据传输装置的结构示意图;
图5为本申请实施例提供的应用于数据接收端的数据传输装置的结构示意图;
图6为本申请实施例提供的应用于数据发送端的数据传输设备的硬件结构框图;
图7为本申请实施例提供的应用于数据接收端的数据传输设备的硬件结构框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请提供了一种应用于数据发送端的数据传输方法,该应用于数据发送端的数据传输方法可适用于电网等复杂网络架构环境的场景下。为了使本领域技术人员更加理解本申请,接下来通过下述实施例对本申请提供的应用于数据发送端的数据传输方法进行详细介绍。
请参阅图1,示出了本申请实施例提供的应用于数据发送端的数据传输方法的流程示意图,该应用于数据发送端的数据传输方法可以包括:
步骤 S101、获取待传输的业务数据,并接收数据接收端通过消息中间件发送来的加密公钥和目标长度信息。
在本步骤中,数据发送端是指发送数据的一端,数据接收端是指接收数据的一端,例如,在一场景中,客户端可以通过pull或者轮询方式不断的查询服务器,检索新内容,此时客户端可以将检索关键词作为业务数据发送至服务端,服务端可以以push方式将检索结果(即业务数据)发送至客户端,则在客户端向服务端发送检索关键词时,客户端为数据发送端,服务端为数据接收端,在服务端向客户端发送检索结果时,服务端为数据发送端,客户端为数据接收端。
值得注意的是,在本实施例中,客户端向服务端发送数据时使用的通道与服务端向客户端发送数据时使用的通道不同,且两个通道均仅支持单向传输。
本申请实施例构建了一安全可靠的网络架构,以使得业务数据(例如,上述检索关键词和检索结果均为业务数据)能够安全、高效、稳定地传输至数据接收端。在该网络架构中,数据发送端和数据接收端通过消息中间件传输数据,且数据发送端、数据接收端和消息中间件属于同一内网环境,数据发送端与消息中间件通过第一物理防火墙隔离,数据接收端与消息中间件通过第二物理防火墙隔离。
例如,以电网环境为例,参见图2a所示,示出了网省内的数据发送端和数据接收端的网络架构示意图,在该网络架构中,数据发送端与消息中间件通过第一物理防火墙隔离,数据发送端对应有用于存储数据的数据中台,该数据中台部署在单独的物理区域,数据接收端与消息中间件通过第二物理防火墙隔离,从而数据中台与消息中间件能够在物理层面完全隔离。
例如,数据发送端可以为客户端,也可以为服务端,客户端对应有第一数据中台,服务端对应有第二数据中台,第一数据中台和第二数据中台均与消息中间件在物理层面完全隔离。可以理解的是,电网环境中还可能会涉及不同网省内的数据发送端和数据接收端进行数据传输的场景,此时可以参见图2b所示的网络架构示意图,在该网络架构中,消息中间件包括网省1内的数据发送端对应的第一消息中间件和网省2内的数据接收端对应的第二消息中间件,第一消息中间件和第二消息中间件通过第三物理防火墙隔离,增加第三物理防火墙进一步提高了数据传输的安全性。
在图2a和图2b示出的电网环境下的网络架构中,数据发送端和数据接收端只能通过内网通信,不会将请求暴露于公网,从而在数据传输过程中无需经过互联网,传输速度大大提升。同时,基于管理信息大区建立物理分区,将数据中台与消息中间件完全隔离,使得数据传输的服务不会影响到数据中台的服务,恶意请求无法通过消息中间件直接影响到数据中台存储的源数据,隐私性得到了极大的保障,可以有效应对黑客的攻击。
在上述网络架构的基础上,数据发送端可以获取待传输的业务数据,并且在数据接收端与数据发送端建立会话连接后,数据接收端可以生成当前会话对应的密钥对,并将密钥对中的加密公钥,以及目标长度信息通过消息中间件发送至数据发送端,因此,在本步骤中,数据发送端可以接收到数据接收端通过消息中间件发送来的加密公钥和目标长度信息。
可选的,加密公钥可以为SM2公钥。
步骤 S102、基于目标长度信息生成秘钥信息。
需要说明的是,针对不同的会话,本步骤生成的秘钥信息不同,也即本步骤能够实现会话秘钥一次一密。
可选的,目标长度信息可以为秘钥长度和向量长度,秘钥信息包括对称秘钥和初始向量,则本步骤“基于目标长度信息生成秘钥信息”的过程可以包括:生成长度为秘钥长度的对称秘钥,并生成长度为向量长度的初始向量。
可选的,秘钥长度可以为128位,向量长度可以为128位,对称秘钥可以为SM4秘钥,初始向量可以为IV向量,则本步骤中,数据发送端能够在每次会话时随机生成128位SM4秘钥和128位IV向量。
步骤 S103、通过消息摘要算法生成业务数据的消息摘要,并通过秘钥信息对业务数据和消息摘要进行加密,得到业务数据加密传输数据,以及通过加密公钥对秘钥信息进行加密,得到秘钥加密传输数据。
可选的,消息摘要算法可以为SM3算法,则生成消息摘要的公式为:消息摘要=SM3(paintext),这里,paintext是指业务数据。
以秘钥信息包含的对称秘钥为SM4秘钥为例,得到业务数据加密传输数据的公式为:业务数据加密传输数据=SM4.encrypt(paintext+SM3(paintext))。
以加密公钥为SM2公钥为例,得到秘钥加密传输数据的公式为:秘钥加密传输数据=SM2公钥.encrypt(SM4.key+SM4.IV)。
步骤 S104、采用高级消息队列协议将业务数据加密传输数据和秘钥加密传输数据发送至消息中间件,以便数据接收端从消息中间件中下载业务数据加密传输数据和秘钥加密传输数据,并从下载的数据中解析出业务数据。
这里,高级消息队列协议是指AMQP协议,支持消息代理及队列服务。数据发送端和数据接收端之间建立订阅服务,数据发送端在生成数据(即业务数据加密传输数据和秘钥加密传输数据)后发布至消息中间件的消息队列中,数据接收端基于订阅消费消息,在消费后自动删除队列中的消息,对消息也有预警操作,即未被消费的数据会定时告知数据接收端,如果超时则会对该数据进行手动清除,不允许长时存储队列中。同时消息传输过程中会记录行为日志,让传输有迹可循。
并且本步骤将三层加密(即加密公钥加密、秘钥信息加密和消息摘要算法加密)的业务数据加密传输数据和秘钥加密传输数据传输到消息队列中,使得消息队列中的数据不以明文出现,从而数据接收端需要对接收的业务数据加密传输数据和秘钥加密传输数据进行解密,才可以得到业务数据。
本申请提供的数据传输方法,数据发送端与数据接收端通过消息中间件传输业务数据,数据发送端、数据接收端和消息中间件属于同一内网环境,数据发送端与消息中间件通过第一物理防火墙隔离,数据接收端与消息中间件通过第二物理防火墙隔离,使得业务数据传输过程被黑客攻击时,即使消息中间件被攻破,数据发送端和数据接收端还有物理防火墙的防护,能够有效规避数据发送端的业务数据的篡改、泄露、丢失的风险。
并且,本申请在传输业务数据时采用加密公钥、解密私钥、消息摘要算法和秘钥信息进行三层算法加解密,即使业务数据传输过程发生泄漏,也需要知道解密方式才能够进行破解,保证了业务数据传输的安全性和完整性。
进一步,在数据发送端和数据接收端传输业务数据时采用高级消息队列协议,一方面可以实现异步传输,提高了传输效率,另一方面可以实现数据流量的削峰,保证了系统稳定性,此外,采用高级消息队列协议进行数据传输可以实现数据发送端和数据接收端的解耦合,一定程度上减少了数据发送端的开发工作量。
综上,本申请提供的数据传输方法使得业务数据能够高效、安全地进行传输,并能保证系统的稳定性和扩展性。
本申请的一个实施例,对前述“步骤 S101、获取待传输的业务数据”的过程进行介绍。
可选的,“获取待传输的业务数据”的过程可以包括:通过代理组件从数据层获取业务数据,其中,代理组件的通信方式为半双工通信,代理组件具有裁剪掉TCP/IP协议传输的业务数据的能力。
在本申请中,通过应用层搭建消息服务,并进行数据传输,而业务数据在数据层中存储,因此若需要获取业务数据,需要从数据层中获取。
为了更好地对数据层中的业务数据(即源数据)进行防护,本案发明人自主研发了代理组件(也可以称为隔离装置),从而通过代理组件才可以从数据层获取业务数据。
在本实施例中,“从数据层获取业务数据”具体是指从数据层的数据库中获取业务数据。这里,代理组件是保护数据库数据的一道屏障,可以有效防止数据库数据被恶意攻击访问;代理组件的通信方式为半双工通信,即数据库和数据发送端之间可以双向传输数据,但是同一时间只能一方发送数据,另一方接收数据。
本实施例中,代理组件还具有裁剪掉TCP/IP协议传输的业务数据的能力,具体的,代理组件可以基于jdbc(Java DataBase Connectivity,java数据库连接)进行sql数据的过滤,裁剪掉TCP/IP协议,把传输限制为数据层,从而可以很大程度上保护了数据的安全传输。
本申请的另一个实施例,对步骤 S103中“通过秘钥信息对业务数据和消息摘要进行加密,得到业务数据加密传输数据”的过程进行介绍。
如前述实施例中的介绍,可选的,目标长度信息包括秘钥长度和向量长度,秘钥信息包括对称秘钥和初始向量,其中,对称秘钥的长度为秘钥长度,初始向量的长度为向量长度。
在此基础上,本实施例“通过秘钥信息对业务数据和消息摘要进行加密,得到业务数据加密传输数据”的过程可以包括:
步骤 A1、将业务数据和消息摘要进行拼装,得到拼装后的数据,其中,拼装后的数据包括多个数据分组,多个数据分组具有一定的顺序。
例如,拼装后的数据包括请求头分组、业务数据分组、端口标识分组等。
步骤 A2、通过初始向量和对称秘钥对多个数据分组中的首个数据分组进行加密处理,得到首个数据分组对应的密文分组。
具体的,本步骤首先将初始向量与首个数据分组进行异或运算,得到异或后的数据,然后通过对称秘钥对异或后的数据进行加密,得到首个数据分组对应的密文分组。
步骤 A3、对于多个数据分组中除首个数据分组外的每个数据分组,通过该数据分组的前一数据分组对应的密文分组和对称秘钥对该数据分组进行加密处理,得到该数据分组对应的密文分组,以得到多个数据分组中除首个数据分组外的其他数据分组分别对应的密文分组。
具体的,本步骤对多个数据分组中除首个数据分组外的每个数据分组,将前一数据分组对应的密文分组和该数据分组进行异或运算,得到异或后的数据,然后通过对称秘钥对异或后的数据进行加密,得到该数据分组对应的密文分组。对每个数据分组分别采用上述加密处理方式进行处理,可得到多个数据分组中除首个数据分组外的其他数据分组分别对应的密文分组。
步骤 A4、将首个数据分组对应的密文分组和其他数据分组分别对应的密文分组作为业务数据加密传输数据。
综上,本实施例在加密时引入初始向量,使得加密得到的业务数据加密传输数据的安全性更高。
以下实施例,对“步骤 S104、采用高级消息队列协议将业务数据加密传输数据和秘钥加密传输数据发送至消息中间件”的过程进行说明。
本实施例中,业务数据通过数据发送端的端口传输至消息中间件,然后再由数据接收端从消息中间件中下载业务数据。
为了避免恶意请求的攻击,本实施例可以在消息中间件服务器中存储指定端口白名单,从而仅指定端口白名单中的数据发送端的业务数据可以成功发送至数据接收端。也即,本实施例可以预先将数据发送端的目标端口存储至消息中间件对应的指定端口白名单中,从而数据发送端可采用高级消息队列协议将业务数据加密传输数据和秘钥加密传输数据通过数据发送端上的目标端口发送至消息中间件。
在本实施例中,消息中间件在判断目标端口位于指定端口白名单的情况下,可以将接收到的业务数据加密传输数据和秘钥加密传输数据存储至自身的消息队列中,从而数据接收端可以从消息队列中下载业务数据加密传输数据和秘钥加密传输数据。
本实施例中,只对指定端口白名单中的固定端口进行开放,即使消息中间件被攻击,也无法污染源数据,大大提升了数据传输的安全性。
与上述应用于数据发送端的数据传输方法相对应的,本申请还提供了一种应用于数据接收端的数据传输方法,接下来对通过下述实施例对本申请提供的应用于数据接收端的数据传输方法进行详细介绍。
请参阅图3,示出了本申请实施例提供的应用于数据接收端的数据传输方法的流程示意图,该应用于数据接收端的数据传输方法可以包括:
步骤 S301、在建立与数据发送端的会话连接后,生成当前会话对应的密钥对,并将密钥对中的加密公钥,以及目标长度信息通过消息中间件发送至数据发送端,以便数据发送端基于目标长度信息生成秘钥信息,通过消息摘要算法生成待传输的业务数据的消息摘要,并通过秘钥信息对业务数据和消息摘要进行加密,得到业务数据加密传输数据,以及通过加密公钥对秘钥信息进行加密,得到秘钥加密传输数据。
其中,数据发送端、数据接收端和消息中间件属于同一内网环境,数据发送端与消息中间件通过第一物理防火墙隔离,数据接收端与消息中间件通过第二物理防火墙隔离。
可选的,本实施例中的秘钥对为SM2秘钥对,其中包括加密公钥即SM2公钥和解密私钥即SM2私钥。
关于目标长度信息、秘钥信息,以及数据发送端得到秘钥加密传输数据和业务数据加密传输数据的过程可以参见前述实施例中的介绍,在此不再赘述。
步骤 S302、从消息中间件中下载来自数据发送端的秘钥加密传输数据和业务数据加密传输数据。
其中,秘钥加密传输数据和业务数据加密传输数据对应的传输协议为高级消息队列协议。
步骤 S303、通过密钥对中的解密私钥对秘钥加密传输数据进行解密,得到解密后的秘钥信息,并通过解密后的秘钥信息对业务数据加密传输数据进行解密,得到解密后的业务数据和解密后的消息摘要。
如前述步骤中的介绍,数据发送端可基于加密秘钥对秘钥信息进行加密,得到秘钥加密传输数据,则相应的,本步骤可基于解密私钥对秘钥加密传输数据进行解密,得到解密后的秘钥信息。
数据发送端可基于秘钥信息对业务数据和消息摘要进行加密,则本步骤可基于解密后的秘钥信息对业务数据加密传输数据进行解密,得到解密后的业务数据和解密后的消息摘要。
可选的,秘钥信息中可以包括对称秘钥和初始IV向量。
可选的,秘钥对中的解密私钥可以为SM2私钥,对称秘钥可以为SM4秘钥,则得到解密后的秘钥信息的公式可以为:SM4.key+ SM4.IV=SM2私钥.decrypt(秘钥加密传输数据)。
相应的,得到解密后的秘钥信息的公式为:paintext+SM3(paintext)=SM4.decrypt(业务数据加密传输数据)。
步骤 S304、采用消息摘要算法生成解密后的业务数据的消息摘要,并将生成的消息摘要与解密后的消息摘要进行比较,以确定解密后的业务数据是否被篡改。
在本步骤中,可采用与前述步骤 S103相同的消息摘要算法生成解密后的业务数据的消息摘要,然后再将生成的消息摘要与步骤 S303得到的解密后的消息摘要进行比较,以验证传输过来的业务数据是否完整,若两者一致,说明传输过来的数据完整,未被篡改,若两者不一致,说明传输过来的数据已在传输过程中被篡改。
需要说明的是,本实施例的过程与前述应用于数据发送端的数据传输方法相对应,本实施例未详细介绍之处可参照前述实施例中的介绍。
以下的一个实施例,对步骤 S303中“通过解密后的秘钥信息对业务数据加密传输数据进行解密,得到解密后的业务数据和解密后的消息摘要”的过程进行介绍。
可选的,解密后的秘钥信息中包括解密后的对称秘钥和解密后的初始向量,业务数据加密传输数据包括多个密文分组,多个密文分组具有一定的顺序。
基于此,“通过解密后的秘钥信息对业务数据加密传输数据进行解密,得到解密后的业务数据和解密后的消息摘要”的过程包括:
步骤 B1、通过解密后的初始向量和解密后的对称秘钥对多个密文分组中的首个密文分组进行解密处理,得到首个密文分组对应的明文分组。
具体的,本步骤首先通过解密后的对称秘钥对首个密文分组进行解密,得到解密后的密文分组,然后将解密后的密文分组与解密后的初始向量进行异或运算,得到首个密文分组对应的明文分组。
步骤 B2、对于多个密文分组中除首个密文分组外的每个密文分组,通过该密文分组的前一密文分组和解密后的对称秘钥对该密文分组进行解密处理,得到多个密文分组中除首个密文分组外的其他密文分组分别对应的明文分组。
具体的,本步骤对多个密文分组中除首个密文分组外的每个密文分组,通过解密后的对称秘钥对该密文分组进行解密,得到解密后的密文分组,然后将解密后的密文分组与前一密文分组进行异或运算,得到该密文分组分别对应的明文分组。对每个密文分组分别采用上述解密处理方式进行解密,可得到多个密文分组中除首个密文分组外的其他密文分组分别对应的明文分组。
步骤 B3、对首个密文分组对应的明文分组和其他密文分组分别对应的明文分组进行解析,解析出的业务数据作为解密后的业务数据,解析出的消息摘要作为解密后的消息摘要。
如前述实施例中的步骤 A1中的介绍,业务数据和消息摘要会进行拼装,则解密后还需要对解密出的各个明文分组进行解析,以解析出各个明文分组中的解密后的业务数据和解密后的消息摘要。
本实施例基于初始向量进行解密,在密文分组损坏时,只要密文分组的长度没有发生变化,则解密时最多只有2个分组受到数据损坏的影响。
在一可选实施例中,本申请提供的应用于数据接收端的数据传输方法还可以包括以下过程:周期性地通过消息中间件向数据发送端发送第一心跳消息,并在发送连续两次第一心跳消息且未收到数据发送端的心跳响应时,重新与数据发送端建立会话连接;和/或,接收数据发送端通过消息中间件发送来的第二心跳消息,并通过消息中间件向数据发送端反馈心跳响应。
本实施例中的数据发送端和数据接收端可以建立长连接通信,即使用心跳机制来保持连接。具体的,数据接收端可以设置心跳间隔,周期性地向数据发送端发送心跳消息,为了区分,将数据接收端主动发送的心跳消息定义为第一心跳消息,如果数据发送端忽略了两次心跳,即向数据发送端发送了两次第一心跳消息时,均为收到数据发送端的心跳响应,则数据接收端可以与数据发送端自动进行重连。
此外,数据发送端还可以向数据接收端发送心跳消息,该心跳消息定义为第二心跳消息,数据接收端可以在接收到数据发送端发送的第二心跳消息后,向数据接收端反馈心跳响应。可选的,数据发送端可以在过去心跳间隔一半的时间主动向数据接收端发送第二心跳消息,以确保服务一致处于连接状态。
本实施例中,由于数据发送端与数据接收端一直处于连接状态,数据发布上去就会被消费,不会产生数据堆积造成的告警问题。
综上各实施例,本申请建立了一套网络架构,以解决在进行数据传输过程中的安全性、高效性、稳定性。在此架构设计上,数据传输支持80000条/秒吞吐的高效异步通信,支持在内网环境下的长连接通信,通信应用无需知道物理地址也可在集成时实现松耦合,降低了企业和系统集成上的开销。实现在复杂网络环境下进行远端数据传输也能达到更加快速、便捷、安全的传输环境。
并且,通过应用层搭建消息服务,建立异步的长连接通信,对于断线续传、安全校验、请求应答均做了相应的处理,保证在数据传输过程中的安全、稳定、高效。
此外,针对电网的复杂网络架构环境下,基于管理信息大区建立物理分区,将数据中台与应用中台完全隔离。在物理安全层面上,数据中台的机房建立上除了有最基本的安全控制之外,也具备防火、防潮甚至电磁防护能力等,同时具备灾后数据恢复能力。在技术层面,对系统安全管理及恶意代码防范上也做了控制,即平台本身就具备一定的防范能力来应对黑客的攻击。
采用AMQP可以实现异步传输,提高了传输效率;还可以削峰,当来自数据接收端的海量请求出现时,这些请求信息可以暂存在消息队列中,消息中间件服务器可以依据自身资源情况依次处理这些请求,这样消息中间件服务器面对海量请求时不至于资源瞬间被耗尽,在一定程度上保证了系统的稳定性;此外采用AMQP可以解耦,当有多个系统需要进行对接时,可以按照AMQP协议进行对接,数据发送端基本不涉及开发工作量。
本申请实施例还提供了一种应用于数据发送端的数据传输装置,下面对本申请实施例提供的应用于数据发送端的数据传输装置进行描述,下文描述的应用于数据发送端的数据传输装置与上文描述的应用于数据发送端的数据传输方法可相互对应参照。
请参阅图4,示出了本申请实施例提供的应用于数据发送端的数据传输装置的结构示意图,如图4所示,该应用于数据发送端的数据传输装置可以包括:信息获取模块401、秘钥生成模块402、加密模块403和密文发送模块404。
信息获取模块401,用于获取待传输的业务数据,并接收数据接收端通过消息中间件发送来的加密公钥和目标长度信息,其中,数据发送端、数据接收端和消息中间件属于同一内网环境,数据发送端与消息中间件通过第一物理防火墙隔离,数据接收端与消息中间件通过第二物理防火墙隔离。
秘钥生成模块402,用于基于目标长度信息生成秘钥信息。
加密模块403,用于通过消息摘要算法生成业务数据的消息摘要,并通过秘钥信息对业务数据和消息摘要进行加密,得到业务数据加密传输数据,以及通过加密公钥对秘钥信息进行加密,得到秘钥加密传输数据。
密文发送模块404,用于采用高级消息队列协议将业务数据加密传输数据和秘钥加密传输数据发送至消息中间件,以便数据接收端从消息中间件中下载业务数据加密传输数据和秘钥加密传输数据,并从下载的数据中解析出业务数据。
在一种可能的实现方式中,信息获取模块401在获取待传输的业务数据时具体可以用于通过代理组件从数据层获取业务数据,其中,代理组件的通信方式为半双工通信,代理组件具有裁剪掉TCP/IP协议传输的业务数据的能力。
在一种可能的实现方式中,上述目标长度信息包括秘钥长度和向量长度,秘钥信息包括对称秘钥和初始向量,对称秘钥的长度为秘钥长度,初始向量的长度为向量长度。
基于此,上述加密模块403在通过秘钥信息对业务数据和消息摘要进行加密,得到业务数据加密传输数据时可以包括:数据拼装模块、第一密文分组确定模块、第二密文分组确定模块和加密数据确定模块。
数据拼装模块,用于将业务数据和消息摘要进行拼装,得到拼装后的数据,其中,拼装后的数据包括多个数据分组,多个数据分组具有一定的顺序。
第一密文分组确定模块,用于通过初始向量和对称秘钥对多个数据分组中的首个数据分组进行加密处理,得到首个数据分组对应的密文分组。
第二密文分组确定模块,用于对于多个数据分组中除首个数据分组外的每个数据分组,通过该数据分组的前一数据分组对应的密文分组和对称秘钥对该数据分组进行加密处理,得到该数据分组对应的密文分组,以得到多个数据分组中除首个数据分组外的其他数据分组分别对应的密文分组。
加密数据确定模块,用于将首个数据分组对应的密文分组和其他数据分组分别对应的密文分组作为业务数据加密传输数据。
在一种可能的实现方式中,上述消息中间件对应有指定端口白名单,指定端口白名单中包含数据发送端的目标端口。
基于此,上述密文发送模块404具体可以用于采用高级消息队列协议将业务数据加密传输数据和秘钥加密传输数据通过目标端口发送至消息中间件。
在一种可能的实现方式中,上述消息中间件包括数据发送端对应的第一消息中间件和数据接收端对应的第二消息中间件,第一消息中间件和第二消息中间件通过第三物理防火墙隔离。
在一种可能的实现方式中,上述加密公钥为SM2公钥,消息摘要算法为SM3算法,对称秘钥为SM4秘钥。
本申请实施例还提供了一种应用于数据接收端的数据传输装置,下面对本申请实施例提供的应用于数据接收端的数据传输装置进行描述,下文描述的应用于数据接收端的数据传输装置与上文描述的应用于数据接收端的数据传输方法可相互对应参照。
请参阅图5,示出了本申请实施例提供的应用于数据接收端的数据传输装置的结构示意图,如图5所示,该应用于数据接收端的数据传输装置可以包括:信息发送模块501、密文接收模块502、解密模块503和摘要比较模块504。
信息发送模块501,用于在建立与数据发送端的会话连接后,生成当前会话对应的密钥对,并将密钥对中的加密公钥,以及目标长度信息通过消息中间件发送至数据发送端,以便数据发送端基于目标长度信息生成秘钥信息,通过消息摘要算法生成待传输的业务数据的消息摘要,并通过秘钥信息对业务数据和消息摘要进行加密,得到业务数据加密传输数据,以及通过加密公钥对秘钥信息进行加密,得到秘钥加密传输数据,其中,数据发送端、数据接收端和消息中间件属于同一内网环境,数据发送端与消息中间件通过第一物理防火墙隔离,数据接收端与消息中间件通过第二物理防火墙隔离。
密文接收模块502,用于从消息中间件中下载来自数据发送端的秘钥加密传输数据和业务数据加密传输数据,其中,秘钥加密传输数据和业务数据加密传输数据对应的传输协议为高级消息队列协议。
解密模块503,用于通过密钥对中的解密私钥对秘钥加密传输数据进行解密,得到解密后的秘钥信息,并通过解密后的秘钥信息对业务数据加密传输数据进行解密,得到解密后的业务数据和解密后的消息摘要。
摘要比较模块504,用于采用消息摘要算法生成解密后的业务数据的消息摘要,并将生成的消息摘要与解密后的消息摘要进行比较,以确定解密后的业务数据是否被篡改。
在一种可能的实现方式中,上述解密后的秘钥信息中包括解密后的对称秘钥和解密后的初始向量,业务数据加密传输数据包括多个密文分组,多个密文分组具有一定的顺序。
基于此,上述解密模块503在通过解密后的秘钥信息对业务数据加密传输数据进行解密,得到解密后的业务数据和解密后的消息摘要时可以包括:第一明文分组确定模块、第二明文分组确定模块和数据解析模块。
第一明文分组确定模块,用于通过解密后的初始向量和解密后的对称秘钥对多个密文分组中的首个密文分组进行解密处理,得到首个密文分组对应的明文分组。
第二明文分组确定模块,用于对于多个密文分组中除首个密文分组外的每个密文分组,通过该密文分组的前一密文分组和解密后的对称秘钥对该密文分组进行解密处理,得到多个密文分组中除首个密文分组外的其他密文分组分别对应的明文分组。
数据解析模块,用于对首个密文分组对应的明文分组和其他密文分组分别对应的明文分组进行解析,解析出的业务数据作为解密后的业务数据,解析出的消息摘要作为解密后的消息摘要。
本申请实施例还提供了一种应用于数据发送端的数据传输设备。可选的,图6示出了应用于数据发送端的数据传输设备的硬件结构框图,参照图6,该应用于数据发送端的数据传输设备的硬件结构可以包括:至少一个处理器601,至少一个通信接口602,至少一个存储器603和至少一个通信总线604;
在本申请实施例中,处理器601、通信接口602、存储器603、通信总线604的数量为至少一个,且处理器601、通信接口602、存储器603通过通信总线604完成相互间的通信;
处理器601可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器603可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
其中,存储器603存储有程序,处理器601可调用存储器603存储的程序,所述程序用于:
获取待传输的业务数据,并接收数据接收端通过消息中间件发送来的加密公钥和目标长度信息,其中,数据发送端、数据接收端和消息中间件属于同一内网环境,数据发送端与消息中间件通过第一物理防火墙隔离,数据接收端与消息中间件通过第二物理防火墙隔离;
基于目标长度信息生成秘钥信息;
通过消息摘要算法生成业务数据的消息摘要,并通过秘钥信息对业务数据和消息摘要进行加密,得到业务数据加密传输数据,以及通过加密公钥对秘钥信息进行加密,得到秘钥加密传输数据;
采用高级消息队列协议将业务数据加密传输数据和秘钥加密传输数据发送至消息中间件,以便数据接收端从消息中间件中下载业务数据加密传输数据和秘钥加密传输数据,并从下载的数据中解析出业务数据。
可选的,程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供了一种应用于数据接收端的数据传输设备。可选的,图7示出了应用于数据接收端的数据传输设备的硬件结构框图,参照图7,该应用于数据接收端的数据传输设备的硬件结构可以包括:至少一个处理器701,至少一个通信接口702,至少一个存储器703和至少一个通信总线704;
在本申请实施例中,处理器701、通信接口702、存储器703、通信总线704的数量为至少一个,且处理器701、通信接口702、存储器703通过通信总线704完成相互间的通信;
处理器701可能是一个中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路等;
存储器703可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory)等,例如至少一个磁盘存储器;
其中,存储器703存储有程序,处理器701可调用存储器703存储的程序,程序用于:
在建立与数据发送端的会话连接后,生成当前会话对应的密钥对,并将密钥对中的加密公钥,以及目标长度信息通过消息中间件发送至数据发送端,以便数据发送端基于目标长度信息生成秘钥信息,通过消息摘要算法生成待传输的业务数据的消息摘要,并通过秘钥信息对业务数据和消息摘要进行加密,得到业务数据加密传输数据,以及通过加密公钥对秘钥信息进行加密,得到秘钥加密传输数据,其中,数据发送端、数据接收端和消息中间件属于同一内网环境,数据发送端与消息中间件通过第一物理防火墙隔离,数据接收端与消息中间件通过第二物理防火墙隔离;
从消息中间件中下载来自数据发送端的秘钥加密传输数据和业务数据加密传输数据,其中,秘钥加密传输数据和业务数据加密传输数据对应的传输协议为高级消息队列协议;
通过密钥对中的解密私钥对秘钥加密传输数据进行解密,得到解密后的秘钥信息,并通过解密后的秘钥信息对业务数据加密传输数据进行解密,得到解密后的业务数据和解密后的消息摘要;
采用消息摘要算法生成解密后的业务数据的消息摘要,并将生成的消息摘要与解密后的消息摘要进行比较,以确定解密后的业务数据是否被篡改。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还提供一种可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述应用于数据发送端的数据传输方法,或实现如上述应用于数据接收端的数据传输方法。
可选的,所述程序的细化功能和扩展功能可参照上文描述。
本申请实施例还公开了一种数据传输系统,该数据传输系统包括数据发送端和数据接收端,其中上述数据发送端和数据接收端的具体实现逻辑可以参照前述数据传输方法部分的相关介绍,此处不再赘述。
最后,还需要说明的是,在本文中,诸如和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种数据传输方法,其特征在于,应用于数据发送端,包括:
获取待传输的业务数据,并接收数据接收端通过消息中间件发送来的加密公钥和目标长度信息,其中,所述数据发送端、所述数据接收端和所述消息中间件属于同一内网环境,所述数据发送端与所述消息中间件通过第一物理防火墙隔离,所述数据接收端与所述消息中间件通过第二物理防火墙隔离;
基于所述目标长度信息生成秘钥信息;
通过消息摘要算法生成所述业务数据的消息摘要,并通过所述秘钥信息对所述业务数据和所述消息摘要进行加密,得到业务数据加密传输数据,以及通过所述加密公钥对所述秘钥信息进行加密,得到秘钥加密传输数据;
采用高级消息队列协议将所述业务数据加密传输数据和所述秘钥加密传输数据发送至所述消息中间件,以便所述数据接收端从所述消息中间件中下载所述业务数据加密传输数据和所述秘钥加密传输数据,并从下载的数据中解析出所述业务数据。
2.根据权利要求1所述的数据传输方法,其特征在于,所述获取待传输的业务数据,包括:
通过代理组件从数据层获取所述业务数据,其中,所述代理组件的通信方式为半双工通信,所述代理组件具有裁剪掉TCP/IP协议传输的业务数据的能力。
3.根据权利要求1所述的数据传输方法,其特征在于,所述目标长度信息包括秘钥长度和向量长度,所述秘钥信息包括对称秘钥和初始向量,所述对称秘钥的长度为所述秘钥长度,所述初始向量的长度为所述向量长度;
所述通过所述秘钥信息对所述业务数据和所述消息摘要进行加密,得到业务数据加密传输数据,包括:
将所述业务数据和所述消息摘要进行拼装,得到拼装后的数据,其中,所述拼装后的数据包括多个数据分组,所述多个数据分组具有一定的顺序;
通过所述初始向量和所述对称秘钥对所述多个数据分组中的首个数据分组进行加密处理,得到所述首个数据分组对应的密文分组;
对于所述多个数据分组中除所述首个数据分组外的每个数据分组,通过该数据分组的前一数据分组对应的密文分组和所述对称秘钥对该数据分组进行加密处理,得到该数据分组对应的密文分组,以得到所述多个数据分组中除所述首个数据分组外的其他数据分组分别对应的密文分组;
将所述首个数据分组对应的密文分组和所述其他数据分组分别对应的密文分组作为所述业务数据加密传输数据。
4.根据权利要求1所述的数据传输方法,其特征在于,所述消息中间件对应有指定端口白名单,所述指定端口白名单中包含所述数据发送端的目标端口;
所述采用高级消息队列协议将所述业务数据加密传输数据和所述秘钥加密传输数据发送至所述消息中间件,包括:
采用所述高级消息队列协议将所述业务数据加密传输数据和所述秘钥加密传输数据通过所述目标端口发送至所述消息中间件。
5.根据权利要求1~4任一项所述的数据传输方法,其特征在于,所述消息中间件包括所述数据发送端对应的第一消息中间件和所述数据接收端对应的第二消息中间件,所述第一消息中间件和所述第二消息中间件通过第三物理防火墙隔离。
6.根据权利要求3所述的数据传输方法,其特征在于,所述加密公钥为SM2公钥,所述消息摘要算法为SM3算法,所述对称秘钥为SM4秘钥。
7.一种数据传输方法,其特征在于,应用于数据接收端,包括:
在建立与数据发送端的会话连接后,生成当前会话对应的密钥对,并将所述密钥对中的加密公钥,以及目标长度信息通过消息中间件发送至数据发送端,以便所述数据发送端基于所述目标长度信息生成秘钥信息,通过消息摘要算法生成待传输的业务数据的消息摘要,并通过所述秘钥信息对所述业务数据和所述消息摘要进行加密,得到业务数据加密传输数据,以及通过所述加密公钥对所述秘钥信息进行加密,得到秘钥加密传输数据,其中,所述数据发送端、所述数据接收端和所述消息中间件属于同一内网环境,所述数据发送端与所述消息中间件通过第一物理防火墙隔离,所述数据接收端与所述消息中间件通过第二物理防火墙隔离;
从所述消息中间件中下载来自所述数据发送端的所述秘钥加密传输数据和所述业务数据加密传输数据,其中,所述秘钥加密传输数据和所述业务数据加密传输数据对应的传输协议为高级消息队列协议;
通过所述密钥对中的解密私钥对所述秘钥加密传输数据进行解密,得到解密后的秘钥信息,并通过所述解密后的秘钥信息对所述业务数据加密传输数据进行解密,得到解密后的业务数据和解密后的消息摘要;
采用所述消息摘要算法生成所述解密后的业务数据的消息摘要,并将生成的消息摘要与所述解密后的消息摘要进行比较,以确定所述解密后的业务数据是否被篡改。
8.根据权利要求7所述的数据传输方法,其特征在于,所述解密后的秘钥信息中包括解密后的对称秘钥和解密后的初始向量,所述业务数据加密传输数据包括多个密文分组,所述多个密文分组具有一定的顺序;
所述通过所述解密后的秘钥信息对所述业务数据加密传输数据进行解密,得到解密后的业务数据和解密后的消息摘要,包括:
通过所述解密后的初始向量和所述解密后的对称秘钥对所述多个密文分组中的首个密文分组进行解密处理,得到所述首个密文分组对应的明文分组;
对于所述多个密文分组中除所述首个密文分组外的每个密文分组,通过该密文分组的前一密文分组和所述解密后的对称秘钥对该密文分组进行解密处理,得到所述多个密文分组中除所述首个密文分组外的其他密文分组分别对应的明文分组;
对所述首个密文分组对应的明文分组和所述其他密文分组分别对应的明文分组进行解析,解析出的业务数据作为所述解密后的业务数据,解析出的消息摘要作为所述解密后的消息摘要。
9.一种数据传输装置,其特征在于,应用于数据发送端,包括:
信息获取模块,用于获取待传输的业务数据,并接收数据接收端通过消息中间件发送来的加密公钥和目标长度信息,其中,所述数据发送端、所述数据接收端和所述消息中间件属于同一内网环境,所述数据发送端与所述消息中间件通过第一物理防火墙隔离,所述数据接收端与所述消息中间件通过第二物理防火墙隔离;
秘钥生成模块,用于基于所述目标长度信息生成秘钥信息;
加密模块,用于通过消息摘要算法生成所述业务数据的消息摘要,并通过所述秘钥信息对所述业务数据和所述消息摘要进行加密,得到业务数据加密传输数据,以及通过所述加密公钥对所述秘钥信息进行加密,得到秘钥加密传输数据;
密文发送模块,用于采用高级消息队列协议将所述业务数据加密传输数据和所述秘钥加密传输数据发送至所述消息中间件,以便所述数据接收端从所述消息中间件中下载所述业务数据加密传输数据和所述秘钥加密传输数据,并从下载的数据中解析出所述业务数据。
10.一种数据传输装置,其特征在于,应用于数据接收端,包括:
信息发送模块,用于在建立与数据发送端的会话连接后,生成当前会话对应的密钥对,并将所述密钥对中的加密公钥,以及目标长度信息通过消息中间件发送至数据发送端,以便所述数据发送端基于所述目标长度信息生成秘钥信息,通过消息摘要算法生成待传输的业务数据的消息摘要,并通过所述秘钥信息对所述业务数据和所述消息摘要进行加密,得到业务数据加密传输数据,以及通过所述加密公钥对所述秘钥信息进行加密,得到秘钥加密传输数据,其中,所述数据发送端、所述数据接收端和所述消息中间件属于同一内网环境,所述数据发送端与所述消息中间件通过第一物理防火墙隔离,所述数据接收端与所述消息中间件通过第二物理防火墙隔离;
密文接收模块,用于从所述消息中间件中下载来自所述数据发送端的所述秘钥加密传输数据和所述业务数据加密传输数据,其中,所述秘钥加密传输数据和所述业务数据加密传输数据对应的传输协议为高级消息队列协议;
解密模块,用于通过所述密钥对中的解密私钥对所述秘钥加密传输数据进行解密,得到解密后的秘钥信息,并通过所述解密后的秘钥信息对所述业务数据加密传输数据进行解密,得到解密后的业务数据和解密后的消息摘要;
摘要比较模块,用于采用所述消息摘要算法生成所述解密后的业务数据的消息摘要,并将生成的消息摘要与所述解密后的消息摘要进行比较,以确定所述解密后的业务数据是否被篡改。
CN202210875398.8A 2022-07-25 2022-07-25 一种数据传输方法和装置 Active CN114938312B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210875398.8A CN114938312B (zh) 2022-07-25 2022-07-25 一种数据传输方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210875398.8A CN114938312B (zh) 2022-07-25 2022-07-25 一种数据传输方法和装置

Publications (2)

Publication Number Publication Date
CN114938312A CN114938312A (zh) 2022-08-23
CN114938312B true CN114938312B (zh) 2022-09-23

Family

ID=82868598

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210875398.8A Active CN114938312B (zh) 2022-07-25 2022-07-25 一种数据传输方法和装置

Country Status (1)

Country Link
CN (1) CN114938312B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115713334B (zh) * 2022-11-28 2023-06-16 武汉利楚商务服务有限公司 一种交易数据监控方法及装置
CN115632880B (zh) * 2022-12-07 2023-03-21 国网信息通信产业集团有限公司 一种基于国密算法的可靠数据传输及存储的方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039713B1 (en) * 1999-11-09 2006-05-02 Microsoft Corporation System and method of user authentication for network communication through a policy agent
CN109522727A (zh) * 2018-10-26 2019-03-26 吴晓军 一种数据处理方法、装置及设备
CN111049738A (zh) * 2019-12-24 2020-04-21 杭州安司源科技有限公司 基于混合加密的电子邮件数据安全保护方法
CN111277413A (zh) * 2020-03-06 2020-06-12 电子科技大学 一种适用于代理重加密的密码逆向防火墙方法
CN111510474A (zh) * 2020-03-26 2020-08-07 中国平安人寿保险股份有限公司 基于消息中间件的数据传输方法及相关设备
CN112751866A (zh) * 2020-12-31 2021-05-04 北京天融信网络安全技术有限公司 一种网络数据传输方法及系统
CN113297599A (zh) * 2021-06-16 2021-08-24 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 数据传输系统、数据获取方法、终端和存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002102009A2 (en) * 2001-06-12 2002-12-19 Research In Motion Limited Method for processing encoded messages for exchange with a mobile data communication device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039713B1 (en) * 1999-11-09 2006-05-02 Microsoft Corporation System and method of user authentication for network communication through a policy agent
CN109522727A (zh) * 2018-10-26 2019-03-26 吴晓军 一种数据处理方法、装置及设备
CN111049738A (zh) * 2019-12-24 2020-04-21 杭州安司源科技有限公司 基于混合加密的电子邮件数据安全保护方法
CN111277413A (zh) * 2020-03-06 2020-06-12 电子科技大学 一种适用于代理重加密的密码逆向防火墙方法
CN111510474A (zh) * 2020-03-26 2020-08-07 中国平安人寿保险股份有限公司 基于消息中间件的数据传输方法及相关设备
CN112751866A (zh) * 2020-12-31 2021-05-04 北京天融信网络安全技术有限公司 一种网络数据传输方法及系统
CN113297599A (zh) * 2021-06-16 2021-08-24 中国电子产品可靠性与环境试验研究所((工业和信息化部电子第五研究所)(中国赛宝实验室)) 数据传输系统、数据获取方法、终端和存储介质

Also Published As

Publication number Publication date
CN114938312A (zh) 2022-08-23

Similar Documents

Publication Publication Date Title
US7702901B2 (en) Secure communications between internet and remote client
Snoeren et al. Single-packet IP traceback
CN110190955B (zh) 基于安全套接层协议认证的信息处理方法及装置
CN114938312B (zh) 一种数据传输方法和装置
Zhuang et al. Cashmere: Resilient anonymous routing
CN113067828B (zh) 报文处理方法、装置、服务器、计算机设备及存储介质
CN111371549B (zh) 一种报文数据传输方法、装置及系统
US20110138180A1 (en) Secure method of termination of service notification
CN112398651B (zh) 一种量子保密通信方法、装置、电子设备以及存储介质
CN111428225A (zh) 数据交互方法、装置、计算机设备及存储介质
Bali et al. Lightweight authentication for MQTT to improve the security of IoT communication
EP3442195B1 (en) Reliable and secure parsing of packets
CN111914291A (zh) 消息处理方法、装置、设备及存储介质
US11716367B2 (en) Apparatus for monitoring multicast group
GB2488753A (en) Encrypted communication
CN112202773B (zh) 一种基于互联网的计算机网络信息安全监控与防护系统
CN109450849B (zh) 一种基于区块链的云服务器组网方法
CN115150076A (zh) 一种基于量子随机数的加密系统及方法
Bernstein et al. {McTiny}: Fast {High-Confidence}{Post-Quantum} Key Erasure for Tiny Network Servers
CN109587163B (zh) 一种dr模式下的防护方法和装置
CN113973007A (zh) 基于广播加密和洋葱路由的时控性加密匿名查询方法和系统
CN112218292A (zh) 无线通信的加密方法、系统、电子设备及可读存储介质
CN113225298A (zh) 一种报文验证方法及装置
CN114268499B (zh) 数据传输方法、装置、系统、设备和存储介质
CN110855628A (zh) 一种数据传输方法及系统

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