一种数据传输的方法、客户端、服务器及其系统的制作方法

文档序号:8001889阅读:229来源:国知局
一种数据传输的方法、客户端、服务器及其系统的制作方法
【专利摘要】本发明实施例公开一种数据传输的方法、客户端、服务器及其系统,其中的方法可包括:当客户端与业务服务器进行数据传输时,客户端获取与所述客户端对应的账号信息相关联的第一密钥和第二密钥,所述第一密钥为采用预设的第三密钥对所述第二密钥进行加密生成的密钥;所述客户端采用所述第二密钥对待传输的数据进行加密处理;所述客户端将加密后的所述数据和所述第一密钥传输至业务服务器,以使所述业务服务器根据所述第一密钥及所述预设的第三密钥,对加密后的所述数据进行解密处理。可以提高用户的数据安全性,提升用户体验。
【专利说明】一种数据传输的方法、客户端、服务器及其系统

【技术领域】
[0001]本发明涉及计算机【技术领域】,具体涉及数据传输【技术领域】,尤其涉及一种数据传输的方法、客户端、服务器及其系统。

【背景技术】
[0002]随着互联网技术的飞速前进,人们的生活日益网络化、信息化。为了给用户提供精准的信息服务,客户端往往需要给服务器提供自己相关的数据信息,同时用户执行某些操作时,同样需要提供相关数据给服务器,服务器根据相关的用户信息定位用户需求,更好的提供给用户服务。
[0003]互联网作为一个开放性的系统,为人们提供各式各样的服务,但是对于数据的安全性的考虑并不完备,例如基于HTTP (Hypertext Transfer Protocol,超文本传输协议)的网络服务,为了防止用户的数据泄漏,一般的处理方式为通过加密数据包,但是信息窃取者可以通过截获密钥,破解用户数据或者进行用户伪装。因此依然不能保证用户的数据安全性,并且用户在使用客户端对多个网络服务器进行登录时,需要多次进行身份验证以获取不同的密钥对数据进行加密,影响了数据传输的效率,降低了用户的体验。


【发明内容】

[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]图1是本发明实施例提供的一种数据传输的方法的流程示意图;
[0029]图2是本发明实施例提供的另一种数据传输的方法的流程示意图;
[0030]图3是本发明实施例提供的又一种数据传输的方法的流程示意图;
[0031]图4是本发明实施例提供的又一种数据传输的方法的流程示意图;
[0032]图5是本发明实施例提供的又一种数据传输的方法的流程示意图;
[0033]图6是本发明实施例提供的一种客户端的结构示意图;
[0034]图7是本发明实施例提供的另一种客户端的结构示意图;
[0035]图8是本发明实施例提供的一种业务服务器的结构示意图;
[0036]图9是本发明实施例提供的一种数据传输的系统的交互示意图。

【具体实施方式】
[0037]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0038]在本发明实施例中,客户端可以包括:PC (Personal Computer,个人计算机)、平板电脑、手机、智能手机、笔记本电脑等终端设备;客户端也可以为终端设备中的客户端模块,例如:web (网页)浏览器客户端、即时通讯客户端等。
[0039]本发明实施例提供的数据传输方法可以应用于客户端向业务服务器发送数据请求的场景,例如:客户端向业务服务器发送数据请求信息,其中可以包括对图片、音乐和视频等的请求的场景;也可以应用于客户端上传数据至业务服务器的场景,例如:客户端上传文件至业务服务器的场景等;还可以应用于客户端通过业务服务器向其它客户端发送数据的场景,例如:客户端通过业务服务器向其他客户端发送即时聊天信息或者传输图片、音乐、视频的场景等。所述业务服务器可用于为客户端提供各种业务,包括但不限于:即时聊天业务、音乐业务等;所述登录服务器可用于为客户端提供认证权限的服务,所述客户端通过该认证权限可以与所述业务服务器进行数据传输。其中,客户端获取登录服务器发送的第一密钥和第二密钥,并采用第二密钥对需要传输的数据进行加密,并将加密后的数据和第一密钥传输至业务服务器,业务服务器接收到客户端发送的加密后的数据和第一密钥后,采用预设的第三密钥对第一密钥进行解密,获得第二密钥,再使用第二密钥对加密后的数据进行解密,获得客户端发送的该数据,由此可以保证在客户端和业务服务器进行数据传输时,用于对加密的数据进行解密的第二密钥不暴露在传输过程中,保证了数据的安全性。
[0040]本实施例中涉及的第二密钥可以为登录服务器在获取到客户端发送的账号信息时,自行生成的与该账号信息相关联的密钥,第一密钥可以为登录服务器采用预设的第三密钥对与该账号信息相关联的第二密钥进行加密生成的密钥,预设的第三密钥可以为鉴权中心向所述鉴权中心管理的所有登录服务器和所有业务服务器发送的预设的密钥。
[0041]下面将结合附图1-附图5,对本发明实施例提供的数据传输的方法进行详细介绍。
[0042]请参见图1,为本发明实施例提供了一种数据传输的方法的流程示意图。本实施例从客户端侧阐述数据传输的方法的具体流程,该方法可以包括以下步骤SlOl-步骤S103。
[0043]S101,当客户端与业务服务器进行数据传输时,客户端获取与所述客户端对应的账号信息相关联的第一密钥和第二密钥,所述第一密钥为采用预设的第三密钥对所述第二密钥进行加密生成的密钥;
[0044]具体的,所述客户端对应的账号信息可以为用户使用客户端在登录服务器中进行登录所使用的账号信息,例如:在使用即时聊天工具时,用户可以在该即时聊天工具的客户端中输入所注册的账号信息,该即时聊天工具的客户端将用户输入的所述账号信息发送至该即时聊天工具的登录服务器进行登录。
[0045]本步骤中,当进行数据传输时,客户端获取与所述客户端对应的账号信息相关联的第一密钥和第二密钥。其中,客户端获取与所述客户端对应的账号信息相关联的第一密钥和第二密钥的方式可以为:
[0046]所述客户端登录所述登录服务器时,获取所述第一密钥和第二密钥;
[0047]或者,所述客户端在登录所述登录服务器时,获取所述第一密钥和第二密钥,并将所述第一密钥和第二密钥存储在缓存中,当进行数据传输时,在自身的缓存中获取所述第一密钥和第二密钥。
[0048]S102,所述客户端采用所述第二密钥对待传输的数据进行加密处理;
[0049]具体的,所述客户端采用获取的第二密钥对带传输的数据进行加密处理,优选的,加密处理所采用的算法可以为TEA (Tiny Encrypt1n Algorithm,分组加密算法)算法,所述TEA算法是一种对称加密算法,采用此算法加/解密速度快,且实现简单。当然,采用TEA算法进行加密处理的方式仅为举例,也可以使用其它的加/解密算法对待传输的数据进行加密。
[0050]S103,所述客户端将加密后的所述数据和所述第一密钥传输至业务服务器,以使所述业务服务器根据所述第一密钥及所述预设的第三密钥,对加密后的所述数据进行解密处理;
[0051]具体的,所述客户端将加密后的所述数据和获取的所述第一密钥传输至业务服务器。所述业务服务器接收加密后的所述数据和所述第一密钥,采用预设的第三密钥对所述第一密钥进行解密获取第二密钥,再使用所述第二密钥对加密后的所述数据进行解密处理,获得所述数据。
[0052]在本发明实施例中,在数据传输过程中只将第一密钥进行传输,可以保证预设的第三密钥和对用户数据进行加/解密的第二密钥不暴露在数据传输的过程中,避免了信息窃取者通过截获密钥破解用户数据,提高了用户数据安全性,由于预设的第三密钥和对用户数据进行加/解密的第二密钥不暴露在数据传输的过程中,使得所有业务服务器对相同的用户的账号信息都可以采用同一个加/解密的密钥,无需对客户端的身份进行多次验证,从而提高了数据传输的效率,提升了用户体验。
[0053]请参见图2,为本发明实施例提供了另一种数据传输的方法的流程示意图。本实施例从客户端侧阐述数据传输的方法的具体流程,该方法可以包括以下步骤S201-步骤S205。
[0054]S201,当所述客户端对应的账号信息进行登录操作时,所述客户端向登录服务器发送登录请求,所述登录请求中携带所述客户端对应的账号信息,以使所述登录服务器为所述客户端对应的账号信息设置相关联的第一密钥和第二密钥;
[0055]具体的,所述登录操作可以为用户在客户端输入账号信息,并向客户端发送确认登录指令。所述客户端根据对应的账号信息生成登录请求,并将所述登录请求发送至登录服务器进行登录,如果所述登录服务器验证通过了所述客户端对应的账号信息,则所述登录服务器根据所述客户端对应的账号信息生成所述第二密钥,并可以采用预设的第三密钥,基于TEA算法对所述第二密钥进行加密生成第一密钥,所述登录服务器将与所述客户端对应的账号信息相关联的第一密钥和第二密钥发送至所述客户端。
[0056]需要说明的是,所述TEA算法是一种对称加密算法,采用此算法加/解密速度快,且实现简单。当然,采用TEA算法进行加密处理的方式仅为举例,也可以采用预设的第三密钥,基于其它的加/解密算法对所述第二密钥进行加密生成第一密钥。
[0057]S202,所述客户端接收所述登录服务器返回的与所述客户端对应的账号信息相关联的第一密钥和第二密钥;
[0058]具体的,所述客户端接收所述登录服务器发送的与所述客户端对应的账号信息相关联的第一密钥和第二密钥,并可以将所述第一密钥和所述第二密钥存储在缓存中。
[0059]S203,当客户端与业务服务器进行数据传输时,客户端获取与所述客户端对应的账号信息相关联的第一密钥和第二密钥,所述第一密钥为采用预设的第三密钥对所述第二密钥进行加密生成的密钥;
[0060]S204,所述客户端采用所述第二密钥对待传输的数据进行加密处理;
[0061]S205,所述客户端将加密后的所述数据和所述第一密钥传输至业务服务器,以使所述业务服务器根据所述第一密钥及所述预设的第三密钥,对加密后的所述数据进行解密处理。
[0062]其中,本实施例的步骤S203、S204和S205可以分别参见图1所示实施例的步骤S10US102和S103,在此不进行赘述。
[0063]在本发明实施例中,在数据传输过程中只将第一密钥进行传输,可以保证预设的第三密钥和对用户数据进行加/解密的第二密钥不暴露在数据传输的过程中,避免了信息窃取者通过截获密钥破解用户数据,提高了用户数据安全性,由于预设的第三密钥和对用户数据进行加/解密的第二密钥不暴露在数据传输的过程中,使得所有业务服务器对相同的用户的账号信息都可以采用同一个加/解密的密钥,无需对客户端的身份进行多次验证,从而提高了数据传输的效率,提升了用户体验。
[0064]请参见图3,为本发明实施例提供了又一种数据传输的方法的流程示意图。本实施例从业务服务器侧阐述数据传输的方法的具体流程,该方法可以包括以下步骤S301-步骤S302。
[0065]S301,当业务服务器接收到客户端发送的加密后的数据和第一密钥时,所述业务服务器采用预设的第三密钥对所述第一密钥进行解密生成第二密钥;
[0066]具体的,当业务服务器与客户端进行数据传输时,所述业务服务器接收所述客户端发送的第一密钥和使用第二密钥加密后的数据,采用预设的第三密钥对所述第一密钥进行解密生成第二密钥。
[0067]需要说明的是,采用预设的第三密钥对所述第一密钥进行解密生成第二密钥所使用的解密算法,需要基于登录服务器采用预设的第三密钥对所述第二密钥进行加密生成第一密钥所采用的加密算法,例如:登录服务器采用预设的第三密钥,基于TEA算法对所述第二密钥进行加密生成第一密钥,则业务服务器也需要采用预设的第三密钥,基于所述TEA算法对所述第一密钥进行解密生成第二密钥。当然,此处采用TEA算法进行加/解密处理的方式仅为举例。
[0068]S302,所述业务服务器采用所述第二密钥对加密后的所述数据进行解密,获取所述数据;
[0069]具体的,所述业务服务器采用解密后得到的所述第二密钥对加密后的所述数据进行解密,获取所述数据。
[0070]需要说明的是,对加密后的所述数据进行解密处理的算法需要基于客户端对所述数据进行加密所采用的算法,例如:客户端基于TEA算法,采用第二密钥对待传输的数据进行加密,则业务服务器也需要基于TEA算法,采用第二密钥对接收的所述数据进行解密。当然,此处采用TEA算法进行加/解密处理的方式仅为举例。
[0071]在本发明实施例中,在数据传输过程中只将第一密钥进行传输,可以保证预设的第三密钥和对用户数据进行加/解密的第二密钥不暴露在数据传输的过程中,避免了信息窃取者通过截获密钥破解用户数据,提高了用户数据安全性,由于预设的第三密钥和对用户数据进行加/解密的第二密钥不暴露在数据传输的过程中,使得所有业务服务器对相同的用户的账号信息都可以采用同一个加/解密的密钥,无需对客户端的身份进行多次验证,从而提高了数据传输的效率,提升了用户体验。
[0072]请参见图4,为本发明实施例提供了又一种数据传输的方法的流程示意图。本实施例从客户端与业务服务器的交互阐述数据传输的方法的具体流程,该方法可以包括以下步骤 S401-步骤 S404。
[0073]S401,当客户端与业务服务器进行数据传输时,客户端获取与所述客户端对应的账号信息相关联的第一密钥和第二密钥,所述第一密钥为采用预设的第三密钥对所述第二密钥进行加密生成的密钥;
[0074]具体的,所述客户端对应的账号信息可以为用户使用客户端在登录服务器中进行登录所使用的账号信息,例如:在使用即时聊天工具时,用户可以在该即时聊天工具的客户端中输入所注册的账号信息,该即时聊天工具的客户端将用户输入的所述账号信息发送至该即时聊天工具的登录服务器进行登录。
[0075]本步骤中,当进行数据传输时,客户端获取与所述客户端对应的账号信息相关联的第一密钥和第二密钥。其中,客户端获取与所述客户端对应的账号信息相关联的第一密钥和第二密钥的方式可以为:
[0076]所述客户端登录所述登录服务器时,获取所述第一密钥和第二密钥;
[0077]或者,所述客户端在登录所述登录服务器时,获取所述第一密钥和第二密钥,并将所述第一密钥和第二密钥存储在缓存中,当进行数据传输时,在自身的缓存中获取所述第一密钥和第二密钥。
[0078]S402,所述客户端采用所述第二密钥对待传输的数据进行加密处理,并将加密后的所述数据和所述第一密钥传输至业务服务器;
[0079]具体的,所述客户端采用获取的第二密钥对带传输的数据进行加密处理,优选的,加密处理所采用的算法可以为TEA算法,所述TEA算法是一种对称加密算法,采用此算法加/解密速度快,且实现简单。当然,采用TEA算法进行加密处理的方式仅为举例,也可以使用其它的加/解密算法对待传输的数据进行加密。所述客户端将加密后的所述数据和获取的所述第一密钥传输至业务服务器。
[0080]S403,所述业务服务器接收所述客户端发送的加密后的数据和第一密钥,并采用预设的第三密钥对所述第一密钥进行解密生成第二密钥;
[0081]具体的,所述业务服务器接收所述客户端发送的第一密钥和使用第二密钥加密后的数据,采用预设的第三密钥对所述第一密钥进行解密生成第二密钥。
[0082]需要说明的是,采用预设的第三密钥对所述第一密钥进行解密生成第二密钥所使用的解密算法,需要基于登录服务器采用预设的第三密钥对所述第二密钥进行加密生成第一密钥所采用的加密算法,例如:登录服务器采用预设的第三密钥,基于TEA算法对所述第二密钥进行加密生成第一密钥,则业务服务器也需要采用预设的第三密钥,基于所述TEA算法对所述第一密钥进行解密生成第二密钥。当然,此处采用TEA算法进行加/解密处理的方式仅为举例。
[0083]S404,所述业务服务器采用所述第二密钥对加密后的所述数据进行解密,获取所述数据;
[0084]具体的,所述业务服务器采用解密后得到的所述第二密钥对加密后的所述数据进行解密,获取所述数据。
[0085]需要说明的是,对加密后的所述数据进行解密处理的算法需要基于客户端对所述数据进行加密所采用的算法,例如:客户端基于TEA算法,采用第二密钥对待传输的数据进行加密,则业务服务器也需要基于TEA算法,采用第二密钥对接收的所述数据进行解密。当然,此处采用TEA算法进行加/解密处理的方式仅为举例。
[0086]在本发明实施例中,在数据传输过程中只将第一密钥进行传输,可以保证预设的第三密钥和对用户数据进行加/解密的第二密钥不暴露在数据传输的过程中,避免了信息窃取者通过截获密钥破解用户数据,提高了用户数据安全性,由于预设的第三密钥和对用户数据进行加/解密的第二密钥不暴露在数据传输的过程中,使得所有业务服务器对相同的用户的账号信息都可以采用同一个加/解密的密钥,无需对客户端的身份进行多次验证,从而提高了数据传输的效率,提升了用户体验。
[0087]请参见图5,为本发明实施例提供了又一种数据传输的方法的流程示意图。本实施例从客户端与业务服务器的交互阐述数据传输的方法的具体流程,该方法可以包括以下步骤 S501-步骤 S508。
[0088]S501,鉴权中心将预设的第三密钥发送至登录服务器和业务服务器,所述登录服务器和所述业务服务器接收所述预设的第三密钥;
[0089]具体的,鉴权中心针对统一网络中所有的登录服务器和业务服务器,设置第三密钥,所述鉴权中心将预设的第三密钥发送至所述登录服务器和所述业务服务器,所述登录服务器和所述业务服务器接收所述预设的第三密钥,并对所述预设的第三密钥进行保存。
[0090]S502,当所述客户端对应的账号信息进行登录操作时,所述客户端向登录服务器发送登录请求,所述登录请求中携带所述客户端对应的账号信息;
[0091]具体的,所述登录操作可以为用户在客户端输入账号信息,并向客户端发送确认登录指令。所述客户端根据对应的账号信息生成登录请求,并将所述登录请求发送至登录服务器进行登录。
[0092]S503,所述登录服务器为所述客户端对应的账号信息设置相关联的第一密钥和第二密钥;
[0093]具体的,如果所述登录服务器验证通过了所述客户端对应的账号信息,则所述登录服务器根据所述客户端对应的账号信息生成所述第二密钥,并可以采用所述鉴权中心发送的预设的第三密钥,基于TEA算法对所述第二密钥进行加密生成第一密钥,所述登录服务器将与所述客户端对应的账号信息相关联的第一密钥和第二密钥发送至所述客户端。
[0094]需要说明的是,所述TEA算法是一种对称加密算法,采用此算法加/解密速度快,且实现简单。当然,采用TEA算法进行加密处理的方式仅为举例,也可以采用预设的第三密钥,基于其它的加/解密算法对所述第二密钥进行加密生成第一密钥。
[0095]S504,所述客户端接收所述登录服务器返回的与所述客户端对应的账号信息相关联的第一密钥和第二密钥;
[0096]具体的,所述客户端接收所述登录服务器发送的与所述客户端对应的账号信息相关联的第一密钥和第二密钥,并可以将所述第一密钥和所述第二密钥存储在缓存中。
[0097]S505,当客户端与业务服务器进行数据传输时,客户端获取与所述客户端对应的账号信息相关联的第一密钥和第二密钥,所述第一密钥为采用预设的第三密钥对所述第二密钥进行加密生成的密钥;
[0098]S506,所述客户端采用所述第二密钥对待传输的数据进行加密处理,并将加密后的所述数据和所述第一密钥传输至业务服务器;
[0099]S507,所述业务服务器接收所述客户端发送的加密后的数据和第一密钥,并采用预设的第三密钥对所述第一密钥进行解密生成第二密钥;
[0100]S508,所述业务服务器采用所述第二密钥对加密后的所述数据进行解密,获取所述数据。
[0101]其中,本实施例的步骤S505、S506、S507和S508可以分别参见图4所示实施例的步骤S401、S402、S403和S404,在此不进行赘述。
[0102]在本发明实施例中,在数据传输过程中只将第一密钥进行传输,可以保证预设的第三密钥和对用户数据进行加/解密的第二密钥不暴露在数据传输的过程中,避免了信息窃取者通过截获密钥破解用户数据,提高了用户数据安全性,由于预设的第三密钥和对用户数据进行加/解密的第二密钥不暴露在数据传输的过程中,使得所有业务服务器对相同的用户的账号信息都可以采用同一个加/解密的密钥,无需对客户端的身份进行多次验证,从而提高了数据传输的效率,提升了用户体验。
[0103]下面将结合附图6和附图7,对本发明实施例提供的客户端进行详细介绍。需要说明的是,附图6和附图7所示的客户端,用于执行本发明图1和图2所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图1和图2所示的实施例。
[0104]请参见图6,为本发明实施例提供了一种客户端的结构示意图。如图6所示,本发明实施例的所述客户端1可包括:密钥获取模块11、数据加密模块12和数据密钥发送模块13。
[0105]密钥获取模块11,用于当进行数据传输时,获取与客户端对应的账号信息相关联的第一密钥和第二密钥,所述第一密钥为采用预设的第三密钥对所述第二密钥进行加密生成的密钥;
[0106]具体实现中,所述客户端1对应的账号信息可以为用户使用客户端1在登录服务器中进行登录所使用的账号信息,例如:在使用即时聊天工具时,用户可以在该即时聊天工具的客户端中输入所注册的账号信息,该即时聊天工具的客户端将用户输入的所述账号信息发送至该即时聊天工具的登录服务器进行登录。
[0107]当进行数据传输时,所述密钥获取模块11获取与所述客户端1对应的账号信息相关联的第一密钥和第二密钥。其中,所述密钥获取模块11获取与所述客户端1对应的账号信息相关联的第一密钥和第二密钥的方式可以为:
[0108]所述客户端1登录所述登录服务器时,所述密钥获取模块11获取所述第一密钥和第二密钥;
[0109]或者,所述客户端1在登录所述登录服务器时,所述密钥获取模块11获取所述第一密钥和第二密钥,并将所述第一密钥和第二密钥存储在所述客户端1的缓存中,当进行数据传输时,所述密钥获取模块11在所述客户端1的缓存中获取所述第一密钥和第二密钥。
[0110]数据加密模块12,用于采用所述第二密钥对待传输的数据进行加密处理;
[0111]具体实现中,所述数据加密模块12采用所述密钥获取模块11获取的第二密钥对带传输的数据进行加密处理,优选的,加密处理所采用的算法可以为TEA算法,所述TEA算法是一种对称加密算法,采用此算法加/解密速度快,且实现简单。当然,采用TEA算法进行加密处理的方式仅为举例,也可以使用其它的加/解密算法对待传输的数据进行加密。
[0112]数据密钥发送模块13,用于将加密后的所述数据和所述第一密钥传输至业务服务器,以使所述业务服务器根据所述第一密钥及所述预设的第三密钥,对加密后的所述数据进行解密处理;
[0113]具体实现中,所述数据密钥发送模块13将加密后的所述数据和所述密钥获取模块11获取的所述第一密钥传输至业务服务器。所述业务服务器接收加密后的所述数据和所述第一密钥,采用预设的第三密钥对所述第一密钥进行解密获取第二密钥,再使用所述第二密钥对加密后的所述数据进行解密处理,获得所述数据。
[0114]在本发明实施例中,在数据传输过程中只将第一密钥进行传输,可以保证预设的第三密钥和对用户数据进行加/解密的第二密钥不暴露在数据传输的过程中,避免了信息窃取者通过截获密钥破解用户数据,提高了用户数据安全性,由于预设的第三密钥和对用户数据进行加/解密的第二密钥不暴露在数据传输的过程中,使得所有业务服务器对相同的用户的账号信息都可以采用同一个加/解密的密钥,无需对客户端的身份进行多次验证,从而提高了数据传输的效率,提升了用户体验。
[0115]请参见图7,为本发明实施例提供了另一种客户端的结构示意图。如图7所示,本发明实施例的所述客户端1可包括:密钥获取模块11、数据加密模块12、数据密钥发送模块13、信息发送模块14和密钥接收模块15 ;其中,密钥获取模块11、数据加密模块12和数据密钥发送模块13的结构可以参见图4所示实施例的相关描述,在此不进行赘述。
[0116]信息发送模块14,用于当客户端对应的账号信息进行登录操作时,向登录服务器发送登录请求,所述登录请求中携带所述客户端对应的账号信息,以使所述登录服务器为所述客户端对应的账号信息设置相关联的第一密钥和第二密钥;
[0117]具体实现中,所述登录操作可以为用户在客户端1输入账号信息,并向客户端1发送确认登录指令。所述信息发送模块14根据对应的账号信息生成登录请求,并将所述登录请求发送至登录服务器进行登录,如果所述登录服务器验证通过了所述客户端1对应的账号信息,则所述登录服务器根据所述客户端1对应的账号信息生成所述第二密钥,并可以采用预设的第三密钥,基于TEA算法对所述第二密钥进行加密生成第一密钥,所述登录服务器将与所述客户端1对应的账号信息相关联的第一密钥和第二密钥发送至所述客户端
Ιο
[0118]需要说明的是,所述TEA算法是一种对称加密算法,采用此算法加/解密速度快,且实现简单。当然,采用TEA算法进行加密处理的方式仅为举例,也可以采用预设的第三密钥,基于其它的加/解密算法对所述第二密钥进行加密生成第一密钥。
[0119]密钥接收模块15,用于接收所述登录服务器返回的与所述客户端对应的账号信息相关联的第一密钥和第二密钥;
[0120]具体实现中,所述密钥接收模块15接收所述登录服务器发送的与所述客户端1对应的账号信息相关联的第一密钥和第二密钥,并可以将所述第一密钥和所述第二密钥存储在所述客户端1的缓存中。
[0121]在本发明实施例中,在数据传输过程中只将第一密钥进行传输,可以保证预设的第三密钥和对用户数据进行加/解密的第二密钥不暴露在数据传输的过程中,避免了信息窃取者通过截获密钥破解用户数据,提高了用户数据安全性,由于预设的第三密钥和对用户数据进行加/解密的第二密钥不暴露在数据传输的过程中,使得所有业务服务器对相同的用户的账号信息都可以采用同一个加/解密的密钥,无需对客户端的身份进行多次验证,从而提高了数据传输的效率,提升了用户体验。
[0122]下面将结合附图8,对本发明实施例提供的业务服务器进行详细介绍。需要说明的是,附图8所示的业务服务器,用于执行本发明图3所示实施例的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明图3所示的实施例。
[0123]请参见图8,为本发明实施例提供了一种业务服务器的结构示意图。如图8所示,本发明实施例的所述业务服务器2可包括:密钥解析模块21和数据获取模块22。
[0124]密钥解析模块21,用于当接收到客户端发送的加密后的数据和第一密钥时,采用预设的第三密钥对所述第一密钥进行解密生成第二密钥;
[0125]具体实现中,当业务服务器2与客户端进行数据传输时,所述密钥解析模块21接收所述客户端发送的第一密钥和使用第二密钥加密后的数据,采用预设的第三密钥对所述第一密钥进行解密生成第二密钥。
[0126]需要说明的是,所述密钥解析模块21采用预设的第三密钥对所述第一密钥进行解密生成第二密钥所使用的解密算法,需要基于登录服务器采用预设的第三密钥对所述第二密钥进行加密生成第一密钥所采用的加密算法,例如:登录服务器采用预设的第三密钥,基于TEA算法对所述第二密钥进行加密生成第一密钥,则所述密钥解析模块21也需要采用预设的第三密钥,基于所述TEA算法对所述第一密钥进行解密生成第二密钥。当然,此处采用TEA算法进行加/解密处理的方式仅为举例。
[0127]数据获取模块22,用于采用所述第二密钥对加密后的所述数据进行解密,获取所述数据;
[0128]具体实现中,所述数据获取模块22采用解密后得到的所述第二密钥对加密后的所述数据进行解密,获取所述数据。
[0129]需要说明的是,所述数据获取模块22对加密后的所述数据进行解密处理的算法需要基于客户端对所述数据进行加密所采用的算法,例如:客户端基于TEA算法,采用第二密钥对待传输的数据进行加密,则所述数据获取模块22也需要基于TEA算法,采用第二密钥对接收的所述数据进行解密。当然,此处采用TEA算法进行加/解密处理的方式仅为举例。
[0130]在本发明实施例中,在数据传输过程中只将第一密钥进行传输,可以保证预设的第三密钥和对用户数据进行加/解密的第二密钥不暴露在数据传输的过程中,避免了信息窃取者通过截获密钥破解用户数据,提高了用户数据安全性,由于预设的第三密钥和对用户数据进行加/解密的第二密钥不暴露在数据传输的过程中,使得所有业务服务器对相同的用户的账号信息都可以采用同一个加/解密的密钥,无需对客户端的身份进行多次验证,从而提高了数据传输的效率,提升了用户体验。
[0131]本发明实施例还公开了一种数据传输的系统,包括图6和图7所示实施例中的客户端,还包括图8所示实施例中的业务服务器。需要说明的是,本实施例的数据传输的系统可以应用于上述方法中。
[0132]请参见图9,为本发明实施例提供了一种数据传输的系统的交互示意图。下面结合图9以一具体实例来说明本发明实施例的所述系统中各硬件的实施过程。
[0133]假设第一密钥为stkey,第二密钥为sess1nkey,第三密钥为enkey,待传输的数据为sext。本发明实施例的数据传输过程如下:
[0134]鉴权中心向自身管理的所有登录服务器和业务服务器发送预设的enkey,客户端使用对应的账号信息进行登录操作时,所述客户端向登录服务器发送携带有所述客户端对应的账号信息的登录请求,如果所述登录服务器验证通过了所述客户端对应的账号信息,则所述登录服务器根据所述客户端对应的账号信息生成sess1nkey,并可以采用预设的enkey对sess1nkey进行加密生成stkey,所述登录服务器将sess1nkey和stkey发送至所述客户端,所述客户端接收sess1nkey和stkey,并可以将sess1nkey和stkey保存在自身的缓存中。
[0135]当所述客户端需要和业务服务器进行数据传输时,所述客户端可以在自身缓存中获取sess1nkey和stkey,使用sess1nkey对sext进行加密,并将stkey和加密后的sext发送至所述业务服务器。
[0136]所述业务服务器接收到所述客户端发送的stkey和加密后的sext,先采用预设的enkey对stkey进行解密生成sess1nkey,再使用sess1nkey对加密后的sext进行解密,获取sext。
[0137]在本发明实施例中,在数据传输过程中只将第一密钥进行传输,可以保证预设的第三密钥和对用户数据进行加/解密的第二密钥不暴露在数据传输的过程中,避免了信息窃取者通过截获密钥破解用户数据,提高了用户数据安全性,由于预设的第三密钥和对用户数据进行加/解密的第二密钥不暴露在数据传输的过程中,使得所有业务服务器对相同的用户的账号信息都可以采用同一个加/解密的密钥,无需对客户端的身份进行多次验证,从而提高了数据传输的效率,提升了用户体验。
[0138]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。
[0139]以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
【权利要求】
1.一种数据传输的方法,其特征在于,包括: 当客户端与业务服务器进行数据传输时,客户端获取与所述客户端对应的账号信息相关联的第一密钥和第二密钥,所述第一密钥为采用预设的第三密钥对所述第二密钥进行加密生成的密钥; 所述客户端采用所述第二密钥对待传输的数据进行加密处理,并将加密后的所述数据和所述第一密钥传输至业务服务器; 所述业务服务器接收所述客户端发送的加密后的数据和第一密钥,并采用预设的第三密钥对所述第一密钥进行解密生成第二密钥; 所述业务服务器采用所述第二密钥对加密后的所述数据进行解密,获取所述数据。
2.根据权利要求1所述的方法,其特征在于,所述进行数据传输之前,还包括: 鉴权中心将预设的第三密钥发送至登录服务器和业务服务器,所述登录服务器和所述业务服务器接收所述预设的第三密钥; 当所述客户端对应的账号信息进行登录操作时,所述客户端向登录服务器发送登录请求,所述登录请求中携带所述客户端对应的账号信息; 所述登录服务器为所述客户端对应的账号信息设置相关联的第一密钥和第二密钥;所述客户端接收所述登录服务器返回的与所述客户端对应的账号信息相关联的第一密钥和第二密钥。
3.根据权利要求1或2所述的方法,其特征在于,所述登录服务器为所述客户端对应的账号信息设置相关联的第一密钥和第二密钥,包括: 所述第一密钥为所述登录服务器采用鉴权中心发送的预设的第三密钥,基于分组加密算法TEA算法对第二密钥进行加密生成的密钥。
4.一种数据传输的方法,其特征在于,包括: 当客户端与业务服务器进行数据传输时,客户端获取与所述客户端对应的账号信息相关联的第一密钥和第二密钥,所述第一密钥为采用预设的第三密钥对所述第二密钥进行加密生成的密钥; 所述客户端采用所述第二密钥对待传输的数据进行加密处理; 所述客户端将加密后的所述数据和所述第一密钥传输至业务服务器,以使所述业务服务器根据所述第一密钥及所述预设的第三密钥,对加密后的所述数据进行解密处理。
5.根据权利要求4所述的方法,其特征在于,所述进行数据传输之前,还包括: 当所述客户端对应的账号信息进行登录操作时,所述客户端向登录服务器发送登录请求,所述登录请求中携带所述客户端对应的账号信息,以使所述登录服务器为所述客户端对应的账号信息设置相关联的第一密钥和第二密钥; 所述客户端接收所述登录服务器返回的与所述客户端对应的账号信息相关联的第一密钥和第二密钥。
6.根据权利要求4或5所述的方法,其特征在于,所述第一密钥为登录服务器采用鉴权中心发送的预设的第三密钥,基于分组加密算法TEA算法对第二密钥进行加密生成的密钥。
7.一种数据传输的方法,其特征在于,包括: 当业务服务器接收到客户端发送的加密后的数据和第一密钥时,所述业务服务器采用预设的第三密钥对所述第一密钥进行解密生成第二密钥; 所述业务服务器采用所述第二密钥对加密后的所述数据进行解密,获取所述数据。
8.根据权利要求7所述的方法,其特征在于,所述第一密钥为登录服务器采用鉴权中心发送的预设的第三密钥,基于分组加密算法TEA算法对第二密钥进行加密生成的密钥。
9.一种客户端,其特征在于,包括: 密钥获取模块,用于当客户端与业务服务器进行数据传输时,获取与客户端对应的账号信息相关联的第一密钥和第二密钥,所述第一密钥为采用预设的第三密钥对所述第二密钥进行加密生成的密钥; 数据加密模块,用于采用所述第二密钥对待传输的数据进行加密处理; 数据密钥发送模块,用于将加密后的所述数据和所述第一密钥传输至业务服务器,以使所述业务服务器根据所述第一密钥及所述预设的第三密钥,对加密后的所述数据进行解密处理。
10.根据权利要求9所述的客户端,其特征在于,还包括: 信息发送模块,用于当客户端对应的账号信息进行登录操作时,向登录服务器发送登录请求,所述登录请求中携带所述客户端对应的账号信息,以使所述登录服务器为所述客户端对应的账号信息设置相关联的第一密钥和第二密钥; 密钥接收模块,用于接收所述登录服务器返回的与所述客户端对应的账号信息相关联的第一密钥和第二密钥。
11.根据权利要求9或10所述的客户端,其特征在于,所述第一密钥为登录服务器采用鉴权中心发送的预设的第三密钥,基于分组加密算法TEA算法对第二密钥进行加密生成的密钥。
12.—种业务服务器,其特征在于,包括: 密钥解析模块,用于当接收到客户端发送的加密后的数据和第一密钥时,采用预设的第三密钥对所述第一密钥进行解密生成第二密钥; 数据获取模块,用于采用所述第二密钥对加密后的所述数据进行解密,获取所述数据。
13.根据权利要求12所述的业务服务器,其特征在于,所述第一密钥为登录服务器采用鉴权中心发送的预设的第三密钥,基于分组加密算法TEA算法对第二密钥进行加密生成的密钥。
14.一种数据传输的系统,其特征在于,包括如权利要求9-11任一项所述的客户端以及如权利要求12或13所述的业务服务器。
【文档编号】H04L29/08GK104283680SQ201310282061
【公开日】2015年1月14日 申请日期:2013年7月5日 优先权日:2013年7月5日
【发明者】凌星, 吴江能 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1