一种数据传输方法、装置及电子设备转让专利

申请号 : CN201510854327.X

文献号 : CN106817346B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周奕

申请人 : 珠海豹趣科技有限公司

摘要 :

本发明的实施例公开了一种数据传输方法、装置及电子设备,涉及数据处理技术领域,用以提高数据传输的安全性。本发明的数据传输方法,包括:当需要向服务器传输数据时,从所述服务器获取用于本次数据传输的密钥信息;利用所述用于本次数据传输的密钥信息加密待传输数据;向所述服务器发送加密后的待传输数据;其中,用于相邻两次数据传输的密钥信息不同。本发明主要用于数据传输技术中。

权利要求 :

1.一种数据传输方法,其特征在于,包括:

当需要向服务器传输数据时,从所述服务器获取用于本次数据传输的密钥信息;所述用于本次数据传输的密钥信息包括用于本次数据传输的加密密钥;

利用所述用于本次数据传输的密钥信息加密待传输数据;

向所述服务器发送加密后的待传输数据;

其中,用于相邻两次数据传输的密钥信息不同;

其中,所述从所述服务器获取用于本次数据传输的密钥信息包括:当所述本次数据传输不是第一次数据传输时,接收所述服务器在上一次数据传输成功后生成的临时加密密钥;利用用于上一次数据传输的加密密钥解密所述临时加密密钥,将解密后的所述临时加密密钥作为用于本次数据传输的加密密钥;

当所述本次数据传输为第一次数据传输时,向所述服务器发送认证信息,使得所述服务器在对所述认证信息的认证通过时生成用于本次数据传输的加密密钥;接收所述服务器发送的用于本次数据传输的加密密钥。

2.根据权利要求1所述的方法,其特征在于,所述用于本次数据传输的加密密钥为经所述服务器用注册密钥加密后的加密密钥;

在所述利用所述用于本次数据传输的密钥信息加密待传输数据前,所述方法还包括:利用所述注册密钥对所述用于本次数据传输的加密密钥进行解密;

所述利用所述用于本次数据传输的密钥信息加密待传输数据具体为:在对所述用于本次数据传输的加密密钥解密成功时,利用所述用于本次数据传输的密钥信息加密待传输数据。

3.根据权利要求1或2所述的方法,其特征在于,所述认证信息是利用注册密钥对客户端标识进行加密生成的。

4.根据权利要求1或2所述的方法,其特征在于,所述用于本次数据传输的密钥信息还包括:用于本次数据传输的令牌;

在向所述服务器发送所述加密的待传输数据同时或者之后,所述方法还包括:向所述服务器发送所述用于本次数据传输的令牌。

5.一种数据传输方法,其特征在于,包括:

接收客户端发送的加密数据;

对所述加密数据进行校验,并在对所述加密数据的校验通过后生成用于下次数据传输的密钥信息;

将所述密钥信息发送给所述客户端;

其中为相邻两次数据传输生成的密钥信息不同;

当所述客户端进行第二次以后的数据传输时,对所述加密数据进行校验,并在对所述加密数据的校验通过后生成用于下次数据传输的密钥信息,包括:获得用于解密所述加密数据的解密密钥;

利用所述解密密钥解密所述加密数据;

若解密成功则利用任意选取的随机数生成令牌,并利用所述令牌作为加密密钥对特定信息进行加密获得所述用于下次数据传输的加密密钥;

当所述客户端进行第一次数据传输时,所述加密数据包括认证信息;

所述对所述加密数据进行校验,并在对所述加密数据的校验通过后生成用于下次数据传输的密钥信息包括:将存储的认证校验信息和所述认证信息进行比较;

若所述认证校验信息和所述认证信息一致,则利用任意选取的随机数生成令牌,并利用所述令牌作为加密密钥对特定信息进行加密获得所述用于下次数据传输的加密密钥。

6.根据权利要求5所述的方法,其特征在于,所述将所述密钥信息发送给所述客户端包括:将所述用于下次数据传输的加密密钥发送给所述客户端。

7.根据权利要求6所述的方法,其特征在于,在将所述加密密钥发送给所述客户端的同时或者之后,所述方法还包括:将所述令牌发送给所述客户端。

8.根据权利要求5所述的方法,其特征在于,在所述接收客户端发送的加密数据时或者之后,所述方法还包括:接收所述客户端发送的令牌;

所述获得用于解密所述加密数据的解密密钥包括:根据所述客户端发送的令牌作为加密密钥对所述特定信息进行加密获得所述解密密钥;或者根据所述加密数据获得所述客户端的标识,并根据所述客户端的标识查找存储的解密密钥和客户端标识的对应关系,根据查找结果获得所述解密密钥。

9.一种数据传输装置,其特征在于,包括:

获取单元,用于当需要向服务器传输数据时,从所述服务器获取用于本次数据传输的密钥信息;所述用于本次数据传输的密钥信息包括用于本次数据传输的加密密钥;

加密单元,用于利用所述用于本次数据传输的密钥信息加密待传输数据;

发送单元,用于向所述服务器发送加密后的待传输数据;

其中,用于相邻两次数据传输的密钥信息不同;

其中,所述获取单元包括:

接收模块,用于当所述本次数据传输不是第一次数据传输时,接收所述服务器在上一次数据传输成功后生成的临时加密密钥;

获取模块,用于利用用于上一次数据传输的加密密钥解密所述临时加密密钥,将解密后的所述临时加密密钥作为用于本次数据传输的加密密钥;

所述获取单元还包括:

发送模块,用于当所述本次数据传输为第一次数据传输时,向所述服务器发送认证信息,使得所述服务器在对所述认证信息的认证通过时生成用于本次数据传输的加密密钥;

接收模块,用于接收所述服务器发送的用于本次数据传输的加密密钥。

10.根据权利要求9所述的装置,其特征在于,所述用于本次数据传输的加密密钥为经所述服务器用注册密钥加密后的加密密钥;

所述获取单元还包括:

解密模块,用于利用所述注册密钥对所述用于本次数据传输的加密密钥进行解密;

所述加密单元具体用于:在对所述用于本次数据传输的加密密钥解密成功时,利用所述用于本次数据传输的密钥信息加密待传输数据。

11.根据权利要求9-10任一所述的装置,其特征在于,所述用于本次数据传输的密钥信息还包括:用于本次数据传输的令牌;

所述获取单元,还用于从所述服务器获取用于本次数据传输的令牌;

所述发送单元,还用于在向所述服务器发送所述加密的待传输数据同时或者之后,向所述服务器发送所述用于本次数据传输的令牌。

12.一种数据传输装置,其特征在于,包括:

接收单元,用于接收客户端发送的加密数据;

处理单元,用于对所述加密数据进行校验,并在对所述加密数据的校验通过后,生成用于下次数据传输的密钥信息;

发送单元,用于将所述密钥信息发送给所述客户端;

其中为相邻两次数据传输生成的密钥信息不同;

其中,所述处理单元包括:

获取模块,用于当所述客户端进行第二次以后的数据传输时,获得用于解密所述加密数据的解密密钥;

解密模块,用于利用所述解密密钥解密所述加密数据;

处理模块,用于在解密成功时利用任意选取的随机数生成令牌,并利用所述令牌作为加密密钥对特定信息进行加密获得所述用于下次数据传输的加密密钥;

所述加密数据包括认证信息;所述处理单元还包括:比较模块,用于当所述客户端进行第一次数据传输时,将存储的认证校验信息和所述认证信息进行比较;

处理模块,用于在所述认证校验信息和所述认证信息一致时,利用任意选取的随机数生成令牌,并利用所述令牌作为加密密钥对特定信息进行加密获得所述用于下次数据传输的加密密钥。

13.根据权利要求12所述的装置,其特征在于,所述发送单元具体用于,将所述用于下次数据传输的加密密钥发送给所述客户端;

所述接收单元还用于,在接收所述客户端发送的加密数据的同时或者之后,接收所述客户端发送的令牌。

14.根据权利要求12所述的装置,其特征在于,所述接收单元还用于,在接收所述客户端发送的加密数据的同时或者之后,接收所述客户端发送的令牌;

所述获取模块具体用于:根据所述客户端发送的令牌作为加密密钥对所述特定信息进行加密获得所述解密密钥;或者根据所述加密数据获得所述客户端的标识,并根据所述客户端的标识查找存储的解密密钥和客户端标识的对应关系,根据查找结果获得所述解密密钥。

15.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和总线;

所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;

所述存储器存储可执行程序代码;

所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:当需要向服务器传输数据时,从所述服务器获取用于本次数据传输的密钥信息;所述用于本次数据传输的密钥信息包括用于本次数据传输的加密密钥;

利用所述用于本次数据传输的密钥信息加密待传输数据;

向所述服务器发送加密后的待传输数据;

其中,用于相邻两次数据传输的密钥信息不同;

其中,所述从所述服务器获取用于本次数据传输的密钥信息包括:当所述本次数据传输不是第一次数据传输时,接收所述服务器在上一次数据传输成功后生成的临时加密密钥;利用用于上一次数据传输的加密密钥解密所述临时加密密钥,将解密后的所述临时加密密钥作为用于本次数据传输的加密密钥;

当所述本次数据传输为第一次数据传输时,向所述服务器发送认证信息,使得所述服务器在对所述认证信息的认证通过时生成用于本次数据传输的加密密钥;接收所述服务器发送的用于本次数据传输的加密密钥。

16.一种电子设备,其特征在于,包括:处理器、存储器、通信接口和总线;

所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;

所述存储器存储可执行程序代码;

所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:接收客户端发送的加密数据;

对所述加密数据进行校验,并在对所述加密数据的校验通过后生成用于下次数据传输的密钥信息;

将所述密钥信息发送给所述客户端;

其中为相邻两次数据传输生成的密钥信息不同;

当所述客户端进行第二次以后的数据传输时,对所述加密数据进行校验,并在对所述加密数据的校验通过后生成用于下次数据传输的密钥信息,包括:获得用于解密所述加密数据的解密密钥;

利用所述解密密钥解密所述加密数据;

若解密成功则利用任意选取的随机数生成令牌,并利用所述令牌作为加密密钥对特定信息进行加密获得所述用于下次数据传输的加密密钥;

当所述客户端进行第一次数据传输时,所述加密数据包括认证信息,将存储的认证校验信息和所述认证信息进行比较;在所述认证校验信息和所述认证信息一致时,利用任意选取的随机数生成令牌,并利用所述令牌作为加密密钥对特定信息进行加密获得所述用于下次数据传输的加密密钥。

说明书 :

一种数据传输方法、装置及电子设备

技术领域

[0001] 本发明涉及数据处理技术领域,尤其涉及一种数据传输方法、装置及电子设备。

背景技术

[0002] 随着互联网技术的高速发展,用户正受到日益严重的来自网络的安全威胁,尤其对数据传输的安全威胁。如何安全地对数据进行数据传输成为了互联网技术中一个迫切需要解决的问题。
[0003] 为了提高数据传输的安全性,SSL(Secure Sockets Layer,安全套接层)是目前广泛使用的技术,HTTPS、FTPS等传输方式都是建立在SSL的基础上。但是由于针对SSL的中间人攻击的出现,从而使得基于SSL的数据传输的安全性降低。因此,有待提供一种具有较高安全性的数据传输方法。

发明内容

[0004] 有鉴于此,本发明实施例提供一种数据传输方法、装置及电子设备,用以提高数据传输的安全性。
[0005] 为达到上述目的,本发明的实施例采用如下技术方案:
[0006] 一方面,本发明实施例提供一种数据传输方法,包括:
[0007] 当需要向服务器传输数据时,从所述服务器获取用于本次数据传输的密钥信息;
[0008] 利用所述用于本次数据传输的密钥信息加密待传输数据;
[0009] 向所述服务器发送加密后的待传输数据;
[0010] 其中,用于相邻两次数据传输的密钥信息不同。
[0011] 作为另一实施例,所述用于本次数据传输的密钥信息包括用于本次数据传输的加密密钥;
[0012] 所述从所述服务器获取用于本次数据传输的密钥信息包括:
[0013] 当所述本次数据传输为第一次数据传输时,向所述服务器发送认证信息,使得所述服务器在对所述认证信息的认证通过时生成用于本次数据传输的加密密钥;
[0014] 接收所述服务器发送的用于本次数据传输的加密密钥。
[0015] 作为另一实施例,所述用于本次数据传输的加密密钥为经所述服务器用注册密钥加密后的加密密钥;
[0016] 在所述利用所述用于本次数据传输的密钥信息加密待传输数据前,所述方法还包括:
[0017] 利用所述注册密钥对所述用于本次数据传输的加密密钥进行解密;
[0018] 所述利用所述用于本次数据传输的密钥信息加密待传输数据具体为:
[0019] 在对所述用于本次数据传输的加密密钥解密成功时,利用所述用于本次数据传输的密钥信息加密待传输数据。
[0020] 作为另一实施例,所述认证信息是利用注册密钥对客户端标识进行加密生成的。
[0021] 作为另一实施例,所述用于本次数据传输的密钥信息包括用于本次数据传输的加密密钥;
[0022] 所述从所述服务器获取用于本次数据传输的密钥信息包括:
[0023] 当所述本次数据传输不是第一次数据传输时,接收所述服务器在上一次数据传输成功后生成的临时加密密钥;
[0024] 利用用于上一次数据传输的加密密钥解密所述临时加密密钥,将解密后的所述临时加密密钥作为用于本次数据传输的加密密钥。
[0025] 作为另一实施例,进一步的,所述用于本次数据传输的密钥信息还包括:用于本次数据传输的令牌;
[0026] 在向所述服务器发送所述加密的待传输数据同时或者之后,所述方法还包括:向所述服务器发送所述用于本次数据传输的令牌。
[0027] 第二方面,本发明提供一种数据传输方法,包括:
[0028] 接收客户端发送的加密数据;
[0029] 对所述加密数据进行校验,并在对所述加密数据的校验通过后生成用于下次数据传输的密钥信息;
[0030] 将所述密钥信息发送给所述客户端;
[0031] 其中为相邻两次数据传输生成的密钥信息不同。
[0032] 作为另一实施例,当所述客户端进行第一次数据传输时,所述加密数据包括认证信息;
[0033] 所述对所述加密数据进行校验,并在对所述加密数据的校验通过后生成用于下次数据传输的密钥信息包括:
[0034] 将存储的认证校验信息和所述认证信息进行比较;
[0035] 若所述认证校验信息和所述认证信息一致,则利用任意选取的随机数生成令牌,并利用所述令牌作为加密密钥对特定信息进行加密获得所述用于下次数据传输的加密密钥。
[0036] 作为另一实施例,当所述客户端进行第二次以后的数据传输时,对所述加密数据进行校验,并在对所述加密数据的校验通过后生成用于下次数据传输的密钥信息,包括:
[0037] 获得用于解密所述加密数据的解密密钥;
[0038] 利用所述解密密钥解密所述加密数据;
[0039] 若解密成功则利用任意选取的随机数生成令牌,并利用所述令牌作为加密密钥对特定信息进行加密获得所述用于下次数据传输的加密密钥。
[0040] 作为另一实施例,所述将所述密钥信息发送给所述客户端包括:将所述用于下次数据传输的加密密钥发送给所述客户端。
[0041] 作为另一实施例,进一步的,在将所述加密密钥发送给所述客户端的同时或者之后,所述方法还包括:将所述令牌发送给所述客户端。
[0042] 作为另一实施例,进一步的,在所述接收客户端发送的加密数据时或者之后,所述方法还包括:接收所述客户端发送的令牌;
[0043] 所述获得用于解密所述加密数据的解密密钥包括:
[0044] 根据所述客户端发送的令牌作为加密密钥对所述特定信息进行加密获得所述解密密钥;或者
[0045] 根据所述加密数据获得所述客户端的标识,并根据所述客户端的标识查找存储的解密密钥和客户端标识的对应关系,根据查找结果获得所述解密密钥。
[0046] 第三方面,本发明提供一种数据传输装置,包括:
[0047] 获取单元,用于当需要向服务器传输数据时,从所述服务器获取用于本次数据传输的密钥信息;
[0048] 加密单元,用于利用所述用于本次数据传输的密钥信息加密待传输数据;
[0049] 发送单元,用于向所述服务器发送加密后的待传输数据;
[0050] 其中,用于相邻两次数据传输的密钥信息不同。
[0051] 作为另一实施例,所述用于本次数据传输的密钥信息包括用于本次数据传输的加密密钥;
[0052] 所述获取单元包括:
[0053] 发送模块,用于当所述本次数据传输为第一次数据传输时,向所述服务器发送认证信息,使得所述服务器在对所述认证信息的认证通过时生成用于本次数据传输的加密密钥;
[0054] 接收模块,用于接收所述服务器发送的用于本次数据传输的加密密钥。
[0055] 作为另一实施例,所述用于本次数据传输的加密密钥为经所述服务器用注册密钥加密后的加密密钥;
[0056] 所述获取单元还包括:
[0057] 解密模块,用于利用所述注册密钥对所述用于本次数据传输的加密密钥进行解密;
[0058] 所述加密单元具体用于:在对所述用于本次数据传输的加密密钥解密成功时,利用所述用于本次数据传输的密钥信息加密待传输数据。
[0059] 作为另一实施例,所述用于本次数据传输的密钥信息包括用于本次数据传输的加密密钥;
[0060] 所述获取单元包括:
[0061] 接收模块,用于当所述本次数据传输不是第一次数据传输时,接收所述服务器在上一次数据传输成功后生成的临时加密密钥;
[0062] 获取模块,用于利用用于上一次数据传输的加密密钥解密所述临时加密密钥,将解密后的所述临时加密密钥作为用于本次数据传输的加密密钥。
[0063] 作为另一实施例,所述用于本次数据传输的密钥信息还包括:用于本次数据传输的令牌;
[0064] 所述获取单元,还用于从所述服务器获取用于本次数据传输的令牌;
[0065] 所述发送单元,还用于在向所述服务器发送所述加密的待传输数据同时或者之后,向所述服务器发送所述用于本次数据传输的令牌。
[0066] 第四方面,本发明提供一种数据传输装置,包括:
[0067] 接收单元,用于接收客户端发送的加密数据;
[0068] 处理单元,用于对所述加密数据进行校验,并在对所述加密数据的校验通过后,生成用于下次数据传输的密钥信息;
[0069] 发送单元,用于将所述密钥信息发送给所述客户端;
[0070] 其中为相邻两次数据传输生成的密钥信息不同。
[0071] 作为另一实施例,所述加密数据包括认证信息;所述处理单元包括:
[0072] 比较模块,用于当所述客户端进行第一次数据传输时,将存储的认证校验信息和所述认证信息进行比较;
[0073] 处理模块,用于在所述认证校验信息和所述认证信息一致时,利用任意选取的随机数生成令牌,并利用所述令牌作为加密密钥对特定信息进行加密获得所述用于下次数据传输的加密密钥。
[0074] 作为另一实施例,所述处理单元包括:
[0075] 获取模块,用于当所述客户端进行第二次以后的数据传输时,获得用于解密所述加密数据的解密密钥;
[0076] 解密模块,用于利用所述解密密钥解密所述加密数据;
[0077] 处理模块,用于在解密成功时利用任意选取的随机数生成令牌,并利用所述令牌作为加密密钥对特定信息进行加密获得所述用于下次数据传输的加密密钥。
[0078] 作为另一实施例,所述发送单元具体用于,将所述用于下次数据传输的加密密钥发送给所述客户端;所述接收单元还用于,在接收所述客户端发送的加密数据的同时或者之后,接收所述客户端发送的令牌。
[0079] 作为另一实施例,进一步的,所述接收单元还用于,在接收所述客户端发送的加密数据时或者之后,接收所述客户端发送的令牌;
[0080] 所述获取模块具体用于:根据所述客户端发送的令牌作为加密密钥对所述特定信息进行加密获得所述解密密钥;或者根据所述加密数据获得所述客户端的标识,并根据所述客户端的标识查找存储的解密密钥和客户端标识的对应关系,根据查找结果获得所述解密密钥。
[0081] 第五方面,本发明提供一种电子设备,包括:处理器、存储器、通信接口和总线;
[0082] 所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;
[0083] 所述存储器存储可执行程序代码;
[0084] 所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:
[0085] 当需要向服务器传输数据时,从所述服务器获取用于本次数据传输的密钥信息;
[0086] 利用所述用于本次数据传输的密钥信息加密待传输数据;
[0087] 向所述服务器发送加密后的待传输数据;
[0088] 其中,用于相邻两次数据传输的密钥信息不同。
[0089] 第六方面,本发明提供一种电子设备,包括:处理器、存储器、通信接口和总线;
[0090] 所述处理器、所述存储器和所述通信接口通过所述总线连接并完成相互间的通信;
[0091] 所述存储器存储可执行程序代码;
[0092] 所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:
[0093] 接收客户端发送的加密数据;
[0094] 对所述加密数据进行校验,并在对所述加密数据的校验通过后生成用于下次数据传输的密钥信息;
[0095] 将所述密钥信息发送给所述客户端;
[0096] 其中为相邻两次数据传输生成的密钥信息不同。
[0097] 在本发明实施例中,当客户端向服务器传输数据时,从服务器获取用于本次数据传输的密钥信息,并利用该密钥信息对待传输的数据进行加密。在服务器收到了客户端加密后的待传输的数据后,服务器对所述加密数据进行校验,并在对所述加密数据的校验通过后生成用于下次数据传输的密钥信息。在客户端由服务器获取的密钥信息中,用于相邻两次数据传输的密钥信息不同。由此可以看出,在本发明实施例中,客户端在每次向服务器传输数据时都是利用不同的密钥进行加密,而服务器则是利用对应的密钥进行解密。因此,利用本发明实施例的方案可以有效的避免中间人攻击的出现,从而提高了数据传输的安全性。

附图说明

[0098] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
[0099] 图1为本发明实施例一的数据传输方法的流程图;
[0100] 图2为本发明实施例二的数据传输方法的流程图;
[0101] 图3为本发明实施例三的数据传输方法的流程图;
[0102] 图4为本发明实施例四的数据传输装置的示意图;
[0103] 图5为本发明实施例五的数据传输装置的示意图;
[0104] 图6为本发明实施例六的电子设备的示意图;
[0105] 图7为本发明实施例七的电子设备的示意图。

具体实施方式

[0106] 下面结合附图对本发明实施例一种启动应用程序的方法、装置及终端进行详细描述。
[0107] 应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0108] 如图1所示,本发明实施例一的数据传输方法,可由客户端执行,包括:
[0109] 步骤11、当需要向服务器传输数据时,从所述服务器获取用于本次数据传输的密钥信息。
[0110] 在本发明实施例中,所述用于本次数据传输的密钥信息包括用于本次数据传输的加密密钥。
[0111] 在本发明实施例中,服务器要对客户端进行认证,以保证客户端是已经注册过的客户端。当所述本次数据传输为第一次数据传输时,此步骤具体为,客户端向所述服务器发送认证信息,使得所述服务器在对所述认证信息的认证通过时生成用于本次数据传输的加密密钥。然后,客户端接收所述服务器发送的所述用于本次数据传输的加密密钥。其中,所述认证信息是客户端利用注册密钥对客户端标识进行加密生成的。其中客户端标识可以是用于标识客户端的任意信息,如客户端名称。
[0112] 在上述过程中,为了保证数据的安全性,服务器还可利用所述注册密钥对所述用于本次数据传输的加密密钥进行加密,相应的,客户端可利用所述注册密钥对所述用于本次数据传输的加密密钥进行解密。若利用注册密钥对用于本次数据传输的加密密钥解密成功,则校验通过,否则校验不通过。
[0113] 当所述本次数据传输不是第一次数据传输时,客户端接收所述服务器在上一次数据传输成功后生成的临时加密密钥,然后利用用于上一次数据传输的加密密钥解密所述临时加密密钥,将解密后的所述临时加密密钥作为用于本次数据传输的加密密钥。
[0114] 此外,为了使得数据传输更便利,所述密钥信息中还可包括用于本次数据传输的令牌(token)。其中,该令牌的作用在于使得服务器可以根据客户端上传的令牌查找到该令牌所对应的加密密钥,方便服务器解密客户端上传的数据。
[0115] 步骤12、利用所述用于本次数据传输的密钥信息加密待传输数据。
[0116] 在获得了用于本次数据传输的密钥信息后,利用该密钥信息中的用于本次数据传输的加密密钥对待传输数据进行加密。其中所述待传输数据可以是任意类型的数据。
[0117] 步骤13、向所述服务器发送加密后的待传输数据。
[0118] 在利用本发明实施例进行数据传输时,用于相邻两次数据传输的密钥信息不同。
[0119] 由此可以看出,在本发明实施例中,客户端在每次向服务器传输数据时都是利用不同的密钥进行加密,而服务器则是利用对应的密钥进行解密。因此,利用本发明实施例的方案可以有效的避免中间人攻击的出现,从而提高了数据传输的安全性。
[0120] 如图2所示,本发明实施例二的数据传输方法,可由服务器执行,包括:
[0121] 步骤21、接收客户端发送的加密数据。
[0122] 如前所述,在本发明实施例中,服务器要对客户端进行认证,以保证客户端是已经注册过的客户端。当此次数据传输为第一次数据传输时,所述加密数据包括认证信息。
[0123] 步骤22、对所述加密数据进行校验,并在对所述加密数据的校验通过后,生成用于下次数据传输的密钥信息。其中为相邻两次数据传输生成的密钥信息不同。
[0124] 当此次数据传输为第一次数据传输时,在此步骤中,服务器将存储的认证校验信息和所述认证信息进行比较,若二者一致,则对所述加密数据的校验通过,否则不通过,要求客户端再次进行注册。然后,服务器利用任选的随机数作为令牌,则利用任意选取的随机数生成令牌,并利用所述令牌作为加密密钥对特定信息进行加密获得所述用于下次数据传输的加密密钥。其中该特定信息可以任意选定,例如可以是服务器标识,型号等等。
[0125] 当此次数据传输不是第一次数据传输时,在此步骤中,服务器根据所述加密数据获得用于解密所述加密数据的解密密钥。具体的,服务器可首先获得客户端的标识,然后根据获得的客户端的标识查找本身存储的解密密钥和客户端标识的对应关系,根据查找结果获得此次的解密密钥。然后,利用所述解密密钥解密所述加密数据。若解密成功则利用任意选取的随机数生成令牌,并利用所述令牌作为加密密钥对特定信息进行加密获得所述用于下次数据传输的加密密钥。同样,该特定信息可以任意选定,例如可以是服务器标识,型号等等。
[0126] 步骤23、将所述密钥信息发送给所述客户端。
[0127] 同样,在此步骤中密钥信息可以包括用于下次数据传输的加密密钥,还可以包括与该加密密钥相对应的令牌。
[0128] 由此可以看出,在本发明实施例中,客户端在每次向服务器传输数据时都是利用不同的密钥进行加密,而服务器则是利用对应的密钥进行解密。因此,利用本发明实施例的方案可以有效的避免中间人攻击的出现,从而提高了数据传输的安全性。
[0129] 如图3所示,本发明实施例三的数据传输方法,可由服务器执行,包括:
[0130] 步骤31、客户端使用注册时的注册密钥对客户端唯一标识进行加密,将加密后的客户端唯一标识作为认证信息发送给服务器进行认证。
[0131] 其中,客户端唯一标识可以是用户名或者软件的唯一标识。
[0132] 步骤32、在进行真正的数据传输之前服务器要对客户端进行认证,以保证客户端是已经注册过的客户端。
[0133] 在此,服务器将收到的认证信息和本身存储的认证校验信息进行比较,二者一致,则对所述加密数据的校验通过,执行步骤33;否则认证不通过,流程结束。
[0134] 步骤33、服务器生成用于下次数据传输的加密密钥和对应的令牌,并使用客户端注册时的注册密钥将该用于下次数据传输的加密密钥和令牌进行加密后返回客户端。
[0135] 在此过程中,服务器利用任意一个随机数作为令牌,利用所述令牌作为加密密钥对特定信息进行加密并进行哈希运算获得所述用于下次数据传输的加密密钥。其中该特定信息可以任意选定,例如可以是服务器标识,型号等等。
[0136] 步骤34、客户端使用注册时的注册密钥对服务器返回的数据进行校验,若校验成功,则执行步骤35;否则流程结束。
[0137] 若利用注册密钥对服务器返回的数据解密成功,则校验通过,获取用于本次数据传输的加密密钥和令牌;否则校验不通过。
[0138] 步骤35、通过对服务器返回的数据进行解密,客户端获取用于本次数据传输的加密密钥和对应的令牌。客户端使用提取的用于本次数据传输的加密密钥加密待传输数据,并把加密后的待传输数据和令牌上传到服务器。
[0139] 步骤36、服务器通过客户端上传的令牌获取用于解密客户端数据的解密密钥,然后利用解密密钥对客户端的数据进行解密。
[0140] 具体的,服务器可根据所述令牌作为加密密钥对上述特定信息进行加密获得解密密钥,或者服务器还可查找本身存储的解密密钥和客户端标识的对应关系,根据查找结果获得解密密钥。
[0141] 步骤37、若解密成功,则服务器生成用于下次数据传输的加密密钥和对应的令牌,然后使用客户端本次数据传输中所使用的加密密钥对新生成的加密密钥和对应的令牌进行加密后返回给客户端;否则流程结束。
[0142] 步骤38、客户端接收服务器返回的数据,并利用上次数据传输的加密密钥解密服务器返回的数据。若解密成功,则重复执行步骤35-38直到数据传输结束。否则流程结束。
[0143] 由此可以看出,在本发明实施例中,客户端在每次向服务器传输数据时都是利用不同的密钥进行加密,而服务器则是利用对应的密钥进行解密。因此,利用本发明实施例的方案可以有效的避免中间人攻击的出现,从而提高了数据传输的安全性。
[0144] 如图4所示,本发明实施例四的数据传输装置,包括:
[0145] 获取单元41,用于当需要向服务器传输数据时,从所述服务器获取用于本次数据传输的密钥信息;加密单元42,用于利用所述用于本次数据传输的密钥信息加密待传输数据;发送单元43,用于向所述服务器发送加密后的待传输数据;其中,用于相邻两次数据传输的密钥信息不同。
[0146] 其中,对于第一次数据传输来说,所述用于本次数据传输的密钥信息包括用于本次数据传输的加密密钥。此时,所述获取单元41可包括:发送模块,当所述本次数据传输为第一次数据传输时,向所述服务器发送认证信息,使得所述服务器在对所述认证信息的认证通过时生成用于本次数据传输的加密密钥;接收模块,用于接收所述服务器发送的用于本次数据传输的加密密钥。
[0147] 此时,为了进一步保证数据传输的安全性,所述获取单元41还包括:解密模块,用于利用所述注册密钥对所述用于本次数据传输的加密密钥进行解密。此时,所述加密单元42具体用于:在对所述用于本次数据传输的加密密钥解密成功时,利用所述用于本次数据传输的密钥信息加密待传输数据。
[0148] 对于其他的数据传输来说,所述用于本次数据传输的密钥信息包括用于本次数据传输的加密密钥。此时,所述获取单元41可包括:接收模块,用于当所述本次数据传输不是第一次数据传输时,接收所述服务器在上一次数据传输成功后生成的临时加密密钥;获取模块,用于利用用于上一次数据传输的加密密钥解密所述临时加密密钥,将解密后的所述临时加密密钥作为用于本次数据传输的加密密钥。
[0149] 此外,为了保证数据传输的便利性,所述用于本次数据传输的密钥信息还包括:用于本次数据传输的令牌。因此,所述第二获取单元43,还用于从所述服务器获取用于本次数据传输的令牌;所述发送单元42,还用于在向所述服务器发送所述加密的待传输数据同时或者之后,向所述服务器发送所述用于本次数据传输的令牌。
[0150] 其中所述装置的工作原理可参照前述方法实施例的描述,所述装置位于客户端中。
[0151] 由此可以看出,在本发明实施例中,客户端在每次向服务器传输数据时都是利用不同的密钥进行加密,而服务器则是利用对应的密钥进行解密。因此,利用本发明实施例的方案可以有效的避免中间人攻击的出现,从而提高了数据传输的安全性。
[0152] 如图5所示,本发明实施例五的数据传输装置,包括:
[0153] 接收单元51,用于接收客户端发送的加密数据;处理单元52,用于对所述加密数据进行校验,并在对所述加密数据的校验通过后,生成用于下次数据传输的密钥信息;发送单元53,用于将所述密钥信息发送给所述客户端;
[0154] 其中为相邻两次数据传输生成的密钥信息不同。
[0155] 对于第一次数据传输来说,所述加密数据包括认证信息。所述处理单元52包括:比较模块,用于当所述客户端进行第一次数据传输时,将存储的认证校验信息和所述认证信息进行比较;处理模块,用于在所述认证校验信息和所述认证信息一致时,利用任意选取的随机数生成令牌,并利用所述令牌作为加密密钥对特定信息进行加密获得所述用于下次数据传输的加密密钥。
[0156] 对于其他次数据传输来说,所述处理单元52包括:获取模块,用于当所述客户端进行第二次以后的数据传输时,获得用于解密所述加密数据的解密密钥;解密模块,用于利用所述解密密钥解密所述加密数据;处理模块,用于在解密成功时利用任意选取的随机数生成令牌,并利用所述令牌作为加密密钥对特定信息进行加密获得所述用于下次数据传输的加密密钥。
[0157] 在具体应用中,所述发送单元53具体用于,将所述用于下次数据传输的加密密钥发送给所述客户端。
[0158] 为了提高数据传输的便利性,所述加密数据包括:加密的传输数据和令牌。此时,所述接收单元51还用于,在接收所述客户端发送的加密数据时或者之后,接收所述客户端发送的令牌。此时,所述获取模块具体用于:根据所述客户端发送的令牌作为加密密钥对所述特定信息进行加密获得所述解密密钥;或者根据所述加密数据获得所述客户端的标识,并根据所述客户端的标识查找存储的解密密钥和客户端标识的对应关系,根据查找结果获得所述解密密钥。
[0159] 其中所述装置的工作原理可参照前述方法实施例的描述,所述装置位于服务器中。
[0160] 由此可以看出,在本发明实施例中,客户端在每次向服务器传输数据时都是利用不同的密钥进行加密,而服务器则是利用对应的密钥进行解密。因此,利用本发明实施例的方案可以有效的避免中间人攻击的出现,从而提高了数据传输的安全性。
[0161] 如图6所示,本发明实施例六还提供了一种电子设备,包括:处理器61、存储器62、通信接口63和总线64。所述处理器61、所述存储器62和所述通信接口63通过所述总线连接并完成相互间的通信;所述存储器62存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:
[0162] 当需要向服务器传输数据时,从所述服务器获取用于本次数据传输的密钥信息;
[0163] 利用所述用于本次数据传输的密钥信息加密待传输数据;
[0164] 向所述服务器发送加密后的待传输数据;
[0165] 其中,用于相邻两次数据传输的密钥信息不同。
[0166] 该电子设备以多种形式存在,包括但不限于:
[0167] (1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。
[0168] (2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。
[0169] (3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。
[0170] (4)其他具有数据交互功能的电子装置。
[0171] 由此可以看出,在本发明实施例中,客户端在每次向服务器传输数据时都是利用不同的密钥进行加密,而服务器则是利用对应的密钥进行解密。因此,利用本发明实施例的方案可以有效的避免中间人攻击的出现,从而提高了数据传输的安全性。
[0172] 如图7所示,本发明实施例七还提供了一种电子设备,包括:处理器71、存储器72、通信接口73和总线74。所述处理器71、所述存储器72和所述通信接口73通过所述总线连接并完成相互间的通信;所述存储器72存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:
[0173] 接收客户端发送的加密数据;
[0174] 对所述加密数据进行校验,并在对所述加密数据的校验通过后生成用于下次数据传输的密钥信息;
[0175] 将所述密钥信息发送给所述客户端;
[0176] 其中为相邻两次数据传输生成的密钥信息不同。
[0177] 其中,所述电子设备可以是服务器。服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
[0178] 由此可以看出,在本发明实施例中,客户端在每次向服务器传输数据时都是利用不同的密钥进行加密,而服务器则是利用对应的密钥进行解密。因此,利用本发明实施例的方案可以有效的避免中间人攻击的出现,从而提高了数据传输的安全性。
[0179] 本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
[0180] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。