一种数据加解密装置、方法、系统及存储介质
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种数据加解密装置、方法、系统及存储介质。
背景技术
目前运行于Linux系统下的网络通讯程序,在传输数据时可以选择明文或者加密模式。传输加密模式有主动方式和被动方式。主动方式是指网络传输的数据在程序内部先完成数据加密然后再进行网络传输,比如SSL/TLS等。被动加密方式是指程序原始数据传输为明文,依赖其他功能完成传输加密,比如SSL VPN等。
主动传输加密方式需要对程序的源代码进行改造,在进行网络传输之前,使用相应的对称加密算法对即将发送或接收的数据进行加密或解密。程序改造时间长,人员成本上升。而且改动程序的源代码对程序的稳定性影响也是巨大的。
被动加密方式需要添加相应的硬件或者软件,并且还要涉及到网络改造。
那么,如何在程序源代码和网络等都不进行改造的前提下,还能够实现数据加密成为本申请急需解决的技术问题。
发明内容
鉴于此,为解决现有技术中上述技术问题,本发明实施例提供一种数据加解密装置、方法、系统及存储介质。
第一方面,本发明实施例提供一种数据加密装置,当数据加解密装置执行数据加密功能时,装置作为数据发送侧的装置,包括:数据处理模块、安全防护模块、数据加解/密模块以及数据收发模块:
数据处理模块,用于生成传输数据,并传输至数据收发模块;
安全防护模块,用于在数据收发模块将传输数据传输至外界网络之前,对传输数据进行拦截;确定传输数据是否需要加密;当确定传输数据需要进行加密时,将传输数据反馈至数据加解/密模块;
数据加解/密模块,用于对传输数据进行加密;将加密后的传输数据发送至数据收发模块;
数据收发模块,用于通过外界网络将加密后的传输数据传输至数据接收侧。
在一个可能的实施方式中,传输数据中包括数据接收侧的标识信息;安全防护模块具体用于,根据数据接收侧的标识信息,确定传输数据是否需要进行加密。
在一个可能的实施方式中,数据收发模块具体用于,根据数据接收侧的标识信息,确定数据接收侧的接收地址;
并通过外界网络将加密后的传输数据传输至数据接收侧。
在一个可能的实施方式中,数据处理模块还用于,生成与数据接收侧建立连接的请求消息,并传输至数据收发模块,其中,请求消息中同样包括数据接收侧的标识信息;
数据收发模块还用于,根据标识信息,将请求消息通过外界网络传输至数据接收侧;接收数据接收侧反馈的与请求消息对应的响应消息,并将响应消息反馈至数据处理模块;
数据处理模块还用于,根据响应消息建立与数据接收侧的通信连接。
第二方面,本发明实施例提供一种数据加解密装置,当装置执行数据解密功能时,装置作为数据接收侧的装置,包括:数据收发模块、数据加解/密模块、安全防护模块以及数据处理模块;
数据收发模块,用于接收数据发送侧发送的传输数据;
安全防护模块,用于在数据收发模块发送传输数据至数据处理模块之前,拦截传输数据;并确定传输数据是否需要进行解密;当确定传输数据需要解密时,将传输数据发送至数据加解/密模块;
数据加解/密模块用于,对传输数据进行解密;并将经过解密后的传输数据发送至数据收发模块;
数据收发模块还用于,将经过解密后的传输数据发送至数据处理模块;
数据处理模块,用于对经过解密后的传输数据进行处理。
在一个可能的实施方式中,数据处理模块还用于,对经过解密后的传输数据进行处理后,将处理结果发送至数据收发模块;
安全防护模块还用于,在数据收发模块将处理结果传输至外界网络之前,对处理结果进行拦截;确定处理结果是否需要加密;当确定处理结果需要进行加密时,将处理结果反馈至数据加解/密模块;
数据加解/密模块,用于对处理结果进行加密;将加密后的处理结果发送至数据收发模块;
数据收发模块,用于通过外界网络将处理结果传输至数据发送侧。
在一个可能的实施方式中,处理结果中包括数据发送侧的标识信息;安全防护模块具体用于,根据数据发送侧的标识信息,确定处理结果是否需要进行加密。
在一个可能的实施方式中,数据收发模块具体用于,根据数据发送侧的标识信息,确定数据发送侧的接收地址;
并通过外界网络将处理结果传输至数据发送侧。
在一个可能的实施方式中,数据收发模块还用于,接收数据发送侧发送的请求消息;安全防护模块还用于,在数据收发模块将请求消息传输至数据处理模块之前,拦截请求消息;
当识别请求消息的类型为网络数据加密时,将请求消息直接发送至数据发送模块;
数据发送模块还用于,将请求消息发送至数据处理模块;
数据处理模块还用于,根据请求消息,建立与数据发送侧之间的通信连接。
在一个可能的实施方式中,安全防护模块还用于,当识别请求消息的类型为路由网络数据加密时,提取请求消息中的发送侧标识信息;将发送侧标识信息和预构建的数据库中的标识信息进行匹配;
当匹配成功时,将请求消息反馈至数据收发模块;
数据收发模块还用于,将请求消息发送至数据处理模块;
数据处理模块还用于,根据请求消息,建立与数据发送侧之间的通信连接。
第三方面,本发明实施例提供一种数据加密方法,方法对应如第一方面任一实施方式所介绍的数据加解密装置,装置作为数据发送侧的装置,包括:数据处理模块、安全防护模块、数据加解/密模块以及数据收发模块:该方法包括:
数据处理模块生成传输数据,并传输至数据收发模块;
安全防护模块在数据收发模块将传输数据传输至外界网络之前,对传输数据进行拦截;确定传输数据是否需要加密;当确定传输数据需要进行加密时,将传输数据反馈至数据加解/密模块;
数据加解/密模块对传输数据进行加密;将加密后的传输数据发送至数据收发模块;
数据收发模块通过外界网络将传输数据传输至数据接收侧。
第四方面,本发明实施例提供一种数据解密方法,方法对应如第二方面任一实施方式所介绍的数据加解密装置,装置作为数据接收侧的装置,包括:数据处理模块、安全防护模块、数据加解/密模块以及数据收发模块:该方法包括:
数据收发模块接收数据发送侧发送的传输数据;
安全防护模块在数据收发模块发送传输数据至数据处理模块之前,拦截传输数据;并确定传输数据是否需要进行解密;当确定传输数据需要解密时,将传输数据发送至数据加解/密模块;
数据加解/密模块对传输数据进行解密;并将经过解密后的传输数据发送至数据收发模块;
数据收发模块将经过解密后的传输数据发送至数据处理模块;
数据处理模块对经过解密后的传输数据进行处理。
第五方面,本发明实施例提供一种数据加解密系统,该系统包括:至少一个处理器和存储器;
处理器用于执行存储器中存储的数据加密程序,以实现权利如第三方面所介绍的数据加密方法,或者实现如第四方面所介绍的数据解密方法。
本发明实施例提供的一种数据加解密装置,当数据加解密装置执行的是数据加密功能时,数据处理模块生成传输数据,然后传输至数据收发模块。而此时数据收发模块并非像现有技术那样直接将传输数据发送至数据接收侧。传输数据会被安全防护模块拦截,并由安全防护模块确定传输数据是否需要进行加密。一旦确定需要对传输数据加密时,会将传输数据发送至数据加解/密模块。数据加解/密模块对传输数据进行加密后,再通过数据收发模块发送至数据接受侧。该种方式,在不需要改造程序的源代码,不需要添加相应的硬件,也不用对网络进行改造的前提下,就可以实现对传输数据的加密。保证传输数据安全性的同时,还能够保证程序的稳定性,节约软硬件成本,同时操作简单快捷。
附图说明
图1为本发明实施例提供的一种数据加解密装置结构示意图;
图2为本发明实施例提供的一种实现数据加解密的硬件系统架构示意图;
图3为本发明实施例提供的一种数据加密方法流程示意图;
图4为本发明实施例提供的一种数据解密方法流程示意图;
图5为本发明实施例提供一种数据加解密系统结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本发明实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本发明实施例的限定。
图1为本发明实施例提供的一种数据加密装置结构示意图,在介绍本实施例的装置结构之前,首先介绍一下本发明实施例提供的一种实现数据加解密的硬件系统架构图。参见图2所示,硬件系统至少包括第一终端设备201、第二终端设备202以及外界网络203。第一终端设备201中存在第一网卡和第一安全防护系统,第二终端设备202中存在第二网卡和第二安全防护系统。第一网卡和第二网卡通过外界网络203建立通讯连接,这个通讯连接构成了第一终端设备201和第二终端设备202之间的通信桥梁。可选的,如果存在外接设备(例如摄像头或传感器等)与第一终端设备201和/或第二终端设备202建立通信连接,那么外接设备中还包括与之对应的网卡。其起到的作用与第一网卡和第二网卡作用相同,用于实现网络通信传输。在一个具体的例子中,第一安全防护系统和第二安全防护系统均为Linux系统的防火墙。第一安全防护系统和第二安全防护系统均具备识别数据是否需要加密/解密的功能,同时还具备对数据进行加密/解密的功能。因此,第一终端设备201和第二终端设备202可以互为数据请求方或者是数据反馈方。具体的执行细节,将在图1或图3分别对应的数据加解密装置中做详细介绍。以第一终端设备为例,第一终端设备对应数据加解密装置,那么其中网卡就是对应该装置中的数据收发模块。第一安全防护系统则对应的是该装置中的安全防护模块和数据加/解密模块。数据处理模块即是第一终端设备中的处理器,当然,第一终端设备中还应该对应存储器以及其他器件,本实施例并没有做详细介绍。类似道理,第二终端设备同样可以映射为本实施例中的各个虚拟模块。第一安全防护系统和第二安全防护系统实际都是以软件的形式存在,具体的运行程序就可以存储在存储器中。
如图1所示,当数据加解密装置执行数据加密功能时,装置作为数据发送侧的装置,包括:数据处理模块10、安全防护模块20、数据加解/密模块30以及数据收发模块40。
数据处理模块10,用于生成传输数据,并传输至数据收发模块40;
安全防护模块20,用于在数据收发模块40将传输数据传输至外界网络203之前,对传输数据进行拦截;确定传输数据是否需要加密;当确定传输数据需要进行加密时,将传输数据反馈至数据加解/密模块30;
数据加解/密模块30,用于对传输数据进行加密;将加密后的传输数据发送至数据收发模块40;
数据收发模块40,用于通过外界网络203将加密后的传输数据传输至数据接收侧。
具体的,当数据加解密装置执行数据加密功能时,该装置就是作为数据发送侧的装置,那么数据处理模块10,首先要做的就是生成数据。生成的数据可以是请求消息,控制指令等等。然后将传输数据传输至数据收发模块40。安全防护模块20,主要起到的作用类似是防火墙的功能,用于在数据收发模块40将传输数据传输至外界网络203之前,对传输数据进行拦截。
然后,确定传输数据是否需要进行加密。当确定传输数据需要进行加密时,将传输数据反馈至数据加/解密模块。
可选的,安全防护模块20,确定传输数据是否需要加密,可以通过如下方式实现:
传输数据中包括数据接收侧的标识信息;安全防护模块20具体用于,根据数据接收侧的标识信息,确定传输数据是否需要进行加密。
进一步可选的,标识信息可以是数据接收侧的IP地址和目的端口。安全防护模块20可以提取传输数据中的IP地址和目的端口后,从预构建的数据库中匹配与该IP地址和目的端口均一致的数据接收侧的IP和端口。如果匹配成功,则根据预数据接收侧IP和端口存在绑定关系的规则。然后根据规则判定传输数据是否需要进行加密。
当安全防护模块20确定传输数据需要加密并已经发送至数据加/解密模块后,数据加/解密模块将会对传输数据进行加密,然后将加密后的传输数据发送至数据收发模块40。
数据收发模块40,则会通过外界网络203将加密后的传输数据传输至数据接收侧。
具体的,数据收发模块40具体用于,根据数据接收侧的标识信息,确定数据接收侧的接收地址;
并通过外界网络203将加密后的传输数据传输至数据接收侧。
进一步可选的,在执行上述过程之前,还需要建立数据发送侧和数据接受侧之间的通信连接。
因此,数据处理模块10还用于,生成与数据接收侧建立连接的请求消息,并传输至数据收发模块40,其中,请求消息中同样包括数据接收侧的标识信息。
数据收发模块40还用于,根据标识信息,将请求消息通过外界网络203传输至数据接收侧。
具体的,标识信息同上文所介绍的,包括数据接收侧的IP地址和目的端口。请求消息中除了包括数据接收侧的标识信息以外,还包括请求内容。
数据收发模块40则会从请求消息中提取标识信息,然后根据标识信息中的IP地址和目的端口,将请求消息通过外界网络203传输至数据接收侧。
此后,数据接收侧会对请求消息进行处理,确定数据发送侧的诉求,然后反馈与请求消息对应的响应消息。具体数据接收侧会做出的处理过程与下文中数据加解密装置作为数据接收侧时执行的功能类似,这里不再做详细介绍。具体可以参考数据加解密装置执行数据解密功能时的实施例。
数据收发模块40接收数据接收侧反馈的与请求消息对应的响应消息,并将响应消息反馈至数据处理模块10;
数据处理模块10还用于,根据响应消息建立与数据接收侧的通信连接。
本发明实施例提供的数据加解密装置,当数据加解密装置执行的是数据加密功能时,数据处理模块生成传输数据,然后传输至数据收发模块。而此时数据收发模块并非像现有技术那样直接将传输数据发送至数据接收侧。传输数据会被安全防护模块拦截,并由安全防护模块确定传输数据是否需要进行加密。一旦确定需要对传输数据加密时,会将传输数据发送至数据加解/密模块。数据加解/密模块对传输数据进行加密后,再通过数据收发模块发送至数据接受侧。该种方式,在不需要改造程序的源代码,不需要添加相应的硬件,也不用对网络进行改造的前提下,就可以实现对传输数据的加密。保证传输数据安全性的同时,还能够保证程序的稳定性,节约软硬件成本,同时操作简单快捷。
在另一个具体的实施例中,本发明实施例提供的数据加解密装置,还用于执行数据解密功能,该装置仍然包括如图1所示的功能模块。只是功能模块执行的功能与上一实施例执行的功能不同。具体参见下文,当该装置执行数据解密功能时,该装置还是包括数据收发模块40、数据加解/密模块30、安全防护模块20以及数据处理模块10等,但是,此时该装置作为数据接收侧的装置,装置中的功能模块所执行的功能将发生改变。
数据收发模块40,用于接收数据发送侧发送的传输数据;
安全防护模块20,用于在数据收发模块40发送传输数据至数据处理模块10之前,拦截传输数据;并确定传输数据是否需要进行解密;当确定传输数据需要解密时,将传输数据发送至数据加解/密模块30;
数据加解/密模块30用于,对传输数据进行解密;并将经过解密后的传输数据发送至数据收发模块40;
数据收发模块40还用于,将经过解密后的传输数据发送至数据处理模块10;
数据处理模块10,用于对经过解密后的传输数据进行处理。
具体的,当数据加解密装置作为数据接收侧的装置时,首当其冲与外界建立通信关系的依然是数据收发模块40。用来接收数据发送侧通过外界网络203发送的传输数据。此时,安全防护模块20,则会在数据收发模块40发送传输数据至数据处理模块10之前,拦截传输数据。并确定传输数据是否需要进行解密。
可选的,传输数据中存在发送侧的标识信息。安全防护模块20可以通过传输数据中提取发送侧的标识信息。可选的,标识信息可以包括发送侧的IP地址和发送端口。安全防护模块20将发送侧的IP地址和发送端口,与预构建的数据库中的IP地址和发送端口同时进行匹配,只有同时匹配成功时,则查找到数据库中与之匹配的IP地址和发送端口,并获取与匹配的IP地址和发送端口存在绑定关系的规则,然后根据规则确定该传输数据是否需要进行解密。
如果需要进行解密,则安全防护模块20会将传输数据发送至数据加/解密模块。
数据加/解密模块对传输数据进行解密,并将经过解密后的传输数据发送至数据收发模块40。
由数据收发模块40将经过解密后的传输数据发送至数据处理模块10,最终数据处理模块10对经过解密后的传输数据进行处理。
可选的,数据处理模块10还用于,对经过解密后的传输数据进行处理后,将处理结果发送至数据收发模块40;
安全防护模块20还用于,在数据收发模块40将处理结果传输至外界网络203之前,对处理结果进行拦截;确定处理结果是否需要加密;当确定处理结果需要进行加密时,将处理结果反馈至数据加解/密模块30;
数据加解/密模块30,用于对处理结果进行加密;将加密后的处理结果发送至数据收发模块40;
数据收发模块40,用于通过外界网络203将处理结果传输至数据发送侧。
可选的,处理结果中包括数据发送侧的标识信息;安全防护模块20具体用于,根据数据发送侧的标识信息,确定处理结果是否需要进行加密。
可选的,数据收发模块40具体用于,根据数据发送侧的标识信息,确定数据发送侧的接收地址;
并通过外界网络203将处理结果传输至数据发送侧。
具体执行拦截、加密以及发送至数据发送侧等过程同上文处理过程相同或者原理类似,这里不再赘述。
可选的,与上一实施例相对应的,在执行本实施例的上述过程之前,还包括与数据发送侧建立通信连接。
具体执行时,分为两种情况。
第一种,如果数据发送侧建立通信连接是为了执行网络数据加/解密过程。那么,数据收发模块40还用于,接收数据发送侧发送的请求消息;安全防护模块20还用于,在数据收发模块40将请求消息传输至数据处理模块10之前,拦截请求消息;
当识别请求消息的类型为网络数据加密时,将请求消息直接发送至数据发送模块;
数据发送模块还用于,将请求消息发送至数据处理模块10;
数据处理模块10还用于,根据请求消息,建立与数据发送侧之间的通信连接。
第二种,如果数据发送侧建立通信连接是为了执行路由网络数据加/解密过程。那么,安全防护模块20还用于,当识别请求消息的类型为路由网络数据加密时,提取请求消息中的发送侧标识信息;将发送侧标识信息和预构建的数据库中的标识信息进行匹配;
当匹配成功时,将请求消息反馈至数据收发模块40;
数据收发模块40还用于,将请求消息发送至数据处理模块10;
数据处理模块10还用于,根据请求消息,建立与数据发送侧之间的通信连接。
也即是说,如果在预构建的数据库中并没有识别到发送侧的标识信息时,则停止后续其他操作。认为发送侧属于非法接入。
以上所使用的预构建数据库,均属于同一个数据库。因此都是数据加/解密一侧已构建的数据库。该数据库中存在不同IP地址、端口以及加解密规则等之间的映射关系。
本发明实施例提供的一种数据加解密装置,当数据加解密装置执行的是数据解密功能时,数据收发模块接收数据发送侧发送的传输数据,安全防护模块,在数据收发模块发送传输数据至数据处理模块之前,拦截传输数据。并确定传输数据是否需要进行解密。如果需要,则发送至数据加解/密模块,对传输数据解密。数据加解/密模块对传输数据解密后,发送至数据收发模块;数据收发模块将解密后的传输数据发送至数据处理模块,由数据处理模块进行处理。通过该种方式,在不需要改造程序的源代码,不需要添加相应的硬件,也不用对网络进行改造的前提下,就可以实现对传输数据的解密。保证传输数据安全性的同时,还能够保证程序的稳定性,节约软硬件成本,同时操作简单快捷。
图3为本发明实施例提供的一种数据加密方法,具体参见图3所示,方法对应如实施例1所介绍的数据加解密装置,此时,该装置作为数据发送侧的装置,包括:数据处理模块、安全防护模块、数据加解/密模块以及数据收发模块,该方法包括:
步骤310,数据处理模块生成传输数据,并传输至数据收发模块。
步骤320,安全防护模块在数据收发模块将传输数据传输至外界网络之前,对传输数据进行拦截。
步骤330,安全防护模块确定传输数据是否需要加密,且当确定传输数据需要进行加密时,将传输数据反馈至数据加解/密模块。
步骤340,数据加解/密模块对传输数据进行加密;将加密后的传输数据发送至数据收发模块。
步骤350,数据收发模块通过外界网络将传输数据传输至数据接收侧。
可选的,传输数据中包括数据接收侧的标识信息。
步骤330具体包括:安全防护模块根据数据接收侧的标识信息,确定传输数据是否需要进行加密。
可选的,步骤350具体包括:数据收发模块根据数据接收侧的标识信息,确定数据接收侧的接收地址;并通过外界网络将加密后的传输数据传输至数据接收侧。
可选的,在执行步骤310之前,该方法还包括:
数据处理模块生成与数据接收侧建立连接的请求消息,并传输至数据收发模块,其中,请求消息中同样包括数据接收侧的标识信息;
数据收发模块根据标识信息,将请求消息通过外界网络传输至数据接收侧;接收数据接收侧反馈的与请求消息对应的响应消息,并将响应消息反馈至数据处理模块;
数据处理模块根据响应消息建立与数据接收侧的通信连接。
本实施例提供的数据加解密装置中各功能部件所执行的功能均已在图1对应的实施例中做了详细介绍,因此这里不再赘述。
本发明实施例提供的一种数据加密方法,当数据加解密装置执行的是数据加密功能时,数据处理模块生成传输数据,然后传输至数据收发模块。而此时数据收发模块并非像现有技术那样直接将传输数据发送至数据接收侧。传输数据会被安全防护模块拦截,并由安全防护模块确定传输数据是否需要进行加密。一旦确定需要对传输数据加密时,会将传输数据发送至数据加解/密模块。数据加解/密模块对传输数据进行加密后,再通过数据收发模块发送至数据接受侧。该种方式,在不需要改造程序的源代码,不需要添加相应的硬件,也不用对网络进行改造的前提下,就可以实现对传输数据的加密。保证传输数据安全性的同时,还能够保证程序的稳定性,节约软硬件成本,同时操作简单快捷。
图4为本发明实施例提供的一种数据加密方法,具体参见图4所示,方法对应如实施例2所介绍的数据加解密装置,此时,该装置作为数据发送侧的装置,包括:数据处理模块、安全防护模块、数据加解/密模块以及数据收发模块,该方法包括:
步骤410,数据收发模块接收数据发送侧发送的传输数据。
步骤420,安全防护模块在数据收发模块发送传输数据至数据处理模块之前,拦截传输数据。
步骤430,安全防护模块确定传输数据是否需要进行解密,且当确定传输数据需要解密时,将传输数据发送至数据加解/密模块。
步骤440,数据加解/密模块对传输数据进行解密;并将经过解密后的传输数据发送至数据收发模块。
步骤450,数据收发模块将经过解密后的传输数据发送至数据处理模块。
步骤460,数据处理模块对经过解密后的传输数据进行处理。
可选的,在步骤460之后,该方法还包括:数据处理模块对经过解密后的传输数据进行处理后,将处理结果发送至数据收发模块;
安全防护模块在数据收发模块将处理结果传输至外界网络之前,对处理结果进行拦截;
确定处理结果是否需要加密;
当确定处理结果需要进行加密时,将处理结果反馈至数据加解/密模块;
数据加解/密模块对处理结果进行加密;
将加密后的处理结果发送至数据收发模块;
数据收发模块通过外界网络将处理结果传输至数据发送侧。
可选的,处理结果中包括数据发送侧的标识信息;安全防护模块确定处理结果是否需要加密,具体包括:根据数据发送侧的标识信息,确定处理结果是否需要进行加密。
可选的,数据收发模块通过外界网络将处理结果传输至数据发送侧,具体包括:
数据收发模块根据数据发送侧的标识信息,确定数据发送侧的接收地址;并通过外界网络将处理结果传输至数据发送侧。
可选的,在执行步骤410之前,该方法还包括:数据收发模块接收数据发送侧发送的请求消息;安全防护模块在数据收发模块将请求消息传输至数据处理模块之前,拦截请求消息;
当识别请求消息的类型为网络数据加密时,将请求消息直接发送至数据发送模块;
数据发送模块将请求消息发送至数据处理模块;
数据处理模块根据请求消息,建立与数据发送侧之间的通信连接。
可选的,拦截请求消息之后,当安全防护模块识别请求消息的类型为路由网络数据加密时,提取请求消息中的发送侧标识信息;将发送侧标识信息和预构建的数据库中的标识信息进行匹配;
当匹配成功时,将请求消息反馈至数据收发模块;
数据收发模块将请求消息发送至数据处理模块;
数据处理模块根据请求消息,建立与数据发送侧之间的通信连接。
本实施例提供的数据加解密装置中各功能部件所执行的功能均已在图4对应的实施例中做了详细介绍,因此这里不再赘述。
本发明实施例提供的一种数据解密方法,当数据加解密装置执行的是数据解密功能时,数据收发模块接收数据发送侧发送的传输数据,安全防护模块,在数据收发模块发送传输数据至数据处理模块之前,拦截传输数据。并确定传输数据是否需要进行解密。如果需要,则发送至数据加解/密模块,对传输数据解密。数据加解/密模块对传输数据解密后,发送至数据收发模块;数据收发模块将解密后的传输数据发送至数据处理模块,由数据处理模块进行处理。通过该种方式,在不需要改造程序的源代码,不需要添加相应的硬件,也不用对网络进行改造的前提下,就可以实现对传输数据的解密。保证传输数据安全性的同时,还能够保证程序的稳定性,节约软硬件成本,同时操作简单快捷。
通过实施例3和实施例4所介绍的方法,刚好实现传输加密双向进行,即互为数据发送侧-数据接收侧。网络传输模式不需要修改,比如支持FTP协议的两种模式,一种方式叫做Standard(也就是PORT方式,主动方式),一种是Passive(也就是PASV,被动方式)。也无侵入传输加密,程序不需要进行源代码改造,网络拓扑结构不需要修改。保证传输数据安全性的同时,还能够保证程序的稳定性,节约软硬件成本,同时操作简单快捷。
图5为本发明实施例提供的一种数据加解密系统的结构示意图,图5所示的数据加解密系统500包括:至少一个处理器501、存储器502、至少一个网络接口503和其他用户接口504。数据加解密系统500中的各个组件通过总线系统505耦合在一起。可理解,总线系统505用于实现这些组件之间的连接通信。总线系统505除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图5中将各种总线都标为总线系统505。
其中,用户接口504可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本发明实施例中的存储器502可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器(ProgrammableROM,PROM)、可擦除可编程只读存储器(ErasablePROM,EPROM)、电可擦除可编程只读存储器(ElectricallyEPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(RandomAccessMemory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(StaticRAM,SRAM)、动态随机存取存储器(DynamicRAM,DRAM)、同步动态随机存取存储器(SynchronousDRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(DoubleDataRateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(SynchlinkDRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambusRAM,DRRAM)。本文描述的存储器502旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器502存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统5021和应用程序5022。
其中,操作系统5021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序5022,包含各种应用程序,例如媒体播放器(MediaPlayer)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序5022中。
在本发明实施例中,通过调用存储器502存储的程序或指令,具体的,可以是应用程序5022中存储的程序或指令,处理器501用于执行上述各方法实施例所提供的方法步骤,例如,当数据加解密系统执行加密功能时,该方法步骤包括:
数据处理模块生成传输数据,并传输至数据收发模块。
安全防护模块在数据收发模块将传输数据传输至外界网络之前,对传输数据进行拦截。确定传输数据是否需要加密,且当确定传输数据需要进行加密时,将传输数据反馈至数据加解/密模块。
数据加解/密模块对传输数据进行加密;将加密后的传输数据发送至数据收发模块。
数据收发模块通过外界网络将传输数据传输至数据接收侧。
可选的,传输数据中包括数据接收侧的标识信息。安全防护模块根据数据接收侧的标识信息,确定传输数据是否需要进行加密。
可选的,数据收发模块根据数据接收侧的标识信息,确定数据接收侧的接收地址;并通过外界网络将加密后的传输数据传输至数据接收侧。
可选的,数据处理模块生成与数据接收侧建立连接的请求消息,并传输至数据收发模块,其中,请求消息中同样包括数据接收侧的标识信息;
数据收发模块根据标识信息,将请求消息通过外界网络传输至数据接收侧;接收数据接收侧反馈的与请求消息对应的响应消息,并将响应消息反馈至数据处理模块;
数据处理模块根据响应消息建立与数据接收侧的通信连接。
又或者,当数据加解密系统执行数据解密功能时,该方法步骤包括:
数据收发模块接收数据发送侧发送的传输数据。
安全防护模块在数据收发模块发送传输数据至数据处理模块之前,拦截传输数据。确定传输数据是否需要进行解密,且当确定传输数据需要解密时,将传输数据发送至数据加解/密模块。
数据加解/密模块对传输数据进行解密;并将经过解密后的传输数据发送至数据收发模块。
数据收发模块将经过解密后的传输数据发送至数据处理模块。
数据处理模块对经过解密后的传输数据进行处理。
可选的,数据处理模块对经过解密后的传输数据进行处理后,将处理结果发送至数据收发模块;
安全防护模块在数据收发模块将处理结果传输至外界网络之前,对处理结果进行拦截;
确定处理结果是否需要加密;
当确定处理结果需要进行加密时,将处理结果反馈至数据加解/密模块;
数据加解/密模块对处理结果进行加密;
将加密后的处理结果发送至数据收发模块;
数据收发模块通过外界网络将处理结果传输至数据发送侧。
可选的,处理结果中包括数据发送侧的标识信息;安全防护模块根据数据发送侧的标识信息,确定处理结果是否需要进行加密。
可选的,数据收发模块根据数据发送侧的标识信息,确定数据发送侧的接收地址;并通过外界网络将处理结果传输至数据发送侧。
可选的,数据收发模块接收数据发送侧发送的请求消息;安全防护模块在数据收发模块将请求消息传输至数据处理模块之前,拦截请求消息;
当识别请求消息的类型为网络数据加密时,将请求消息直接发送至数据发送模块;
数据发送模块将请求消息发送至数据处理模块;
数据处理模块根据请求消息,建立与数据发送侧之间的通信连接。
可选的,当安全防护模块识别请求消息的类型为路由网络数据加密时,提取请求消息中的发送侧标识信息;将发送侧标识信息和预构建的数据库中的标识信息进行匹配;
当匹配成功时,将请求消息反馈至数据收发模块;
数据收发模块将请求消息发送至数据处理模块;
数据处理模块根据请求消息,建立与数据发送侧之间的通信连接。
上述本发明实施例揭示的方法可以应用于处理器501中,或者由处理器501实现。处理器501可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器501中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器501可以是通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(ApplicationSpecific IntegratedCircuit,ASIC)、现成可编程门阵列(FieldProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器502,处理器501读取存储器502中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecificIntegratedCircuits,ASIC)、数字信号处理器(DigitalSignalProcessing,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(ProgrammableLogicDevice,PLD)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文功能的单元来实现本文的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本实施例提供的数据加解密系统可以是如图5中所示的数据加解密系统,可执行如图3中数据加密方法的所有步骤,进而实现图3所示数据加密方法的技术效果,具体请参照图3相关描述,或者,可执行如图4中数据解密方法的所有步骤,进而实现如图4所示的数据加密方法的技术效果,具体参照图4相关描述,在此不作赘述。
本发明实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。
当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述在数据加解密系统侧执行的数据加密方法。
处理器用于执行存储器中存储的数据加密程序,以实现以下在数据加解密系统侧执行的数据加解密方法的步骤:
例如,当数据加解密系统执行加密功能时,该方法步骤包括:
数据处理模块生成传输数据,并传输至数据收发模块。
安全防护模块在数据收发模块将传输数据传输至外界网络之前,对传输数据进行拦截。确定传输数据是否需要加密,且当确定传输数据需要进行加密时,将传输数据反馈至数据加解/密模块。
数据加解/密模块对传输数据进行加密;将加密后的传输数据发送至数据收发模块。
数据收发模块通过外界网络将传输数据传输至数据接收侧。
可选的,传输数据中包括数据接收侧的标识信息。安全防护模块根据数据接收侧的标识信息,确定传输数据是否需要进行加密。
可选的,数据收发模块根据数据接收侧的标识信息,确定数据接收侧的接收地址;并通过外界网络将加密后的传输数据传输至数据接收侧。
可选的,数据处理模块生成与数据接收侧建立连接的请求消息,并传输至数据收发模块,其中,请求消息中同样包括数据接收侧的标识信息;
数据收发模块根据标识信息,将请求消息通过外界网络传输至数据接收侧;接收数据接收侧反馈的与请求消息对应的响应消息,并将响应消息反馈至数据处理模块;
数据处理模块根据响应消息建立与数据接收侧的通信连接。
又或者,当数据加解密系统执行数据解密功能时,该方法步骤包括:
数据收发模块接收数据发送侧发送的传输数据。
安全防护模块在数据收发模块发送传输数据至数据处理模块之前,拦截传输数据。确定传输数据是否需要进行解密,且当确定传输数据需要解密时,将传输数据发送至数据加解/密模块。
数据加解/密模块对传输数据进行解密;并将经过解密后的传输数据发送至数据收发模块。
数据收发模块将经过解密后的传输数据发送至数据处理模块。
数据处理模块对经过解密后的传输数据进行处理。
可选的,数据处理模块对经过解密后的传输数据进行处理后,将处理结果发送至数据收发模块;
安全防护模块在数据收发模块将处理结果传输至外界网络之前,对处理结果进行拦截;
确定处理结果是否需要加密;
当确定处理结果需要进行加密时,将处理结果反馈至数据加解/密模块;
数据加解/密模块对处理结果进行加密;
将加密后的处理结果发送至数据收发模块;
数据收发模块通过外界网络将处理结果传输至数据发送侧。
可选的,处理结果中包括数据发送侧的标识信息;安全防护模块根据数据发送侧的标识信息,确定处理结果是否需要进行加密。
可选的,数据收发模块根据数据发送侧的标识信息,确定数据发送侧的接收地址;并通过外界网络将处理结果传输至数据发送侧。
可选的,数据收发模块接收数据发送侧发送的请求消息;安全防护模块在数据收发模块将请求消息传输至数据处理模块之前,拦截请求消息;
当识别请求消息的类型为网络数据加密时,将请求消息直接发送至数据发送模块;
数据发送模块将请求消息发送至数据处理模块;
数据处理模块根据请求消息,建立与数据发送侧之间的通信连接。
可选的,当安全防护模块识别请求消息的类型为路由网络数据加密时,提取请求消息中的发送侧标识信息;将发送侧标识信息和预构建的数据库中的标识信息进行匹配;
当匹配成功时,将请求消息反馈至数据收发模块;
数据收发模块将请求消息发送至数据处理模块;
数据处理模块根据请求消息,建立与数据发送侧之间的通信连接。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。