CN108243176B - 数据传输方法和装置 - Google Patents
数据传输方法和装置 Download PDFInfo
- Publication number
- CN108243176B CN108243176B CN201611229476.8A CN201611229476A CN108243176B CN 108243176 B CN108243176 B CN 108243176B CN 201611229476 A CN201611229476 A CN 201611229476A CN 108243176 B CN108243176 B CN 108243176B
- Authority
- CN
- China
- Prior art keywords
- terminal
- server
- information
- client
- service
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0876—Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/088—Usage controlling of secret information, e.g. techniques for restricting cryptographic keys to pre-authorized uses, different access levels, validity of crypto-period, different key- or password length, or different strong and weak cryptographic algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/14—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms
- H04L9/16—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms the keys or algorithms being changed during operation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Power Engineering (AREA)
- Computer And Data Communications (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种数据传输方法和装置。其中,该方法包括:接收客户端向服务器发送的第一认证请求,第一认证请求中携带有第一指示信息;根据第一认证请求中的第一指示信息所指示的第一终端信息,判断终端是否为合法终端;在判断出终端为合法终端的情况下,向客户端发送第一动态密钥;接收客户端向服务器发送的第一业务请求,第一业务请求中携带有使用第一动态密钥对第一业务信息进行加密得到的第二业务信息;在判断出第一动态密钥处于第一有效期内的情况下,使用第一动态密钥对第二业务信息进行解密得到第一业务信息,并向客户端发送与第一业务信息对应的业务数据。本发明解决了相关技术中服务器的安全性较低的技术问题。
Description
技术领域
本发明涉及网络安全领域,具体而言,涉及一种数据传输方法和装置。
背景技术
现有技术中客户端进行业务请求的方法如图1所示,主要包括以下步骤:
步骤S102,客户端通过相应的接口组装数据访问服务器,向服务器发起协议请求;
步骤S104,服务器收到请求后返回相应的数据给客户端,也即返回响应包。
在该方案中,服务器不会对客户端的请求做任何处理,也即任何客户端都可以向服务器发送请求,然后通过服务器提供的接口接收响应数据,只要获取到这个接口,任何客户端都可以通过这个接口获得该服务器的响应,对于一些非法终端而言,也可以通过该接口获取到服务器响应其他终端的回包,从而影响服务器的安全性和稳定性。
针对相关技术中服务器的安全性较低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种数据传输方法和装置,以至少解决相关技术中服务器的安全性较低的技术问题。
根据本发明实施例的一个方面,提供了一种数据传输方法,包括:接收客户端向服务器发送的第一认证请求,其中,第一认证请求中携带有第一指示信息,第一指示信息至少用于指示安装有客户端的终端的第一终端信息;根据第一认证请求中的第一指示信息所指示的第一终端信息,判断终端是否为合法终端;在判断出终端为合法终端的情况下,向客户端发送第一动态密钥,其中,第一动态密钥的有效期为第一有效期;接收客户端向服务器发送的第一业务请求,其中,第一业务请求中携带有使用第一动态密钥对第一业务信息进行加密得到的第二业务信息;在判断出第一动态密钥处于第一有效期内的情况下,使用第一动态密钥对第二业务信息进行解密得到第一业务信息,并向客户端发送与第一业务信息对应的业务数据。
根据本发明实施例的另一方面,还提供了一种数据传输方法,包括:向服务器发送第一认证请求,其中,第一认证请求中携带有第一指示信息,第一指示信息至少用于指示安装有客户端的终端的第一终端信息;接收服务器在根据第一终端信息判断出终端为合法终端之后向客户端发送的第一动态密钥,其中,第一动态密钥的有效期为第一有效期;向服务器发送第一业务请求,其中,第一业务请求中携带有使用第一动态密钥对第一业务信息进行加密得到的第二业务信息;在第一动态密钥处于第一有效期内的情况下,接收服务器向客户端发送的与第一业务信息对应的业务数据。
根据本发明实施例的一个方面,提供了一种数据传输装置,包括:第一接收单元,用于接收客户端向服务器发送的第一认证请求,其中,第一认证请求中携带有第一指示信息,第一指示信息至少用于指示安装有客户端的终端的第一终端信息;判断单元,用于根据第一认证请求中的第一指示信息所指示的第一终端信息,判断终端是否为合法终端;第一发送单元,用于在判断出终端为合法终端的情况下,向客户端发送第一动态密钥,其中,第一动态密钥的有效期为第一有效期;第二接收单元,用于接收客户端向服务器发送的第一业务请求,其中,第一业务请求中携带有使用第一动态密钥对第一业务信息进行加密得到的第二业务信息;处理单元,用于在判断出第一动态密钥处于第一有效期内的情况下,使用第一动态密钥对第二业务信息进行解密得到第一业务信息,并向客户端发送与第一业务信息对应的业务数据。
根据本发明实施例的一个方面,还提供了一种数据传输装置,包括:第二发送单元,用于向服务器发送第一认证请求,其中,第一认证请求中携带有第一指示信息,第一指示信息至少用于指示安装有客户端的终端的第一终端信息;第三接收单元,用于接收服务器在根据第一终端信息判断出终端为合法终端之后向客户端发送的第一动态密钥,其中,第一动态密钥的有效期为第一有效期;第三发送单元,用于向服务器发送第一业务请求,其中,第一业务请求中携带有使用第一动态密钥对第一业务信息进行加密得到的第二业务信息;第四接收单元,用于在第一动态密钥处于第一有效期内的情况下,接收服务器向客户端发送的与第一业务信息对应的业务数据。
在本发明实施例中,在客户端与服务器进行业务通讯的过程中,服务器根据客户端的第一认证请求中的第一指示信息所指示的第一终端信息判断终端是否为合法终端,如果合法则向客户端发送第一动态密钥,在客户端后续发起第一业务请求的过程中对业务信息进行加密,服务器通过动态密钥来判断终端是否合法,如果没有上述的动态密钥则不能解密相关的数据,可以解决了相关技术中服务器的安全性较低的技术问题,进而达到提高服务器的安全性的技术效果。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是相关技术中的一种可选的数据传输方法的流程图
图2是根据本发明实施例的数据传输方法的硬件环境的示意图;
图3是根据本发明实施例的一种可选的数据传输方法的流程图;
图4是根据本发明实施例的一种可选的数据传输方法的流程图;
图5是根据本发明实施例的一种可选的数据传输方法的流程图;
图6是根据本发明实施例的一种可选的数据传输方法的流程图;
图7是根据本发明实施例的一种可选的数据传输装置的示意图;
图8是根据本发明实施例的一种可选的数据传输装置的示意图;以及
图9是根据本发明实施例的一种终端的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本发明实施例进行描述的过程中出现的部分名词或者术语适用于如下解释:
认证:对数据进行合法性校验。
抓包:截获网络请求数据包。
刷量:重复性地通过某种手段使某些产品的下载、曝光、销售、信息的数据上升。
动态票据信息:有某种含义的一串密码。
回包:服务器返回给客户端的网络数据包。
重放:用截获的网络请求数据包不停的向某个服务器发起请求。
实施例1
根据本发明实施例,提供了一种数据传输方法的方法实施例。
可选地,在本实施例中,上述数据传输方法可以应用于如图2所示的由服务器202和终端204所构成的硬件环境中。如图2所示,服务器202通过网络与终端204进行连接,上述网络包括但不限于:广域网、城域网或局域网,终端204并不限定于PC、手机、平板电脑等。本发明实施例的数据传输方法可以由服务器202来执行,也可以由终端204来执行,还可以是由服务器202和终端204共同执行。其中,终端204执行本发明实施例的数据传输方法也可以是由安装在其上的客户端来执行。
图3是根据本发明实施例的一种可选的数据传输方法的流程图,如图3所示,该方法可以包括以下步骤:
步骤S302,接收客户端向服务器发送的第一认证请求,第一认证请求中携带有第一指示信息,第一指示信息至少用于指示安装有客户端的终端的第一终端信息;
步骤S304,根据第一认证请求中的第一指示信息所指示的第一终端信息,判断终端是否为合法终端;
步骤S306,在判断出终端为合法终端的情况下,向客户端发送第一动态密钥,第一动态密钥的有效期为第一有效期;
步骤S308,接收客户端向服务器发送的第一业务请求,第一业务请求中携带有使用第一动态密钥对第一业务信息进行加密得到的第二业务信息;
步骤S310,在判断出第一动态密钥处于第一有效期内的情况下,使用第一动态密钥对第二业务信息进行解密得到第一业务信息,并向客户端发送与第一业务信息对应的业务数据。
通过上述步骤S302至步骤S310,在客户端与服务器进行业务通讯的过程中,服务器根据客户端的第一认证请求中的第一指示信息所指示的第一终端信息判断终端是否为合法终端,如果合法则向客户端发送第一动态密钥,在客户端后续发起第一业务请求的过程中对业务信息进行加密,服务器通过动态密钥来判断终端是否合法,如果没有上述的动态密钥则不能解密相关的数据,可以解决了相关技术中服务器的安全性较低的技术问题,进而达到提高服务器的安全性的技术效果。
上述的客户端为具备业务功能的客户端,该客户端存在的形式包括但不局限于应用、HTML;上述的认证请求为用于认证客户端所在终端的合法性;上述的指示信息为用于唯一标识该终端的信息;上述的动态密钥用于客户端与服务器之间通讯时加解密;上述的业务请求用于请求业务信息。
上述实施例中的方法可以应用于服务器侧,具体可以应用在用于处理请求的后台上,该后台可以独立于服务器侧存在、或者集成在服务器上。
在本申请的技术方案中,客户端和服务器之间可相互进行安全认证,采用先认证后通信的方式,服务器只针对认证过的客户端进行数据通信,有效过滤可能影响服务器稳定性的攻击性请求和刷量请求,保证服务器的安全稳定,同时认证策略中采用定时更新认证的动态票据(即动态密钥),防止某个有效请求被抓包后重放。
采用本申请的技术方案,客户端协议不容易被重放,可避免服务器被攻击的风险(即重放攻击),且由于加密算法可以改变,因此可以避免加密算法一旦被破解或者密钥泄露,服务器数据将彻底外泄的危险。下面结合图3详述本申请的实施例:
在步骤S302提供的技术方案中,接收客户端向服务器发送的第一认证请求包括:接收客户端向服务器发送的第一认证请求和第三业务请求。也即客户端在请求验证的时候可以同时发送第三业务请求来获取相应的业务数据。
在该实施例中,若终端是第一次向该服务器发起请求和认证,那么服务器可直接返回客户端所请求的业务数据。
可选地,第一指示信息是终端使用服务器的公钥对第一终端信息、终端所使用的网络的网络信息以及随机数进行加密得到的指示信息,在接收客户端向服务器发送的第一认证请求之后、且在根据第一认证请求中的第一指示信息所指示的第一终端信息,判断终端是否为合法终端之前,服务器使用服务器的私钥对第一指示信息进行解密,得到第一终端信息、网络信息以及随机数。
在步骤S304提供的技术方案中,根据第一认证请求中的第一指示信息所指示的第一终端信息,判断终端是否为合法终端可以通过如下的方式实现:查找与第一终端信息具有关联关系的预先记录的终端的历史请求信息,终端的历史请求信息至少用于指示终端在预定时间段内发送的业务请求的次数;在终端的历史请求信息指示的终端在预定时间段内发送的业务请求的次数未超过预定阈值时,判断出终端为合法终端。
上述的阈值为用于判断是否为合法终端的数值,该阈值可以为用于判断是否为刷量行为的数值,也即如果超过了这个阈值就可判断出终端的行为为刷量行为,即非法终端。
可选地,在根据第一认证请求中的第一指示信息所指示的第一终端信息,判断终端是否为合法终端时,可以查询预设数据库,该数据库中保存有非法终端的终端信息,若查询结果表明第一终端信息不在预设数据库内,则确定该终端是合法终端。
在步骤S306提供的技术方案中,第一指示信息还用于指示随机数,其中,向客户端发送第一动态密钥包括:向客户端发送第一动态密钥和随机数,随机数用于客户端对服务器进行认证。
上述的随机数为携带于第一认证请求中终端生成的随机数。在向终端返回第一动态密钥时,同时携带该随机数,便于终端通过该随机数判断发送方是否合法,因为只有接收到终端的第一认证请求的服务器才知道该随机数,如果终端接收到的信息包括该随机数,则说明是合法的服务器向自己发送的信息。
需要说明的是,在接收客户端向服务器发送的第一业务请求之后,在判断出第一动态密钥不处于第一有效期内的情况下,向客户端发送第二指示信息,第二指示信息用于指示第一动态密钥不处于第一有效期内,以提示用户需要进行重新认证;然后接收客户端向服务器发送的第二认证请求,其中,第二认证请求中携带有第三指示信息,第三指示信息用于指示安装有客户端的终端的第二终端信息;根据第二认证请求中的第三指示信息所指示的第二终端信息,判断终端是否为合法终端;在判断出终端为合法终端的情况下,向客户端发送第二动态密钥,其中,第二动态密钥的有效期为第二有效期;接收客户端向服务器发送的第二业务请求,其中,第二业务请求中携带有使用第二动态密钥对第一业务信息进行加密得到的第三业务信息;在判断出第二动态密钥处于第二有效期内的情况下,使用第二动态密钥对第三业务信息进行解密得到第一业务信息,并向客户端发送与第一业务信息对应的业务数据。
可选地,在向客户端发送第一动态密钥之前或之后,在服务器侧建立第一终端信息、网络信息、随机数以及第一动态密钥之间的关联关系,这样,就可以对终端的合法性、密钥的有效性进行验证了。
上述的向客户端发送第一动态密钥包括:向客户端发送第一动态密钥和与第三业务请求对应的业务数据。
在步骤S308提供的技术方案中,接收客户端向服务器发送的第一业务请求,第一业务请求中携带有使用第一动态密钥对第一业务信息进行加密得到的第二业务信息、会话信息等信息。
在步骤S310提供的技术方案中,在判断出第一动态密钥处于第一有效期内的情况下,使用第一动态密钥对第二业务信息进行解密得到第一业务信息,例如该第一业务信息可以为用于具体所请求的业务数据的信息,服务器向客户端发送与第一业务信息对应的业务数据。
根据本发明实施例,还提供了一种数据传输方法的方法实施例。图4是根据本发明实施例的一种可选的数据传输方法的流程图,如图4所示,该方法可以包括以下步骤:
步骤S402,向服务器发送第一认证请求,第一认证请求中携带有第一指示信息,第一指示信息至少用于指示安装有客户端的终端的第一终端信息;
步骤S404,接收服务器在根据第一终端信息判断出终端为合法终端之后向客户端发送的第一动态密钥,第一动态密钥的有效期为第一有效期;
步骤S406,向服务器发送第一业务请求,第一业务请求中携带有使用第一动态密钥对第一业务信息进行加密得到的第二业务信息;
步骤S408,在第一动态密钥处于第一有效期内的情况下,接收服务器向客户端发送的与第一业务信息对应的业务数据。
通过上述步骤S402至步骤S408,在客户端与服务器进行业务通讯的过程中,服务器根据客户端的第一认证请求中的第一指示信息所指示的第一终端信息判断终端是否为合法终端,如果合法则向客户端发送第一动态密钥,在客户端后续发起第一业务请求的过程中对业务信息进行加密,服务器通过动态密钥来判断终端是否合法,如果没有上述的动态密钥则不能解密相关的数据,可以解决了相关技术中服务器的安全性较低的技术问题,进而达到提高服务器的安全性的技术效果。
上述的客户端为具备业务功能的客户端,该客户端存在的形式包括但不局限于应用、HTML;上述的认证请求为用于认证客户端所在终端的合法性;上述的指示信息为用于唯一标识该终端的信息;上述的动态密钥用于客户端与服务器之间通讯时加解密;上述的业务请求用于请求业务信息。
上述实施例中的方法可以应用于终端侧,具体可以应用在客户端上或者客户端所在的终端上。
在步骤S402提供的技术方案中,在向服务器发送第一认证请求之前,使用服务器的公钥对第一终端信息、终端所使用的网络的网络信息以及随机数进行加密,得到第一指示信息,这样就只有该服务器能够使用其私钥解密该第一指示信息,增强通讯的安全性。
可选地,认证请求和业务请求可以同时发起,即在向服务器发送第一认证请求时,可向服务器发送第一认证请求和第三业务请求。
在步骤S404提供的技术方案中,第一指示信息还用于指示第一随机数,接收服务器向客户端发送的第一动态密钥包括:接收服务器向客户端发送的第一动态密钥和第二随机数;判断第一随机数与第二随机数是否相同;在判断出第一随机数与第二随机数相同的情况下,确定服务器为合法服务器。
可选地,接收服务器向客户端发送的第一动态密钥包括:接收服务器向客户端发送的第一动态密钥和与第三业务请求对应的业务数据。
可选地,在接收服务器向客户端发送的第一动态密钥之后,可通过预定文件将第一动态密钥存储在内存中,其中,预定文件不允许通过反编译的方式查看。
上述的预定文件为安全性较高的文件,例如动态链接库文件(如“.so”文件)。
在步骤S406提供的技术方案中,向服务器发送第一业务请求包括:在确定服务器为合法服务器的情况下,向服务器发送第一业务请求。
可选地,在向服务器发送第一业务请求之后,接收服务器向客户端发送的第二指示信息,其中,第二指示信息用于指示第一动态密钥不处于第一有效期内;向服务器发送第二认证请求,其中,第二认证请求中携带有第三指示信息,第三指示信息用于指示安装有客户端的终端的第二终端信息;接收服务器在根据第二终端信息判断出终端为合法终端之后向客户端发送的第二动态密钥,其中,第二动态密钥的有效期为第二有效期;向服务器发送第二业务请求,其中,第二业务请求中携带有使用第二动态密钥对第一业务信息进行加密得到的第三业务信息;在第二动态密钥处于第二有效期内的情况下,接收服务器向客户端发送的与第一业务信息对应的业务数据。
在相关技术中,经过会由于重放攻击影响服务的安全性,重放攻击(ReplayAttacks)又称重播攻击、回放攻击或新鲜性攻击(Freshness Attacks),是指攻击者发送一个目的主机已接收过的包,特别是在认证的过程中,用于认证用户身份所接收的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的安全性。
本申请的技术方案适用于客户端与服务器之间无强用户体系形式的构架应用,其最大的优势在于有效防止刷量和垃圾请求对服务器的攻击,提高服务器的安全性和稳定性。比如淘宝某个产品被刷量,通过这个方案,可以大大提高刷量的门槛。
下面结合图5详述本申请的技术方案。
步骤S502,终端生成认证请求和业务请求。
终端上的客户端生成客户端会话数据,获取终端的设备信息和网络信息,获取认证数据,并根据上述信息生成认证请求和业务请求。
步骤S504,发送认证请求和业务请求给后台。
客户端向服务器同时发起认证请求和业务请求,将相关的客户端信息(包括设备信息、网络信息、随机数)携带于认证信息中按一定顺序排序并加密,同时业务数据请求同时发送,客户端会按照一定的规则生成随机串,并使用随机串加密数据,如使用后台的公钥进行加密。
例如,设备信息提取为字符串“aaa”,网络信息提取为“bbb”,认证随机数为提取为“ccc”,在发送时把这些信息合并为“aaa;bbb;ccc”。对这个“aaa;bbb;ccc”加密,生成密文“111;222;333”发给后台。
步骤S506,根据认证请求进行云端认证。
后台处理认证请求,比如刚刚收到的密文“111;222;333”,利用自己的私钥解密后得到“aaa;bbb;ccc”;解析这段字符串,知道该终端设备信息为aaa,网络信息bbb,随机数为ccc;后台对该终端信息进行合法性验证(比如该设备之前是否有刷量行为,有的话则为非法用户),如何判断出为合法行为则认证通过。
步骤S508,认证信息响应。
在步骤S506中验证合法性通过后,执行如下操作:生成服务器会话标识,保存客户端和服务器端的对应关系,签名会话数据(也即动态票据或者动态秘钥)、处理业务请求;另外后台会保存随机串和动态票据的对应关系。
步骤S510,进行认证信息响应,后台返回随机数和签名会话数据(也即动态票据或者动态密钥)给客户端。
后台将收到的随机数“ccc”,自己生成的唯一的动态票据“dddd”,返回给客户端;客户端拿到的这个动态票据“dddd”有时效性,一段时间后如果该时效性过期,则客户端需要重新发起认证请求,重新获取动态票据,然后才能执行步骤S512。
需要说明的是,终端在接收到返回的数据中,会查看数据中的随机数是否为自己请求时所使用的随机数,即对数据的发送端进行验证,判断是否是接收到自己的请求的发送端所发送的数据,若数据中携带的随机数是自己请求时所使用的随机数,则说明该数据是合法的。
步骤S512,客户端生成业务请求。
客户端拿到动态票据“dddd”后,就可以使用“dddd”作为密匙对客户端请求进行加密,加密后将请求发送给后台。
步骤S514,向后台发起业务请求,请求中携带有会话标识。
步骤S516,处理业务请求。
后台可以获取到认证服务器针对每个客户端下发的动态票据信息,在收到客户端请求后,通过相应的动态票据(“dddd”)信息解密请求,获取客户端信息和业务信息并校验请求的合法性(比如请求是否过时,是否是被重放的),校验通过后处理业务信息。
步骤S518,返回数据回包。
校验通过后,后台对客户端请求业务进行数据处理,生成响应请求的数据回包(也即响应包),然后将数据回包使用这个客户端对应的动态票据“dddd”作为密匙进行加密,返回给客户端。
需要说明的是,上述的动态票据既是加密密钥也是解密密钥。
步骤S520,解密回包。
客户端使用自己的动态票据“dddd”解密回包,并校验签名的真实性,处理相应的业务逻辑流程结束,如果一段时间后客户端发现自己的动态票据“dddd”过期了,就重新进行认证验证。
上述的后台可以应用于服务器和客户端之间,也可以和服务器集成在一起,下面以前者为例结合图6进行详述。
步骤S602,客户端发起业务请求和认证请求。
在发送的过程中需要使用服务器的公钥进行加密,这样只有该服务器使用自己的私钥才能解密,以实现对服务器的验证。
步骤S604,接入层(也即后台)接收到业务请求和认证请求后,向认证服务器发送认证请求。
后台接收到上述请求之后,判断请求的类型,并发送到对应的服务器进行处理。如将业务请求发送至业务服务器,将认证请求发送到验证服务器。
步骤S606,后台接收认证服务器返回的认证信息。
认证服务器接收到请求之后,生成对应的动态密钥,并携带该终端的随机数进行返回,以在后续的通讯过程中通过该动态秘钥进行加解密。
同时,在认证服务器中建立终端与所使用的动态秘钥之间的关联关系,这样在终端下次发起请求时可以对其进行有效认证,并判断对应的动态密钥是否过期。
步骤S608,向业务服务器发送业务请求。
步骤S610,后台接收业务服务器返回的业务信息。
在终端第一次请求业务信息时,可以直接返回给终端所需要的业务数据,但是在下一次业务请求时,也即只要是向服务器发起过业务请求的均需要使用动态秘钥加密业务请求后再发送,避免非法请求。
步骤S612,后台向客户端返回认证信息和业务信息。
可选地,可不区分认证服务器和业务服务器,而是一个服务器的两个功能模块分别实现认证功能和业务功能,或者使用多个认证服务器多个业务服务器来对不同业务进行分别认证和业务响应。
在本申请的实施例中,客户端有四个辅助手段来提高安全性:1、每一次启动客户端从服务器获取到动态票据信息后,不会存储在本地,而是保存动态链接库文件(如“.so”文件)在内存中,防止被其他人获取;2、该动态票据信息有时效性,一旦动态票据信息过期后,客户端需要重新向认证服务器发起认证请求来获取新的动态票据信息,防止某个请求被无限制重放;3、客户端和服务器端进行双向认证和完整性校验,防止劫持、串改等攻击,如初始时通过后台的密钥对(包括公钥和私钥进行认证)、通过终端的随机数进行认证;通讯时通过动态密钥进行认证;4、在后台,不同的会话间的数据隔离,增加安全性。
可选地,动态票据信息也可以加密后保存在本地,动态票据信息的有效性也可保持到应用重新启动。
在本申请的实施例中,该方案流程安全性主要集中在:1、动态票据信息定时更新,即使某个动态票据信息被破解,过一段时间后该动态票据信息也会自动过期失效;2、动态票据信息的计算方法可以动态调整;一旦发现旧的动态票据信息计算方法被破解,可以直接在认证服务器上发布新的动态票据信息计算方法,及时修复线上问题。
本申请的技术方案适用于客户端和服务器形式的构架应用,其最大的优势在于有效防止刷量和垃圾请求对服务器的攻击,提高服务器安全性。安全性体现在:动态票据信息定时更新,动态更新票据的策略,防止动态票据信息被截取。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述数据传输方法的数据传输装置。图7是根据本发明实施例的一种可选的数据传输装置的示意图,如图7所示,该装置可以包括:第一接收单元702、判断单元704、第一发送单元706、第二接收单元708以及处理单元710。
第一接收单元702,用于接收客户端向服务器发送的第一认证请求,其中,第一认证请求中携带有第一指示信息,第一指示信息至少用于指示安装有客户端的终端的第一终端信息;
判断单元704,用于根据第一认证请求中的第一指示信息所指示的第一终端信息,判断终端是否为合法终端;
第一发送单元706,用于在判断出终端为合法终端的情况下,向客户端发送第一动态密钥,其中,第一动态密钥的有效期为第一有效期;
第二接收单元708,用于接收客户端向服务器发送的第一业务请求,其中,第一业务请求中携带有使用第一动态密钥对第一业务信息进行加密得到的第二业务信息;
处理单元710,用于在判断出第一动态密钥处于第一有效期内的情况下,使用第一动态密钥对第二业务信息进行解密得到第一业务信息,并向客户端发送与第一业务信息对应的业务数据。
需要说明的是,该实施例中的第一接收单元702可以用于执行本申请实施例1中的步骤S302,该实施例中的判断单元704可以用于执行本申请实施例1中的步骤S304,该实施例中的第一发送单元706可以用于执行本申请实施例1中的步骤S306,该实施例中的第二接收单元708可以用于执行本申请实施例1中的步骤S308,该实施例中的处理单元710可以用于执行本申请实施例1中的步骤S310。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图2所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,在客户端与服务器进行业务通讯的过程中,服务器根据客户端的第一认证请求中的第一指示信息所指示的第一终端信息判断终端是否为合法终端,如果合法则向客户端发送第一动态密钥,在客户端后续发起第一业务请求的过程中对业务信息进行加密,服务器通过动态密钥来判断终端是否合法,如果没有上述的动态密钥则不能解密相关的数据,可以解决了相关技术中服务器的安全性较低的技术问题,进而达到提高服务器的安全性的技术效果。
可选地,第一发送单元还用于向客户端发送第一动态密钥和随机数,其中,随机数用于客户端对服务器进行认证。
可选地,第二接收单元还用于在接收客户端向服务器发送的第一业务请求之后,在判断出第一动态密钥不处于第一有效期内的情况下,向客户端发送第二指示信息,其中,第二指示信息用于指示第一动态密钥不处于第一有效期内;接收客户端向服务器发送的第二认证请求,其中,第二认证请求中携带有第三指示信息,第三指示信息用于指示安装有客户端的终端的第二终端信息;根据第二认证请求中的第三指示信息所指示的第二终端信息,判断终端是否为合法终端;在判断出终端为合法终端的情况下,向客户端发送第二动态密钥,其中,第二动态密钥的有效期为第二有效期;接收客户端向服务器发送的第二业务请求,其中,第二业务请求中携带有使用第二动态密钥对第一业务信息进行加密得到的第三业务信息;在判断出第二动态密钥处于第二有效期内的情况下,使用第二动态密钥对第三业务信息进行解密得到第一业务信息,并向客户端发送与第一业务信息对应的业务数据。
可选地,判断单元还用于查找与第一终端信息具有关联关系的预先记录的终端的历史请求信息,其中,终端的历史请求信息至少用于指示终端在预定时间段内发送的业务请求的次数;在终端的历史请求信息指示的终端在预定时间段内发送的业务请求的次数未超过预定阈值时,判断出终端为合法终端。
可选地,第一接收单元还用于接收客户端向服务器发送的第一认证请求和第三业务请求;在接收客户端向服务器发送的第一认证请求之后、且在根据第一认证请求中的第一指示信息所指示的第一终端信息,判断终端是否为合法终端之前,方法还包括:使用服务器的私钥对第一指示信息进行解密,得到第一终端信息、网络信息以及随机数。
可选地,第一发送单元还用于向客户端发送第一动态密钥和与第三业务请求对应的业务数据;在向客户端发送第一动态密钥之前或之后,在第一终端信息、网络信息、随机数以及第一动态密钥之间建立关联关系。
作为一种可选的实施例,根据本发明实施例,还提供了一种用于实施上述数据传输方法的数据传输装置。图8是根据本发明实施例的一种可选的数据传输装置的示意图,如图8所示,该装置可以包括:第二发送单元802、第三接收单元804、第三发送单元806以及第四接收单元808。
第二发送单元802,用于向服务器发送第一认证请求,其中,第一认证请求中携带有第一指示信息,第一指示信息至少用于指示安装有客户端的终端的第一终端信息;
第三接收单元804,用于接收服务器在根据第一终端信息判断出终端为合法终端之后向客户端发送的第一动态密钥,其中,第一动态密钥的有效期为第一有效期;
第三发送单元806,用于向服务器发送第一业务请求,其中,第一业务请求中携带有使用第一动态密钥对第一业务信息进行加密得到的第二业务信息;
第四接收单元808,用于在第一动态密钥处于第一有效期内的情况下,接收服务器向客户端发送的与第一业务信息对应的业务数据。
需要说明的是,该实施例中的第二发送单元802可以用于执行本申请实施例1中的步骤S402,该实施例中的第三接收单元804可以用于执行本申请实施例1中的步骤S404,该实施例中的第三发送单元806可以用于执行本申请实施例1中的步骤S406,该实施例中的第四接收单元808可以用于执行本申请实施例1中的步骤S408。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图2所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
通过上述模块,在客户端与服务器进行业务通讯的过程中,服务器根据客户端的第一认证请求中的第一指示信息所指示的第一终端信息判断终端是否为合法终端,如果合法则向客户端发送第一动态密钥,在客户端后续发起第一业务请求的过程中对业务信息进行加密,服务器通过动态密钥来判断终端是否合法,如果没有上述的动态密钥则不能解密相关的数据,可以解决了相关技术中服务器的安全性较低的技术问题,进而达到提高服务器的安全性的技术效果。
可选地,第一指示信息还用于指示第一随机数,第三接收单元还用于接收服务器向客户端发送的第一动态密钥和第二随机数;判断第一随机数与第二随机数是否相同;在判断出第一随机数与第二随机数相同的情况下,确定服务器为合法服务器;第三发送单元还用于在确定服务器为合法服务器的情况下,向服务器发送第一业务请求。
可选地,第三接收单元还用于在接收服务器向客户端发送的第一动态密钥之后,通过预定文件将第一动态密钥存储在内存中,其中,预定文件不允许通过反编译的方式查看。
可选地,第三发送单元还用于在确定服务器为合法服务器的情况下,向服务器发送第一业务请求。
可选地,第三发送单元还用于在向服务器发送第一业务请求之后,接收服务器向客户端发送的第二指示信息,其中,第二指示信息用于指示第一动态密钥不处于第一有效期内;向服务器发送第二认证请求,其中,第二认证请求中携带有第三指示信息,第三指示信息用于指示安装有客户端的终端的第二终端信息;接收服务器在根据第二终端信息判断出终端为合法终端之后向客户端发送的第二动态密钥,其中,第二动态密钥的有效期为第二有效期;向服务器发送第二业务请求,其中,第二业务请求中携带有使用第二动态密钥对第一业务信息进行加密得到的第三业务信息;在第二动态密钥处于第二有效期内的情况下,接收服务器向客户端发送的与第一业务信息对应的业务数据。
可选地,第二发送单元还用于向服务器发送第一认证请求和第三业务请求。
可选地,第三接收单元还用于接收服务器向客户端发送的第一动态密钥和与第三业务请求对应的业务数据。
可选地,第二发送单元还用于使用服务器的公钥对第一终端信息、终端所使用的网络的网络信息以及随机数进行加密,得到第一指示信息。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图2所示的硬件环境中,可以通过软件实现,也可以通过硬件实现,其中,硬件环境包括网络环境。
实施例3
根据本发明实施例,还提供了一种用于实施上述数据传输方法的服务器或终端。
图9是根据本发明实施例的一种终端的结构框图,如图9所示,该终端可以包括:一个或多个(图中仅示出一个)处理器901、存储器903、以及传输装置905(如上述实施例中的发送装置),如图9所示,该终端还可以包括输入输出设备907。
其中,存储器903可用于存储软件程序以及模块,如本发明实施例中的数据传输方法和装置对应的程序指令/模块,处理器901通过运行存储在存储器903内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据传输方法。存储器903可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器903可进一步包括相对于处理器901远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
上述的传输装置905用于经由一个网络接收或者发送数据,还可以用于处理器与存储器之间的数据传输。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输装置905包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输装置905为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
其中,具体地,存储器903用于存储应用程序。
处理器901可以通过传输装置905调用存储器903存储的应用程序,以执行下述步骤:接收客户端向服务器发送的第一认证请求,其中,第一认证请求中携带有第一指示信息,第一指示信息至少用于指示安装有客户端的终端的第一终端信息;根据第一认证请求中的第一指示信息所指示的第一终端信息,判断终端是否为合法终端;在判断出终端为合法终端的情况下,向客户端发送第一动态密钥,其中,第一动态密钥的有效期为第一有效期;接收客户端向服务器发送的第一业务请求,其中,第一业务请求中携带有使用第一动态密钥对第一业务信息进行加密得到的第二业务信息;在判断出第一动态密钥处于第一有效期内的情况下,使用第一动态密钥对第二业务信息进行解密得到第一业务信息,并向客户端发送与第一业务信息对应的业务数据。
处理器901还用于执行下述步骤:向服务器发送第一认证请求,其中,第一认证请求中携带有第一指示信息,第一指示信息至少用于指示安装有客户端的终端的第一终端信息;接收服务器在根据第一终端信息判断出终端为合法终端之后向客户端发送的第一动态密钥,其中,第一动态密钥的有效期为第一有效期;向服务器发送第一业务请求,其中,第一业务请求中携带有使用第一动态密钥对第一业务信息进行加密得到的第二业务信息;在第一动态密钥处于第一有效期内的情况下,接收服务器向客户端发送的与第一业务信息对应的业务数据。
采用本发明实施例,在客户端与服务器进行业务通讯的过程中,服务器根据客户端的第一认证请求中的第一指示信息所指示的第一终端信息判断终端是否为合法终端,如果合法则向所述客户端发送第一动态密钥,在客户端后续发起第一业务请求的过程中对业务信息进行加密,服务器通过动态密钥来判断终端是否合法,如果没有上述的动态密钥则不能解密相关的数据,可以解决了相关技术中服务器的安全性较低的技术问题,进而达到提高服务器的安全性的技术效果。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
本领域普通技术人员可以理解,图9所示的结构仅为示意,终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图9其并不对上述电子装置的结构造成限定。例如,终端还可包括比图9中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图9所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例4
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于执行数据传输方法的程序代码。
可选地,在本实施例中,上述存储介质可以位于上述实施例所示的网络中的多个网络设备中的至少一个网络设备上。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:
S11,接收客户端向服务器发送的第一认证请求,其中,第一认证请求中携带有第一指示信息,第一指示信息至少用于指示安装有客户端的终端的第一终端信息;
S12,根据第一认证请求中的第一指示信息所指示的第一终端信息,判断终端是否为合法终端;
S13,在判断出终端为合法终端的情况下,向客户端发送第一动态密钥,其中,第一动态密钥的有效期为第一有效期;
S14,接收客户端向服务器发送的第一业务请求,其中,第一业务请求中携带有使用第一动态密钥对第一业务信息进行加密得到的第二业务信息;
S15,在判断出第一动态密钥处于第一有效期内的情况下,使用第一动态密钥对第二业务信息进行解密得到第一业务信息,并向客户端发送与第一业务信息对应的业务数据。
可选地,存储介质还被设置为存储用于执行以下步骤的程序代码:
S21,向服务器发送第一认证请求,其中,第一认证请求中携带有第一指示信息,第一指示信息至少用于指示安装有客户端的终端的第一终端信息;
S22,接收服务器在根据第一终端信息判断出终端为合法终端之后向客户端发送的第一动态密钥,其中,第一动态密钥的有效期为第一有效期;
S23,向服务器发送第一业务请求,其中,第一业务请求中携带有使用第一动态密钥对第一业务信息进行加密得到的第二业务信息;
S24,在第一动态密钥处于第一有效期内的情况下,接收服务器向客户端发送的与第一业务信息对应的业务数据。
可选地,本实施例中的具体示例可以参考上述实施例1和实施例2中所描述的示例,本实施例在此不再赘述。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
上述实施例中的集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在上述计算机可读取的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在存储介质中,包括若干指令用以使得一台或多台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (15)
1.一种数据传输方法,其特征在于,包括:
接收客户端向服务器发送的第一认证请求,其中,所述第一认证请求中携带有第一指示信息,所述第一指示信息至少用于指示安装有所述客户端的终端的第一终端信息;所述接收客户端向服务器发送的第一认证请求包括:接收所述客户端同时向所述服务器发送的所述第一认证请求和第三业务请求;
根据所述第一认证请求中的所述第一指示信息所指示的第一终端信息,判断所述终端是否为合法终端;所述根据所述第一认证请求中的所述第一指示信息所指示的第一终端信息,判断所述终端是否为合法终端包括:查找与所述第一终端信息具有关联关系的预先记录的所述终端的历史请求信息,其中,所述终端的历史请求信息至少用于指示所述终端在预定时间段内发送的业务请求的次数;在所述终端的历史请求信息指示的所述终端在预定时间段内发送的业务请求的次数未超过预定阈值时,判断出所述终端为合法终端;
在判断出所述终端为所述合法终端的情况下,向所述客户端发送第一动态密钥,其中,所述第一动态密钥的有效期为第一有效期;所述向所述客户端发送第一动态密钥包括:向所述客户端发送所述第一动态密钥和与所述第三业务请求对应的业务数据;其中,所述第一动态密钥通过预定文件存储在所述终端的内存中,所述预定文件不允许通过反编译的方式查看;
接收所述客户端向所述服务器发送的第一业务请求,其中,所述第一业务请求中携带有使用所述第一动态密钥对第一业务信息进行加密得到的第二业务信息;
在判断出所述第一动态密钥处于所述第一有效期内的情况下,使用所述第一动态密钥对所述第二业务信息进行解密得到所述第一业务信息,并向所述客户端发送与所述第一业务信息对应的业务数据。
2.根据权利要求1所述的方法,其特征在于,所述第一指示信息还用于指示随机数,其中,所述向所述客户端发送第一动态密钥包括:
向所述客户端发送所述第一动态密钥和所述随机数,其中,所述随机数用于所述客户端对所述服务器进行认证。
3.根据权利要求1所述的方法,其特征在于,在所述接收所述客户端向所述服务器发送的第一业务请求之后,所述方法还包括:
在判断出所述第一动态密钥不处于所述第一有效期内的情况下,向所述客户端发送第二指示信息,其中,所述第二指示信息用于指示所述第一动态密钥不处于所述第一有效期内;
接收所述客户端向所述服务器发送的第二认证请求,其中,所述第二认证请求中携带有第三指示信息,所述第三指示信息用于指示安装有所述客户端的终端的第二终端信息;
根据所述第二认证请求中的所述第三指示信息所指示的第二终端信息,判断所述终端是否为合法终端;
在判断出所述终端为所述合法终端的情况下,向所述客户端发送第二动态密钥,其中,所述第二动态密钥的有效期为第二有效期;
接收所述客户端向所述服务器发送的第二业务请求,其中,所述第二业务请求中携带有使用所述第二动态密钥对所述第一业务信息进行加密得到的第三业务信息;
在判断出所述第二动态密钥处于所述第二有效期内的情况下,使用所述第二动态密钥对所述第三业务信息进行解密得到所述第一业务信息,并向所述客户端发送与所述第一业务信息对应的业务数据。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述第一指示信息是使用所述服务器的公钥对所述第一终端信息、所述终端所使用的网络的网络信息以及随机数进行加密得到的指示信息,其中,
在接收客户端向服务器发送的第一认证请求之后、且在根据所述第一认证请求中的所述第一指示信息所指示的第一终端信息,判断所述终端是否为合法终端之前,所述方法还包括:使用所述服务器的私钥对所述第一指示信息进行解密,得到所述第一终端信息、所述网络信息以及所述随机数;
在向所述客户端发送第一动态密钥之前或之后,所述方法还包括:在所述第一终端信息、所述网络信息、所述随机数以及所述第一动态密钥之间建立关联关系。
5.一种数据传输方法,其特征在于,包括:
向服务器发送第一认证请求,其中,所述第一认证请求中携带有第一指示信息,所述第一指示信息至少用于指示安装有客户端的终端的第一终端信息;所述向服务器发送第一认证请求包括:同时向所述服务器发送所述第一认证请求和第三业务请求;
接收所述服务器在根据所述第一终端信息判断出所述终端为合法终端之后向所述客户端发送的第一动态密钥,其中,所述第一动态密钥的有效期为第一有效期;其中,所述服务器查找与所述第一终端信息具有关联关系的预先记录的所述终端的历史请求信息,所述终端的历史请求信息至少用于指示所述终端在预定时间段内发送的业务请求的次数;在所述终端的历史请求信息指示的所述终端在预定时间段内发送的业务请求的次数未超过预定阈值时,所述服务器判断出所述终端为合法终端;接收所述服务器向所述客户端发送的第一动态密钥包括:接收所述服务器向所述客户端发送的所述第一动态密钥和与所述第三业务请求对应的业务数据;
通过预定文件将所述第一动态密钥存储在所述终端的内存中,所述预定文件不允许通过反编译的方式查看;
向所述服务器发送第一业务请求,其中,所述第一业务请求中携带有使用所述第一动态密钥对第一业务信息进行加密得到的第二业务信息;
在所述第一动态密钥处于所述第一有效期内的情况下,接收所述服务器向所述客户端发送的与所述第一业务信息对应的业务数据。
6.根据权利要求5所述的方法,其特征在于,所述第一指示信息还用于指示第一随机数,其中,
所述接收所述服务器向所述客户端发送的第一动态密钥包括:接收所述服务器向所述客户端发送的第一动态密钥和第二随机数;判断所述第一随机数与所述第二随机数是否相同;在判断出所述第一随机数与所述第二随机数相同的情况下,确定所述服务器为合法服务器;
向所述服务器发送第一业务请求包括:在确定所述服务器为合法服务器的情况下,向所述服务器发送第一业务请求。
7.根据权利要求5所述的方法,其特征在于,在接收所述服务器向所述客户端发送的第一动态密钥之后,所述方法还包括:
通过预定文件将所述第一动态密钥存储在内存中,其中,所述预定文件不允许通过反编译的方式查看。
8.根据权利要求5所述的方法,其特征在于,在向所述服务器发送第一业务请求之后,所述方法还包括:
接收所述服务器向所述客户端发送的第二指示信息,其中,所述第二指示信息用于指示所述第一动态密钥不处于所述第一有效期内;
向所述服务器发送第二认证请求,其中,所述第二认证请求中携带有第三指示信息,所述第三指示信息用于指示安装有所述客户端的所述终端的第二终端信息;
接收所述服务器在根据所述第二终端信息判断出所述终端为所述合法终端之后向所述客户端发送的第二动态密钥,其中,所述第二动态密钥的有效期为第二有效期;
向所述服务器发送第二业务请求,其中,所述第二业务请求中携带有使用所述第二动态密钥对第一业务信息进行加密得到的第三业务信息;
在所述第二动态密钥处于所述第二有效期内的情况下,接收所述服务器向所述客户端发送的与所述第一业务信息对应的业务数据。
9.根据权利要求5所述的方法,其特征在于,在向服务器发送第一认证请求之前,所述方法还包括:
使用所述服务器的公钥对所述第一终端信息、所述终端所使用的网络的网络信息以及随机数进行加密,得到所述第一指示信息。
10.一种数据传输装置,其特征在于,包括:
第一接收单元,用于接收客户端向服务器发送的第一认证请求,其中,所述第一认证请求中携带有第一指示信息,所述第一指示信息至少用于指示安装有所述客户端的终端的第一终端信息;
判断单元,用于根据所述第一认证请求中的所述第一指示信息所指示的第一终端信息,判断所述终端是否为合法终端;
第一发送单元,用于在判断出所述终端为所述合法终端的情况下,向所述客户端发送第一动态密钥,其中,所述第一动态密钥的有效期为第一有效期;其中,所述第一动态密钥通过预定文件存储在所述终端的内存中,所述预定文件不允许通过反编译的方式查看;
第二接收单元,用于接收所述客户端向所述服务器发送的第一业务请求,其中,所述第一业务请求中携带有使用所述第一动态密钥对第一业务信息进行加密得到的第二业务信息;
处理单元,用于在判断出所述第一动态密钥处于所述第一有效期内的情况下,使用所述第一动态密钥对所述第二业务信息进行解密得到所述第一业务信息,并向所述客户端发送与所述第一业务信息对应的业务数据;
其中,所述第一接收单元还用于接收所述客户端同时向所述服务器发送的所述第一认证请求和第三业务请求;
所述第一发送单元还用于向所述客户端发送所述第一动态密钥和与所述第三业务请求对应的业务数据;
所述判断单元还用于查找与所述第一终端信息具有关联关系的预先记录的所述终端的历史请求信息,其中,所述终端的历史请求信息至少用于指示所述终端在预定时间段内发送的业务请求的次数;在所述终端的历史请求信息指示的所述终端在预定时间段内发送的业务请求的次数未超过预定阈值时,判断出所述终端为合法终端。
11.根据权利要求10所述的装置,其特征在于,所述第一指示信息还用于指示随机数,所述第一发送单元还用于向所述客户端发送所述第一动态密钥和所述随机数,其中,所述随机数用于所述客户端对所述服务器进行认证。
12.一种数据传输装置,其特征在于,包括:
第二发送单元,用于向服务器发送第一认证请求,其中,所述第一认证请求中携带有第一指示信息,所述第一指示信息至少用于指示安装有客户端的终端的第一终端信息;
第三接收单元,用于接收所述服务器在根据所述第一终端信息判断出所述终端为合法终端之后向所述客户端发送的第一动态密钥,其中,所述第一动态密钥的有效期为第一有效期;其中,所述服务器查找与所述第一终端信息具有关联关系的预先记录的所述终端的历史请求信息,所述终端的历史请求信息至少用于指示所述终端在预定时间段内发送的业务请求的次数;在所述终端的历史请求信息指示的所述终端在预定时间段内发送的业务请求的次数未超过预定阈值时,所述服务器判断出所述终端为合法终端;
第三发送单元,用于向所述服务器发送第一业务请求,其中,所述第一业务请求中携带有使用所述第一动态密钥对第一业务信息进行加密得到的第二业务信息;
第四接收单元,用于在所述第一动态密钥处于所述第一有效期内的情况下,接收所述服务器向所述客户端发送的与所述第一业务信息对应的业务数据;
其中,所述第二发送单元还用于同时向所述服务器发送所述第一认证请求和第三业务请求;
所述第三接收单元还用于接收所述服务器向所述客户端发送的所述第一动态密钥和与所述第三业务请求对应的业务数据;
其中,所述装置还用于通过预定文件将所述第一动态密钥存储在所述终端的内存中,所述预定文件不允许通过反编译的方式查看。
13.根据权利要求12所述的装置,其特征在于,所述第一指示信息还用于指示第一随机数,其中,
所述第三接收单元还用于接收所述服务器向所述客户端发送的第一动态密钥和第二随机数;判断所述第一随机数与所述第二随机数是否相同;在判断出所述第一随机数与所述第二随机数相同的情况下,确定所述服务器为合法服务器;
所述第三发送单元还用于在确定所述服务器为合法服务器的情况下,向所述服务器发送第一业务请求。
14.一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至4,或权利要求5至9任一项中所述的方法。
15.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至4,或权利要求5至9任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611229476.8A CN108243176B (zh) | 2016-12-27 | 2016-12-27 | 数据传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611229476.8A CN108243176B (zh) | 2016-12-27 | 2016-12-27 | 数据传输方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108243176A CN108243176A (zh) | 2018-07-03 |
CN108243176B true CN108243176B (zh) | 2020-08-11 |
Family
ID=62702771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611229476.8A Active CN108243176B (zh) | 2016-12-27 | 2016-12-27 | 数据传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108243176B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109743170B (zh) * | 2018-11-30 | 2021-12-10 | 视联动力信息技术股份有限公司 | 一种流媒体登录以及数据传输加密的方法和装置 |
CN110266477B (zh) * | 2019-05-23 | 2023-03-24 | 广州河东科技有限公司 | 一种udp通信实现动态加密方法 |
CN111415506B (zh) * | 2020-04-28 | 2022-03-18 | 成都新潮传媒集团有限公司 | 一种多媒体控制系统的安全加密方法及多媒体终端 |
CN112469035B (zh) * | 2020-11-26 | 2023-05-26 | 江苏特思达电子科技股份有限公司 | 一种物联网远程设备的安全激活、控制方法及通信系统 |
CN112434318A (zh) * | 2020-11-26 | 2021-03-02 | 江苏特思达电子科技股份有限公司 | 一种物联网远程设备加密方法及系统 |
CN112291270B (zh) * | 2020-12-08 | 2021-03-12 | 北京和利时系统工程有限公司 | 一种数据传输方法及装置 |
CN113422758B (zh) * | 2021-06-08 | 2023-04-07 | 深圳市欢太数字科技有限公司 | 数据加密方法、装置、物联网系统、电子设备及存储介质 |
CN113489706B (zh) * | 2021-06-30 | 2023-10-10 | 北京达佳互联信息技术有限公司 | 一种数据处理方法、装置、系统、设备及存储介质 |
CN115412303A (zh) * | 2022-08-05 | 2022-11-29 | 浪潮软件股份有限公司 | 监管数据交换的加密解密系统及方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098317A (zh) * | 2011-03-22 | 2011-06-15 | 浙江中控技术股份有限公司 | 一种应用于云系统的数据传输方法及系统 |
CN102647461A (zh) * | 2012-03-29 | 2012-08-22 | 奇智软件(北京)有限公司 | 基于超文本传输协议的通信方法、服务器、终端 |
CN104639516A (zh) * | 2013-11-13 | 2015-05-20 | 华为技术有限公司 | 身份认证方法、设备及系统 |
CN104821937A (zh) * | 2015-03-26 | 2015-08-05 | 腾讯科技(北京)有限公司 | 令牌获取方法、装置及系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7373509B2 (en) * | 2003-12-31 | 2008-05-13 | Intel Corporation | Multi-authentication for a computing device connecting to a network |
-
2016
- 2016-12-27 CN CN201611229476.8A patent/CN108243176B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098317A (zh) * | 2011-03-22 | 2011-06-15 | 浙江中控技术股份有限公司 | 一种应用于云系统的数据传输方法及系统 |
CN102647461A (zh) * | 2012-03-29 | 2012-08-22 | 奇智软件(北京)有限公司 | 基于超文本传输协议的通信方法、服务器、终端 |
CN104639516A (zh) * | 2013-11-13 | 2015-05-20 | 华为技术有限公司 | 身份认证方法、设备及系统 |
CN104821937A (zh) * | 2015-03-26 | 2015-08-05 | 腾讯科技(北京)有限公司 | 令牌获取方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108243176A (zh) | 2018-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108243176B (zh) | 数据传输方法和装置 | |
CN110708170B (zh) | 一种数据处理方法、装置以及计算机可读存储介质 | |
CN109309565B (zh) | 一种安全认证的方法及装置 | |
CN110493261B (zh) | 基于区块链的验证码获取方法、客户端、服务器及存储介质 | |
CN109561066B (zh) | 数据处理方法、装置、终端及接入点计算机 | |
CN107800675B (zh) | 一种数据传输方法、终端以及服务器 | |
CN113497778B (zh) | 一种数据的传输方法和装置 | |
KR101744747B1 (ko) | 휴대 단말기, 단말기 및 보안쿠키를 이용한 인증 방법 | |
CN104836784B (zh) | 一种信息处理方法、客户端和服务器 | |
CN112989426B (zh) | 授权认证方法及装置、资源访问令牌的获取方法 | |
CN107920052B (zh) | 一种加密方法及智能装置 | |
CN105447715A (zh) | 用于与第三方合作的防盗刷电子优惠券的方法和装置 | |
CN110545285B (zh) | 一种基于安全芯片的物联网终端安全认证方法 | |
CN104753674A (zh) | 一种应用身份的验证方法和设备 | |
CN109040079A (zh) | 直播链接地址的组建和验证方法及相应装置 | |
CN108347428A (zh) | 基于区块链的应用程序的注册系统、方法和装置 | |
CN102916970A (zh) | 一种基于网络的pin码缓存方法 | |
CN110035035B (zh) | 一种单点登录的二次认证方法及系统 | |
CN112565265A (zh) | 物联网终端设备间的认证方法、认证系统及通讯方法 | |
CN117118763B (zh) | 用于数据传输的方法及装置、系统 | |
CN105119716A (zh) | 一种基于sd卡的密钥协商方法 | |
CN113612852A (zh) | 一种基于车载终端的通信方法、装置、设备及存储介质 | |
CN101090321B (zh) | 使用非周期精确测量发现仿真客户机的设备和方法 | |
CN106656955A (zh) | 一种通信方法及系统、客户端 | |
CN110138558B (zh) | 会话密钥的传输方法、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |