发明内容
本发明要解决的问题是提供一种数据的传送方法和设备,以提高现有技术中对服务器上保存的数据的安全性。
为达到上述目的,本发明提供一种数据的传送方法,包括如下步骤:
A、根据接收到的客户端发送的请求消息数据,将本地的未加密数据生成响应消息数据;
B、判断所述响应消息数据的源地址是否为受保护服务器,是则对所述响应消息数据进行加密并发送给所述客户端,否则将所述响应消息数据直接发送给所述客户端。
其中,所述步骤A前还包括:
C、所述客户端发送请求消息数据;
所述请求消息数据的发送预先在所述客户端设置为:向受保护服务器发送的请求消息数据必须进行加密;或不进行加密。
其中,所述客户端的设置为向受保护服务器发送的请求消息数据必须进行加密时,所述步骤C具体包括:
判断所述请求消息数据的目的地址服务器是否为受保护服务器,是则将所述请求消息数据加密并向所述目的地址服务器发送;否则直接将所述请求消息数据向所述目的地址服务器发送。
其中,所述客户端的设置为向受保护服务器发送的请求消息数据必须进行加密时,所述步骤A具体包括:
A1、判断客户端发送的请求消息数据的目的地址是否为受保护服务器,是则进行步骤A2,否则进行步骤A3;
A2、判断所述请求消息数据是否为加密数据,是则解密所述请求消息数据并进行步骤A3,否则丢弃所述请求消息数据;
A3、根据请求消息数据将本地的未加密数据生成响应消息数据。
其中,所述客户端的设置为向受保护服务器发送的请求消息数据不进行加密时,所述步骤A具体包括::
A4、根据客户端发送的未加密的请求消息数据,将本地的未加密数据生成响应消息数据。
其中,所述接收到的客户端发送的请求消息数据中包括对本地保存的未加密数据进行更新的更新数据时,所述步骤A3或A4中将本地的未加密数据生成响应消息数据的步骤具体包括:
所述更新数据为未加密数据时,将本地的未加密数据更新为所述更新数据,生成响应消息数据;或
所述更新数据为加密数据时,解密所述更新数据后将本地的未加密数据更新为所述更新数据,生成响应消息数据。
其中,所述步骤B之后还包括:
D、所述客户端接收所述响应消息数据;
E、所述客户端判断所述响应消息数据的源地址是否为受保护服务器,是则解密所述响应消息数据并进行步骤F,否则处理所述响应消息数据中的数据并结束;
F、所述客户端处理所述响应消息数据中的数据并在需要时进行本地加密保存。
其中,所述步骤F具体包括:
根据所述响应消息数据中的数据调用相应的应用程序;
设置所述应用程序初始状态为加密状态;
根据预先设置的策略对所述应用程序中的数据进行保护;
对所述数据进行处理,并在需要时进行本地加密保存。
其中,所述对保存数据和更新数据进行的加密解密,与所述对请求消息数据和响应消息数据进行的加密解密,采用的算法相同或不同。
其中,所述判断请求消息数据的目的地址、和响应消息数据的源地址是否为受保护服务器的方法具体为:
查询策略服务器保存的受保护服务器列表;
根据所述查询结果判断所述目的地址、和源地址是否为受保护服务器。
其中,所述进行加密和解密时所采用的算法和密钥,由客户端与所述客户端对端的网络侧设备预先协商获得。
本发明还提供一种数据传送系统,包括网络侧设备和客户端,
所述网络侧设备,用于在接收到客户端发送的请求消息数据时,将网络侧服务器保存的未加密数据生成响应消息数据并向客户端发送,并在需要时对所述请求消息数据进行解密,对所述响应消息数据进行加密;
所述客户端,用于向网络侧设备发送请求消息数据,获取网络侧的响应消息数据并进行本地保护处理和/或加密保存,并在需要时对所述请求消息数据进行加密,对所述响应消息数据进行解密。
其中,所述网络侧设备至少包括受保护服务器,还包括加密网关。
本发明还提供一种用于数据传送的网络侧设备,用于将受保护服务器向客户端发送的数据进行加密传送,包括服务器,
所述服务器包括:
处理单元,用于根据接收到的请求消息数据,将本地保存的未加密数据生成响应消息数据;
加密单元,用于当本设备为受保护服务器时,对所述处理单元生成的响应消息数据进行加密并向发送单元发送;
发送单元,用于当本设备为受保护服务器时,将所述加密单元加密后的响应消息数据向客户端发送;当本设备为非受保护服务器时,将所述处理单元生成的响应消息数据向客户端发送。
其中,所述服务器还包括:
接收单元,用于当本设备为受保护服务器时,判断客户端的请求消息数据是否为加密数据,如果是则把所述请求消息数据发送给所述解密单元,否则丢弃;当本设备为非受保护服务器时,将所述请求消息数据发送给处理单元;
解密单元,用于当本设备为受保护服务器时,对客户端的请求消息数据进行解密并向所述处理单元发送。
本发明还提供一种用于数据传送的网络侧设备,用于将受保护服务器向客户端发送的数据进行加密传送,包括服务器和加密网关,
所述服务器包括:
处理单元,用于根据所述加密网关发送的请求消息数据,将本地保存的未加密数据生成响应消息数据并向所述加密网关发送;
所述加密网关包括:
加密单元,用于当所述服务器为受保护服务器时,对所述服务器生成的响应消息数据进行加密并向发送单元发送;
发送单元,用于当所述服务器为受保护服务器时,将所述加密单元加密后的响应消息数据向客户端发送;当所述服务器为非受保护服务器时,将所述服务器生成的响应消息数据向客户端发送。
其中,所述加密网关还包括:
接收单元,用于当所述服务器为受保护服务器时,判断客户端的请求消息数据是否为加密数据,如果是则把所述请求消息数据发送给所述解密单元;否则丢弃当所述服务器为非受保护服务器时,将所述请求消息数据发送给所述服务器;
解密单元,用于当所述服务器为受保护服务器时,对客户端的请求消息数据进行解密并向所述服务器发送。
本发明还提供一种用于数据传送的客户端,用于对受保护服务器侧发送的数据进行加密保存,包括:
发送单元,用于将请求消息数据向受保护服务器侧发送;
接收单元,用于接收并解密所述受保护服务器侧返回的响应消息数据;
客户端处理单元,用于操作所述响应消息数据中的数据并进行本地保护处理和/或加密保存。
其中,还包括地址查询单元,用于从网络中策略控制服务器的受保护服务器列表中查询特定地址是否为受保护服务器。
其中,所述发送单元进一步包括:
发送子单元,用于向服务器发送请求消息数据;
发送判断子单元,用于根据从所述地址查询单元的查询结果,判断所述发送子单元的请求消息数据请求访问的目的地址是否为受保护服务器;如果在则通知所述发送加密子单元对所述请求消息数据进行加密;
发送加密子单元,用于根据所述发送判断子单元的通知对请求消息数据进行加密。
其中,所述接收单元进一步包括:
接收子单元,用于接收服务器的响应消息数据并发送给所述客户端处理单元;
接收判断子单元,用于根据所述地址查询单元的查询结果,判断所述接收子单元接收的响应消息数据的源地址是否为受保护服务器,如果是则通知接收解密子单元,对所述响应消息数据进行解密;
接收解密子单元,用于根据所述接收判断子单元的通知,对接收子单元接收的加密的响应消息数据进行解密。
其中,所述客户端处理单元进一步包括:
处理子单元,用于当接收到响应消息数据后,调用相应的应用程序来处理所述响应消息数据中的数据;
加密子单元,用于置所述处理子单元调用的应用程序的初始状态为加密状态,对所述数据进行保护处理和/或加密保存。
与现有技术相比,本发明具有以下优点:
使用上述本发明的方法时,客户端只有访问受保护服务器时获取的数据时才加密,在使用非加密数据时,不需要调用加密解密功能,因此对非加密数据的使用不会受到影响;而对于受保护服务器,所有数据以未加密形式保存,可保护各类服务器上的信息。
具体实施方式
下面结合附图和实施例,对本发明的实施方式做进一步说明。
本发明中,一种用于数据的传送方法如图1所示,包括以下步骤:
步骤s101、受保护服务器侧接收客户端发送的请求消息数据。
根据预先的配置,该客户端发送的请求消息数据可能为加密数据,也可能为未加密数据,如果是加密数据,需要首先进行解密。
步骤s102、受保护服务器侧根据该请求消息数据将本地保存的未加密数据生成响应消息数据。
根据请求消息数据,受保护服务器侧将以不加密的明文形式保存的数据生成响应消息数据。
步骤s103、受保护服务器侧对响应消息数据进行加密并发送给客户端。
凡是受保护服务器侧向客户端发送的消息数据,都需要先进行加密再发送。
步骤s104、客户端获取响应消息数据中的数据并在需要时进行本地加密保存。
客户端在接收到响应消息数据并在本地操作后,需要以加密的形式进行本地保存。
以下对上述用于数据的传送方法的每一步骤进行详细描述。
对于用户通过客户端向受保护服务器发送请求消息数据的流程,该请求消息数据的发送方式可以预先在客户端进行设置,该设置可以为:向受保护服务器发送的请求消息数据必须进行加密;或任何请求消息数据都不必进行加密。
当客户端的设置为对于任何请求消息数据都不必进行加密时,请求消息数据的发送流程与现有技术中客户端向服务器发送消息的流程相同,客户端直接将请求消息数据向网络侧服务器发送即可,在此不做详细描述。
当客户端的设置为向受保护服务器发送的请求消息数据必须进行加密时,用户通过客户端向受保护服务器发送请求消息数据的流程如图2所示,包括以下步骤:
步骤s201、用户通过客户端发出请求消息数据。
步骤s202、客户端判断服务器IP是否在受保护服务器列表中,若在则进行步骤s203,否则进行步骤s205。
用户登录到客户端之后,客户端会通过网络侧的策略控制服务器查询受保护服务器列表,以便客户端在访问服务器时对服务器的类型进行判断。
步骤s203、对请求消息数据进行加密。
用户请求访问的服务器属于受保护服务器时,按照预先的设定,客户端需要首先对用户的请求消息数据进行加密。加密时所采用的具体加密算法和加密密钥由客户端和受保护服务器预先协商获得,以便该客户端侧生成的加密数据能够在受保护服务器侧进行解密。
步骤s204、向服务器发送加密后的消息数据并结束。
发送该加密后的消息数据时,需要对该加密数据进行封装,在加密数据前添加包括目的地址IP的消息头以向目标服务器发送。
步骤s205、向服务器发送该消息数据。
因为用户请求访问的服务器为非受保护服务器,因此用户通过客户端发送的请求消息数据可以向该非受保护服务器发送,不需要进行加密处理。
通过上述步骤s201~s205,实现了客户端的设置为向受保护服务器发送的请求消息数据必须进行加密时,用户通过客户端向受保护服务器发送请求消息数据的流程。
对于以上两种设置方式的任一种,未加密的请求消息数据可以为用户请求调用服务器上某数据的请求,或客户端将本地保存的数据上传以更新服务器侧数据的请求。对于该数据更新请求,可以首先对客户端上传的加密数据进行解密后向服务器侧发送,或直接将加密数据向服务器侧发送,在服务器侧进行该解密过程。
当客户端请求消息数据的发送方式的设置不同时,受保护服务器侧的处理方式也有所不同。以下首先描述客户端的设置为向受保护服务器发送的请求消息数据必须进行加密时,受保护服务器侧处理客户端的请求消息数据,并向客户端发送响应消息数据的流程。如图3所示,该流程包括以下步骤:
步骤s301、受保护服务器侧接收客户端发送的请求消息数据。
步骤s302、受保护服务器侧判断该请求消息数据的目的IP是否在受保护服务器列表中,是则进行步骤s303,否则进行步骤s306。
步骤s303、受保护服务器侧判断该请求消息数据是否为加密数据,若是则进行步骤s305,否则进行步骤s304。
对于受保护的服务器,在接收到未加密处理的数据时,可以认为是不具有加密功能的客户端发送的数据,按照预先设定的策略,不具有加密功能的客户端不能访问受保护的服务器,因此对该消息数据直接进行丢弃;对于加密数据,则进行处理。
步骤s304、受保护服务器侧丢弃该非加密数据并结束。
步骤s305、受保护服务器侧对加密数据进行解密,还原客户端的请求消息数据。
按照事先与客户端约定的算法,受保护服务器侧使用与步骤s203中客户端使用的加密算法相对应的解密算法对接收到的加密数据进行解密,即可还原得到客户端的原始请求消息数据。
步骤s306、受保护服务器处理该请求消息数据得到响应消息数据。
该请求消息数据为客户端上传的获取受保护服务器侧保存的未加密数据的请求时,根据该请求的内容,受保护服务器生成响应消息数据。
该请求消息数据为客户端上传的用以更新受保护服务器侧保存的未加密数据的更新数据时,若该更新数据为加密数据,还需使用客户端的加密算法对应的解密算法解密获得该更新数据后,才可以进行本地保存的未加密数据的更新;否则直接利用未加密的更新数据进行本地保存的未加密数据的更新即可。该请况下,得到的响应消息数据为更新成功或更新失败消息。
步骤s307、受保护服务器侧判断该响应消息数据的源IP是否在受保护服务器列表中,是则进行步骤s308,否则进行步骤s310。
步骤s308、受保护服务器侧对响应消息数据进行加密。
按照事先与客户端约定的算法,受保护服务器侧对响应消息数据进行加密,以便该加密数据能够在客户端侧进行解密。
步骤s309、受保护服务器侧向客户端发送加密后的响应消息数据并结束。
发送该加密后的消息数据时,需要对该加密数据进行封装,在加密数据前添加包括目的地址IP的消息头以向客户端发送。
步骤s310、受保护服务器侧向客户端发送响应消息数据。
对于来自非受保护服务器的响应消息数据,可以直接向客户端发送。
上述步骤中,受保护服务器侧具有解密、处理消息数据以及加密的功能,该功能可以全部在受保护服务器上实现,也可以由受保护服务器前端的网关设备实现部分功能。具体地,可以由网关设备进行上述消息数据的接收以及加密/非加密的判断,并对加密的请求消息数据进行解密还原后发送给受保护服务器,最后将受保护服务器处理得到的响应消息数据进行加密后向客户端发送。对于客户端向不在受保护服务器列表中的服务器发送的请求消息数据,直接由服务器处理得到响应消息并向客户端发送,无需解密/加密流程。
通过上述步骤s301~s310,实现了客户端的设置为向受保护服务器发送的请求消息数据必须进行加密时,受保护服务器侧处理客户端发送的请求消息数据并返回响应消息数据的流程。
除了采用上述情况外,当客户端的设置为对于任何请求消息数据都不进行加密而直接发送时,由受保护服务器侧对所有接收到的请求消息数据都直接进行处理,并将处理后得到的响应消息数据根据需要进行加密后向客户端发送,对于此情况与步骤s306~s310相似,在此不作重复描述。
对于以上两种处理方式的任一种,该响应消息数据中可以包括客户端所请求的数据,或对客户端请求消息数据返回的成功或失败通知。且受保护服务器的生成的响应消息一定是经过加密后才向客户端发送的。
如图4所示,为客户端接收到服务器侧发送的响应消息数据后的处理流程。
步骤s401、客户端接收服务器发送的响应消息数据。
步骤s402、判断服务器IP地址是否在受保护服务器IP地址列表中,若在则进行步骤s403,否则进行步骤s409。
客户端可能会同时与受保护的服务器以及其他不受保护的服务器同时进行通信,因此需要对接收到的消息数据进行判断。
步骤s403、对响应消息数据进行解密。
按照事先与受保护服务器约定的算法,客户端使用与步骤s308中受保护服务器侧使用的加密算法相对应的解密算法对接收到的加密数据进行解密,即可还原得到受保护服务器的原始响应消息数据。
步骤s404、调用客户端相应程序。
根据不同的消息数据类型调用客户端相应的应用程序。假设响应消息数据携带的数据为word电子文档,则调用客户端的应用程序word.exe进行处理。
步骤s405、设置应用程序初始状态为加密状态。
步骤s406、根据预先设置的策略对数据进行保护。
把解密后的消息数据传递到相应的应用程序显示,应用程序对显示的数据予以保护,并根据加密软件获取的策略来决定是否可拷贝、可编辑、可打印等。
步骤s407、对需要保存的数据进行加密。
在用户选择保存时,客户端使用一加密算法对需要保存的数据进行加密,这样保证从该服务器获取的电子文档不会以未加密的形式保存到客户端,从而避免了服务器上的电子数据文档通过用户端有意或者无意的泄密。该步骤中使用的加密算法的算法和加密密钥可以与前面所描述加密算法不同,也可以使用相同的加密算法和加密密钥。
步骤s408、以加密形式进行保存并结束。
步骤s409、调用客户端相应程序。
对于未经过加密的消息数据,可以直接获取消息数据中的内容并调用相应的程序进行处理。
通过上述步骤s401~s409,实现了客户端接收到加密的响应消息数据时,根据对消息数据中携带的内容调用相应的应用程序进行处理的流程。处理后的数据以加密形式保存在客户端上,当用户端需要打开保存的加密数据时,客户端根据步骤s408中所使用的加密算法对应的解密算法对文件进行解密,解密后按照步骤s404~s408进行数据的显示、保护以及更新。
使用上述本发明的方法时,客户端只有访问受保护服务器时获取的数据时才加密,在使用非加密数据时,不需要调用加密解密功能,因此对非加密数据的使用不会受到影响;而对于受保护服务器,所有数据以未加密形式保存,可保护各类服务器上的信息。
本发明还提供一种用于数据传送的系统,如图5所示,包括服务器10、加密网关20、客户端30和策略控制服务器40;其中服务器10与加密网关20连接,加密网关20与客户端30连接,策略控制服务器40分别与加密网关20和客户端30连接。
服务器10用于存放数据,该数据以未加密的形式保存,其进一步包括一个处理单元11,用于处理用户端发来的请求消息数据并对该请求消息数据做出响应。
加密网关20用于对消息数据进行判断、加密和/或解密,可以根据需要判断是否需要对经过的请求消息数据和响应消息数据进行处理,其进一步包括接收单元21、解密单元22、加密单元23和发送单元24。其中:
接收单元21,用于服务器10为受保护服务器时,判断客户端的请求消息数据是否为加密数据,如果是则把请求消息数据发送给解密单元22;当服务器10为非受保护服务器时,将请求消息数据发送给服务器10。
解密单元22,用于当服务器10为受保护服务器时,对客户端的请求消息数据进行解密并向服务器10发送。
加密单元23,用于当服务器10为受保护服务器时,对服务器生成的响应消息数据进行加密并向发送单元24发送。
发送单元24,用于当服务器10为受保护服务器时,将加密单元23加密后的响应消息数据向客户端发送;当服务器10为非受保护服务器时,将服务器10生成的响应消息数据向客户端发送。
客户端30用于对受保护服务器侧发送的数据进行传送和加密保存,进一步包括地址查询单元31、发送单元32、接收单元33和客户端处理单元34。
其中:
地址查询单元31,用于当用户登录客户端后,从网络中策略控制服务器40的受保护服务器列表中查询特定地址是否为受保护服务器。
发送单元32用于对客户端的发送消息数据进行处理,进一步包括发送子单元321、发送判断子单元322和发送加密子单元323,其中发送子单元321用于向受保护服务器10发送请求消息数据;发送判断子单元322用于根据地址查询单元31处获取的信息,判断请求消息数据请求访问的服务器为受保护服务器;如果该服务器为受保护服务器,发送加密子单元323对消息数据进行加密处理。
接收单元33用于接收和处理服务器的响应消息数据,进一步包括接收子单元331、接收判断子单元332和接收解密子单元333;接收子单元331用于接收服务器的响应消息数据;接收判断子单元332用于根据地址查询单元31处获取的信息,判断服务器是否为受保护服务器,如果是则接收判断子单元332把消息数据传递给接收解密子单元333,对该消息数据进行解密,如果不是,则直接按照普通消息数据处理;接收解密子单元333用于对加密数据进行解密。
客户端处理单元34进一步包括处理子单元341和加密子单元342,处理子单元341用于当加密的响应消息数据被解密之后,调用相应的应用程序来处理该消息数据;加密子单元342用于置处理子单元341调用的应用程序的初始状态为加密状态,且当用户再次保存或打开密文文件时,对该密文文件进行加密或解密。
策略控制服务器40存放受保护服务器的IP地址并在客户端登录时向客户端发送。
在此实施例中,加密网关置于服务器的前侧,也可以软件的形式安装到服务器上。
本发明还提供另一种用于数据传送的系统,其中加密网关以软件的形式安装到服务器上,如图6所示:
服务器50包括处理单元51、接收单元52、解密单元53、加密单元54和发送单元55,其中处理单元51,用于根据接收到的请求消息数据,将本地保存的未加密数据生成响应消息数据。接收单元52,用于当本设备为受保护服务器时,判断客户端的请求消息数据是否为加密数据,如果是则把请求消息数据发送给解密单元53;当本设备为非受保护服务器时,将请求消息数据发送给处理单元51。解密单元53,用于当本设备为受保护服务器时,对客户端的请求消息数据进行解密并向处理单元51发送。加密单元54,用于当本设备为受保护服务器时,对处理单元51生成的响应消息数据进行加密并向发送单元55发送。发送单元55,用于当本设备为受保护服务器时,将加密单元54加密后的响应消息数据向客户端发送;当本设备为非受保护服务器时,将处理单元51生成的响应消息数据向客户端发送。
本实施例中的客户端和策略控制服务器与上述实施例中相似,在此不做重复描述。
使用上述本发明的系统时,客户端只有访问受保护服务器时获取的数据时才加密,在使用非加密数据时,不需要调用加密解密功能,因此对非加密数据的使用不会受到影响;而对于受保护服务器,所有数据以未加密形式保存,可保护各类服务器上的信息。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台设备执行本发明各个实施例所述的方法。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。