一种数据传输方法、终端以及服务器与流程

文档序号:13937501阅读:252来源:国知局
一种数据传输方法、终端以及服务器与流程

本发明涉及信息安全领域,尤其涉及一种数据传输方法、终端以及服务器。



背景技术:

安全超文本传输协议(hypertexttransferprotocoloversecuresocketlayer,简称https)是一种用于安全传输超文本传输协议(hypertexttransferprotocol,简称http)数据的网络协议。https基于非对称加密和对称加密技术相结合的方式,依赖第三方颁发的证书来确保站点的可信任,具有良好的通用性以及可靠性。

在现有技术中,https的实现过程大致如下:

1、终端向服务器发送数据请求,例如https://www.domain.com/;

2、服务器响应数据请求,从密钥对中选取公钥;

3、服务器将公钥(crtpublic)发送给终端;

4、若公钥合法,则终端生成随机密钥(randomkey),利用公钥将随机密钥进行加密得到加密密钥;

5、终端将加密密钥发送给服务器;

6、服务器利用私钥将加密密钥解密,得到随机密钥,然后利用随机密钥加密数据文件,得到加密文件;

7、服务器将加密文件发送给终端;

8、终端利用随机密钥将加密文件解密,得到数据文件。

从以上过程可以看出,在发起数据请求之前,终端与服务器至少需要两次密钥交互过程,网络延迟对数据传输有很大影响。并且,服务器执行非对称加解密算法获取随机密钥的计算过程需要大量计算资源。



技术实现要素:

本发明提供了一种数据传输方法、终端以及服务器,能够提高数据加解密效率和降低网络延迟对数据传输的影响,并且具有良好的安全性。

第一方面提供了一种数据传输方法,包括:

终端获取随机数以及校验参数,将校验参数以及随机数进行加密得到令牌信息;

终端向服务器发送获取数据请求,获取数据请求包括令牌信息,令牌信息用于服务器验证获取数据请求以及加密应用数据;

终端接收服务器发送的加密数据;

终端利用随机数序列生成算法,根据随机数获取随机数序列,随机数序列的长度与加密数据的长度相同;

终端将随机数序列与加密数据进行异或运算得到应用数据。

第二方面提供一种数据传输方法,包括:

服务器接收终端发送的获取数据请求,获取数据请求包括令牌信息,令牌信息用于服务器验证获取数据请求以及加密应用数据;

服务器将令牌信息解密得到校验参数以及随机数;

服务器根据校验参数判断获取数据请求是否合法,若合法,则服务器根据获取数据请求获取应用数据;

服务器利用随机数序列生成算法,根据随机数获取随机数序列,随机数序列的长度与应用数据的长度相同;

服务器将随机数序列与应用数据进行异或运算,得到加密数据;

服务器将加密数据发送给终端,使得终端根据加密数据得到应用数据。

第三方面提供一种终端,包括:

令牌生成模块,用于获取随机数以及校验参数,将校验参数以及随机数进行加密得到令牌信息;

发送模块,用于向服务器发送获取数据请求,获取数据请求包括令牌信息,令牌信息用于服务器验证获取数据请求以及加密应用数据;

接收模块,用于接收服务器发送的加密数据;

随机数序列生成模块,用于利用随机数序列生成算法,根据随机数获取随机数序列,随机数序列的长度与加密数据的长度相同;

运算模块,用于将随机数序列与加密数据进行异或运算得到应用数据。

第四方面提供一种服务器,包括:

接收模块,用于接收终端发送的获取数据请求,获取数据请求包括令牌信息,令牌信息用于服务器验证获取数据请求以及加密应用数据;

解密模块,用于将令牌信息解密得到校验参数以及随机数;

判断模块,用于根据校验参数判断获取数据请求是否合法,若合法,则触发获取模块根据获取数据请求获取应用数据;

获取模块,用于根据获取数据请求获取应用数据;

随机数序列生成模块,用于利用随机数序列生成算法,根据随机数获取随机数序列,随机数序列的长度与应用数据的长度相同;

运算模块,用于将随机数序列与应用数据进行异或运算,得到加密数据;

发送模块,用于将加密数据发送给终端,使得终端根据加密数据得到应用数据。

第五方面提供一种终端,具有实现上述数据传输方法的终端的功能。上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。

在一个可能的实施例中,终端包括输入装置、输出装置、处理器以及存储器,输入装置、输出装置、处理器以及存储器通过总线相连;通过调用存储器存储的操作指令,处理器可以执行以下方法:

获取随机数以及校验参数,将校验参数以及随机数进行加密得到令牌信息;

向服务器发送获取数据请求,获取数据请求包括令牌信息,令牌信息用于服务器验证获取数据请求以及加密应用数据;

接收服务器发送的加密数据;

利用随机数序列生成算法,根据随机数获取随机数序列,随机数序列的长度与加密数据的长度相同;

将随机数序列与加密数据进行异或运算得到应用数据。

第六方面提供一种服务器,具有实现上述数据传输方法的服务器的功能。上述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。

在一个可能的实施例中,服务器包括输入装置、输出装置、处理器以及存储器,输入装置、输出装置、处理器以及存储器通过总线相连;通过调用存储器存储的操作指令,处理器可以执行以下方法:

接收终端发送的获取数据请求,获取数据请求包括令牌信息,令牌信息用于服务器验证获取数据请求以及加密应用数据;

将令牌信息解密得到校验参数以及随机数;

根据校验参数判断获取数据请求是否合法,若合法,则根据获取数据请求获取应用数据;

利用随机数序列生成算法,根据随机数获取随机数序列,随机数序列的长度与应用数据的长度相同;

将随机数序列与应用数据进行异或运算,得到加密数据;

将加密数据发送给终端,使得终端根据加密数据得到应用数据。

从本发明实施例可以看出,终端可以获取随机数以及校验参数,将校验参数以及随机数进行加密得到令牌信息,然后将携带有令牌信息的获取数据请求发送给服务器,服务器根据令牌信息对获取数据请求进行验证,然后将应用数据加密得到的加密数据发送给终端,终端将随机数进行处理生成随机数序列之后,可以将随机数序列与加密数据进行异或运算得到应用数据。在本发明的数据传输过程中,终端无需从服务器获取公钥,减少了密钥交互过程,降低了网络延迟对数据传输的影响。并且,本发明实施例不执行非对称加解密,与https相比,节约了计算资源。同时,终端可以对获取数据请求携带的校验参数以及随机数进行加密,服务器可以将应用数据进行加密,因此数据传输具有良好的安全性。

附图说明

图1为现有技术中数据传输方法的一个流程示意图;

图2为现有技术中数据传输方法的另一个流程示意图;

图3为本发明实施例中数据传输方法的一个流程示意图;

图4为本发明实施例中加密应用数据的一个示意图;

图5为本发明实施例中解密加密数据的一个示意图;

图6为本发明实施例中终端的一个示意图;

图7为本发明实施例中终端的另一个示意图;

图8为本发明实施例中终端的另一个示意图;

图9为本发明实施例中服务器的一个示意图;

图10为本发明实施例中终端的另一个示意图;

图11为本发明实施例中服务器的另一个示意图。

具体实施方式

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

请参阅图2,下面先对https的应用环境进行介绍:

终端也称为终端设备,是计算机网络中处于网络最外围的设备,主要用于用户信息的输入以及处理结果的输出等。终端可以是个人电脑、手机、或平板电脑,还可以是销售终端(pointofsale,简称pos)等。

网络服务器是指网络环境下能为网络用户提供集中计算、信息发表及数据管理等服务的专用计算机。

证书服务器是指用于为终端提供数字证书的服务器。

基于以上设备,在实际应用中,现有的https的实现过程大致如下:

(1)终端与网络服务器进行tcp握手:终端向网络服务器发送传输控制协议(transmissioncontrolprotocol/internetprotocol,简称tcp/ip)连接的握手信号(synchronous,简称syn),服务器收到syn之后,向终端发送握手信号的确认字符(也称为synack),终端接收到synack之后,向服务器发送确认字符(也称为ack)。

(2)终端向服务器发送网址请求,服务器将该网址请求进行302重定向,跳转至需要认证的服务器。

(3)终端与跳转后的服务器进行tcp握手:终端向跳转后的服务器发送syn,服务器收到syn之后,向终端发送synack,终端向服务器发送ack。

(4)终端与跳转后的服务器进行安全传输层协议(transportlayersecurity,简称tls)的第一次握手:终端向服务器发送tsl握手信息,例如hello,服务器对hello进行认证。

(5)终端解析证书服务器的域名。

(6)终端与证书服务器进行tcp握手。

(7)终端向证书服务器发起在线证书请求,证书服务器根据在线证书状态协议(onlinecertificatestatusprotocol,简称ocsp)响应上述请求,向终端提供证书。

(8)终端与跳转后的服务器进行tls第二次握手:终端获取证书,并通知服务器在后续的数据传输中使用加密模式。

从上述过程可见,https的实现过程需要经过证书签名校验、密钥交换、数据加密以及数据一致性校验等计算过程。第一、在密钥交换过程中,终端与证书服务器的密钥需要在网络中传输,网络延迟对建立tcp/ip连接有很大影响。第二、终端根据证书对应用数据加密,服务器根据证书对应用数据解密的非对称加解密运算需要花费大量的计算资源。

为了解决上述问题,本发明提供了一种数据传输方法,其核心思想是采用不通过第三方提供密钥并且不使用非对称加密算法的方法,提供一种安全的数据传输机制。请参阅图3,本发明提供数据传输方法的一个实施例包括:

步骤301、终端获取随机数以及校验参数,将校验参数以及随机数进行加密得到令牌信息。

本实施例中,终端可以获取校验参数,校验参数是指用来校验终端与服务器之间交互数据的参数,例如,校验参数可以是应用程序的版本信息、地址有效时段或以上信息的组合,还可以是其他参数,此处不作限定。

其中,终端将校验参数以及随机数进行加密得到令牌信息所采用的算法可以是tea加密算法(tinyencryptionalgorithm,简称tea)、高级加密标准(advancedencryptionstandard,简称aes算法)、数据加密标准(dataencryptionstandard,简称des)算法、三重数据加密(tripledataencryptionalgorithm,简称3des)算法,还可以是其他对称加密算法,此处不作限定。

需要说明的是,随机数的数量可以是1个,2个或3个,还可以是其他数量,具体可以根据实际需求设定。可以理解的是,与一个随机数生成随机数序列相比,根据多个随机数生成的随机数序列更加复杂,更难以被入侵者破解。

步骤302、终端向服务器发送获取数据请求,获取数据请求包括令牌信息,令牌信息用于服务器验证获取数据请求以及加密应用数据。

步骤303、服务器利用加解密算法,将令牌信息解密得到校验参数以及随机数。

可以理解的是,服务器与终端加解密令牌信息所用算法一致。若终端利用tea加密算法将校验参数以及随机数进行加密得到令牌信息,服务器可以利用tea加密算法将令牌信息解密得到校验参数以及随机数。

步骤304、服务器根据校验参数判断获取数据请求是否合法,若合法,则执行步骤305,若不合法,则执行步骤311。

步骤305、服务器根据获取数据请求获取应用数据。

若获取数据请求合法,则服务器可以根据获取数据请求,获取对应的应用数据。

步骤306、服务器利用随机数序列生成算法,根据随机数获取随机数序列,随机数序列的长度与应用数据的长度相同。

步骤307、服务器将随机数序列与应用数据进行异或运算,得到加密数据。

举例来说,随机数序列的二进制表示形式为a1a2a3a4a5a6a7a8,应用数据的二进制形式表示为b1b2b3b4b5b6b7b8,服务器将a1a2a3a4a5a6a7a8与b1b2b3b4b5b6b7b8进行异或运算,得到加密数据为c1c2c3c4c5c6c7c8,如图4所示。可以理解的是,a1~a8、b1~b8、c1~c8的取值为0或1。

步骤308、服务器将加密数据发送给终端。

本实施例中,当入侵者在网络传输过程中截获加密数据时,需要花费时间解密,无法直接获取应用数据,因此应用数据具有一定的安全性。由于随机数仅在终端和服务器两处保存,即使入侵者知道加密数据是由随机数序列与应用数据异或所得,由于入侵者不知道随机数,因此也难以获得随机数序列,因此难以解密得到应用数据。并且,终端可以在执行新的数据传输过程时会生成一个新的随机数,即使入侵者通过长时间运算得到的历史随机数,也无法破解当前的随机数序列。可见,本发明实施例具有良好的安全性。

步骤309、终端利用随机数序列生成算法,根据随机数获取随机数序列,随机数序列的长度与加密数据的长度相同。

终端获取随机数之后,以随机数作为随机数序列生成算法的输入参数,可以输出随机数序列。随机数序列生成算法可以是艾萨克isaac算法。isaac算法支持256个8字节的随机数,在本实施例中随机数的数量可以根据实际业务的需要设置。可以理解的是,随机数的数量越多,根据多个随机数生成的随机数序列的复杂度越高,与之相应的,随机数序列被破解的难度也随之增大,由此可以提高数据的安全性。

步骤310、终端将随机数序列与加密数据进行异或运算得到应用数据。

举例来说,随机数序列的二进制表示形式为a1a2a3a4a5a6a7a8,加密数据为c1c2c3c4c5c6c7c8,终端将a1a2a3a4a5a6a7a8与c1c2c3c4c5c6c7c8进行异或运算,可以得到应用数据b1b2b3b4b5b6b7b8,如图5所示。

步骤311、服务器执行其他流程。

本实施例中,终端无需从服务器获取公钥,减少了密钥交互过程,降低了网络延迟对数据传输的影响。并且,本发明实施例不执行非对称加解密,与https相比,节约了计算资源。

其次,终端可以对获取数据请求携带的校验参数以及随机数进行加密。第三方入侵者抓取url之后,难以仿冒合法终端通过服务器的验证。

再次,服务器可以通过随机数序列将应用数据进行加密,由于随机数仅在终端以及服务器保存,运营商或者入侵者难以获取随机数,因此保障了数据传输的安全性。

在实际应用中,服务器可以根据不同类型的校验参数判断获取数据请求是否合法。判断过程具体可以参阅以下实施例:

基于图3所示实施例,在一个可选实施例中,

终端获取校验参数具体可以为:终端获取统一资源定位符(uniformresourcelocator,简称url),从url中选取目标字符串;终端将目标字符串进行加密得到地址加密字符串,将地址加密字符串作为校验参数。

步骤304具体可以为:服务器将统一资源定位符进行加密得到目标地址加密字符串;服务器将目标地址加密字符串与地址加密字符串进行比较,若一致,则确定获取数据请求合法,若不一致,则确定获取数据请求非法。

本实施例中,终端获取url之后,可以按照预定规则在url的组成部分中选取指定部分,将指定部分加密得到第一地址加密字符串,作为一个校验参数。服务器也可以采用预定规则,选取指定部分,将指定部分加密得到第二地址加密字符串(即目标地址加密字符串),然后将第二地址加密字符串与第一地址加密字符串比较,若一致,则表明url没有被篡改过,服务器可以确定获取数据请求合法;若不一致,则表明该url被篡改过,或者在传输过程中被损坏,服务器可以确定获取数据请求非法。可以理解的是,服务器与终端选取指定部分的预定规则相同。

终端或服务器将指定部分加密的加密算法可以是消息摘要算法第5版(message-digestalgorithm5,简称md5),也可以是其他消息摘要算法,此处不作限定。

基于图3所示实施例,在一个可选实施例中,步骤304具体可以为:

服务器判断当前时刻是否在地址有效时段内,若是,则确定获取数据请求合法,若否,则确定获取数据请求非法。

本实施例中,地址有效时段为url的生存周期。若当前时刻不在地址有效时段内,表明该url已经失效,服务器可以确定获取数据请求非法,若当前时刻在地址有效时段内,则表明该url有效,服务器可以确定获取数据请求合法。

基于图3所示实施例,在另一个可选实施例中,步骤304具体可以为:

服务器判断版本信息是否为预定版本信息,若是,则确定获取数据请求合法,若否,则确定获取数据请求非法。

本实施例中,版本信息是指应用程序的版本信息,例如app.5.7.9.0,或是app3.0。当预设的版本信息为最近使用的版本信息时,本实施例可以保证终端与服务器执行的是最近使用的应用程序,从而限制过期应用程序的使用。

可以理解的是,服务器还可以通过以上实施例的组合来判断获取数据请求是否合法。

基于图3所示实施例或可选实施例,在本发明的另一个可选实施例中,该数据传输方法还包括:终端生成加密标识;

终端将校验参数以及随机数进行加密得到令牌信息具体可以为:

终端将校验参数、随机数以及加密标识进行加密得到令牌信息。

本实施例中,加密标识可以用来标识令牌信息是否加密,以便于客户端确认数据是否真正加密成功,这样可以避免数据没有加密就发送出去,提高了本发明提供的数据传输方法的鲁棒性。

为便于理解,下面以一个具体应用场景对本发明实施例提供的数据传输方法进行详细说明:

终端以手机为例,在手机上打开网络应用时,网络应用的网址以http://domain/address/a/b/c?为例,在向服务器发起获取数据请求之前,手机可以生成随机数,例如123。终端还可以从url选取字符串,例如address/a/b/c,然后利用md5算法将address/a/b/c加密得到地址加密字符串,假设地址加密字符串为4u,假设版本信息为app3,地址有效时段为090910090915,表示url在9点9分10秒到9点9分15秒的时间段内有效。已加密采用1表示。手机获取待加密的信息包括:app3、090910090915、1、123、4u。然后手机将以上信息采用tea算法进行加密得到令牌信息,假设令牌信息为5wa8c。

手机可以向服务器发送获取数据请求,获取数据请求为http://domain/address/a/b/c?token=5wa8c。如果服务器接收的请求为上述请求,则服务器可以利用tea算法解密5wa8c得到app3、090910090915、1、123、4u。如果服务器接收的请求不是上述请求,则服务器利用tea算法解密得到的参数与上述参数不同。

服务器可以判断app3和预设版本信息是否一致,若一致,则确定该请求合法。然后,服务器可以根据当前时刻判断该请求是否合法,假设当前时刻为090914,服务器可以确定当前时刻在地址有效时段内,从而确定该请求合法。服务器还可以选取/address/a/b/c,利用md5算法获取地址加密字符串,若该地址加密字符串与4u相同,则确定该请求合法。

当服务器确定请求合法之后,则服务器根据该请求获取应用数据,应用数据的二进制形式以46f219a2为例,服务器还可以根据随机数123生成随机数序列,随机数序列的二进制形式以0e234781为例,然后将应用数据46f219a2与随机数序列0e234781进行异或运算得到加密数据48d15e23,然后将48d15e23发送给手机。

手机接收加密数据48d15e23之后,根据随机数123生成随机数序列0e234781,然后将随机数序列0e234781与加密数据48d15e23进行异或运算得到应用数据46f219a2,完成数据传输。

请参阅图6,本发明提供终端600的一个实施例包括:

令牌生成模块601,用于获取随机数以及校验参数,将校验参数以及随机数进行加密得到令牌信息;

发送模块602,用于向服务器发送获取数据请求,获取数据请求包括令牌信息,令牌信息用于服务器验证获取数据请求以及加密应用数据;

接收模块603,用于接收服务器发送的加密数据;

随机数序列生成模块604,用于利用随机数序列生成算法,根据随机数获取随机数序列,随机数序列的长度与加密数据的长度相同;

运算模块605,用于将随机数序列与加密数据进行异或运算得到应用数据。

基于图6所示实施例,请参阅图7,在本发明的一个可选实施例中,令牌生成模块601包括:

获取单元701,用于获取统一资源定位符;

选取单元702,用于从统一资源定位符中选取目标字符串;

加密单元703,用于将目标字符串进行加密得到地址加密字符串,将地址加密字符串作为校验参数。

基于图6所示实施例或可选实施例,在本发明的一个可选实施例中,校验参数包括版本信息或地址有效时段中的至少一项。

基于图6所示实施例或可选实施例,请参阅图8,在本发明的一个可选实施例中,终端600还包括:

标识生成模块801,用于生成加密标识;

令牌生成模块601,具体用于将校验参数、随机数以及加密标识进行加密得到令牌信息。

请参阅图9,本发明提供服务器的一个实施例包括:

接收模块901,用于接收终端发送的获取数据请求,获取数据请求包括令牌信息,令牌信息用于服务器验证获取数据请求以及加密应用数据;

解密模块902,用于将令牌信息解密得到校验参数以及随机数;

判断模块903,用于根据校验参数判断获取数据请求是否合法,若合法,则触发获取模块904根据获取数据请求获取应用数据;

获取模块904,用于根据获取数据请求获取应用数据;

随机数序列生成模块905,用于利用随机数序列生成算法,对随机数进行处理得到随机数序列,随机数序列的长度与应用数据的长度相同;

运算模块906,用于将随机数序列与应用数据进行异或运算,得到加密数据;

发送模块907,用于将加密数据发送给终端,使得终端根据加密数据得到应用数据。

基于图9所示实施例,在本发明的一个可选实施例中,校验参数包括地址有效时段,判断模块903具体用于判断当前时刻是否在地址有效时段内,若是,则确定获取数据请求合法,若否,则确定获取数据请求非法。

基于图9所示实施例,在本发明的一个可选实施例中,获取数据请求包括统一资源定位符,校验参数包括地址加密字符串,判断模块903具体用于将统一资源定位符进行加密得到目标地址加密字符串;

服务器将目标地址加密字符串与地址加密字符串进行比较,若一致,则确定获取数据请求合法,若不一致,则确定获取数据请求非法。

基于图9所示实施例,在本发明的一个可选实施例中,校验参数包括版本信息,判断模块903具体用于判断版本信息是否为预定版本信息,若是,则确定获取数据请求合法,若否,则确定获取数据请求非法。

为便于理解,下面以一个具体应用场景对本发明实施例提供的终端以及服务器中各模块之间的交互进行详细说明:

终端以手机为例,在手机上打开网络应用时,网络应用的网址以http://domain/address/a/b/c?为例,在向服务器发起获取数据请求之前,令牌生成模块601可以生成随机数,例如123。令牌生成模块601还可以从url选取字符串,例如address/a/b/c,然后利用md5算法将address/a/b/c加密得到地址加密字符串,假设地址加密字符串为4u,假设版本信息为app3,地址有效时段为090910090915,表示url在9点9分10秒到9点9分15秒的时间段内有效。标识生成模块801可以生成加密标识,已加密采用1表示。令牌生成模块601获取待加密的信息包括:app3、090910090915、1、123、4u。然后令牌生成模块601将以上信息采用tea算法进行加密得到令牌信息,假设令牌信息为5wa8c。

发送模块602可以向接收模块901发送获取数据请求,获取数据请求为http://domain/address/a/b/c?token=5wa8c。如果接收模块901接收的请求为上述请求,则解密模块902可以利用tea算法解密5wa8c得到app3、090910090915、1、123、4u。如果接收模块901接收的请求不是上述请求,则解密模块902利用tea算法解密得到的参数与上述参数不同。

判断模块903可以判断app3和预设版本信息是否一致,若一致,则确定该请求合法。然后,判断模块903还可以根据当前时刻判断该请求是否合法,假设当前时刻为090914,判断模块903可以确定当前时刻在地址有效时段内,从而确定该请求合法。判断模块903还可以选取/address/a/b/c,利用md5算法获取地址加密字符串,若该地址加密字符串与4u相同,则确定该请求合法。

当判断模块903确定请求合法之后,则获取模块904根据该请求获取应用数据,应用数据以46f219a2为例,随机数序列生成模块还可以根据随机数123生成随机数序列0e234781,然后运算模块906将应用数据46f219a2与随机数序列0e234781进行异或运算得到加密数据48d15e23,然后发送模块907将加密数据发送给手机。

接收模块903接收加密数据之后,随机数序列生成模块604根据随机数123生成随机数序列0e234781,然后运算模块605将随机数序列与加密数据进行异或运算得到应用数据46f219a2,完成数据传输。

以上从功能角度对本发明实施例提供的终端以及服务器进行了介绍,下面从硬件装置的角度对本发明实施例提供的终端以及服务器进行描述:

请参阅图10,本发明提供一种用户设备(userequipment,简称ue)1000,上述实施例中由终端所执行的步骤可以基于该图10所示的ue结构。该ue可以包括:

以总线相互连接的输入装置1001、输出装置1002、至少一个处理器1003及至少一个存储器1004;其中,存储器1004可以是短暂存储或持久存储。存储在存储器1004的程序可以包括一个或一个以上模块,每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1003可以设置为与存储器1004通信,在ue1000上执行存储器1004中的一系列指令操作。

ue1000还可以包括一个或一个以上电源,一个或一个以上有线或无线网络接口,一个或一个以上输入输出接口,和/或,一个或一个以上操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

通过调用存储器存1004存储的操作指令,处理器1003用于执行如下方法:

获取随机数以及校验参数,将校验参数以及随机数进行加密得到令牌信息;

向服务器发送获取数据请求,获取数据请求包括令牌信息,令牌信息用于服务器验证获取数据请求以及加密应用数据;

接收服务器发送的加密数据;

利用随机数序列生成算法,根据随机数获取随机数序列,随机数序列的长度与加密数据的长度相同;

将随机数序列与加密数据进行异或运算得到应用数据。

在本发明的一个可选实施例中,处理器1003具体用于获取统一资源定位符,从统一资源定位符中选取目标字符串;终端将目标字符串进行加密得到地址加密字符串,将地址加密字符串作为校验参数。

在本发明的另一个可选实施例中,校验参数包括版本信息或地址有效时段中的至少一项。

在本发明的另一个可选实施例中,处理器1003还用于生成加密标识,然后将校验参数、随机数以及加密标识进行加密得到令牌信息。

图11是本发明实施例提供的一种服务器结构示意图,上述实施例中由应用服务器所执行的步骤可以基于该图11所示的服务器结构。

该服务器1100可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)1122(例如,一个或一个以上处理器)和存储器1132,一个或一个以上存储应用程序1142或数据1144的存储介质1130(例如一个或一个以上海量存储设备)。其中,存储器1132和存储介质1130可以是短暂存储或持久存储。存储在存储介质1130的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1122可以设置为与存储介质1130通信,在服务器1100上执行存储介质1130中的一系列指令操作。

服务器1100还可以包括一个或一个以上电源1126,一个或一个以上有线或无线网络接口1150,一个或一个以上输入输出接口1158,和/或,一个或一个以上操作系统1141,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

通过调用存储介质1130存储的操作指令,处理器1122用于执行如下方法:

接收终端发送的获取数据请求,获取数据请求包括令牌信息,令牌信息用于服务器验证获取数据请求以及加密应用数据;

将令牌信息解密得到校验参数以及随机数;

根据校验参数判断获取数据请求是否合法,若合法,则服务器根据获取数据请求获取应用数据;

利用随机数序列生成算法,根据随机数获取随机数序列,随机数序列的长度与应用数据的长度相同;

将随机数序列与应用数据进行异或运算,得到加密数据;

将加密数据发送给终端,使得终端根据加密数据得到应用数据。

在本发明的一个可选实施例中,获取数据请求包括统一资源定位符,校验参数包括地址加密字符串,处理器1122具体用于将统一资源定位符进行加密得到目标地址加密字符串;将目标地址加密字符串与地址加密字符串进行比较,若一致,则确定获取数据请求合法,若不一致,则确定获取数据请求非法。

在本发明的另一个可选实施例中,校验参数包括地址有效时段,处理器1122具体用于判断当前时刻是否在地址有效时段内,若是,则确定获取数据请求合法,若否,则确定获取数据请求非法。

在本发明的另一个可选实施例中,校验参数包括版本信息,处理器1122具体用于判断版本信息是否为预定版本信息,若是,则确定获取数据请求合法,若否,则确定获取数据请求非法。

在本发明所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

上述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例上述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1