CN113315761B - 客户端和服务端数据传输方法和装置 - Google Patents
客户端和服务端数据传输方法和装置 Download PDFInfo
- Publication number
- CN113315761B CN113315761B CN202110522810.3A CN202110522810A CN113315761B CN 113315761 B CN113315761 B CN 113315761B CN 202110522810 A CN202110522810 A CN 202110522810A CN 113315761 B CN113315761 B CN 113315761B
- Authority
- CN
- China
- Prior art keywords
- request
- client
- encrypted
- encrypted content
- character string
- 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/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
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- 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/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
- H04L9/0869—Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本申请涉及一种客户端和服务端数据传输方法和装置,其中客户端数据传输方法包括:由当前待发送的网络请求中提取出请求头和请求体;在请求头中加入加密内容,并对请求体进行加密得到加密请求体;将加入加密内容的请求头和加密请求体组装为客户端请求,替换原请求头和请求体,并将客户端请求发送至服务端。当服务端接收到客户端请求后,从请求中提取出请求头,并根据提取出的请求头对客户端请求进行识别。通过在请求头加入加密内容,由加密内容作为伪装的假密钥进行传输,而对于真实的加密密钥在请求过程中不附带,这就达到了保护真实密钥的目的,从而有效提高了客户端与服务端之间的通讯安全性。
Description
技术领域
本申请涉及网络通讯安全技术领域,尤其涉及一种客户端和服务端数据传输方法和装置。
背景技术
目前移动终端的各类消息展示都是后端服务提供的,在错综复杂的网络环境下,手机端直接暴露在非安全的环境下,别有用心的用户(如:黑客)通过工具可以看获取到手机端与服务端之间的通讯方式,通过伪装客户端的方式从后端服务爬取大量的私有信息。因此,暴露在用户侧的客户端(含iOS系统、Android系统、Web页面等)除了进行自身的加固、签名外,在通讯上也需要做到能够防劫持、防篡改、防爬取。在相关技术中,客户端与服务器端通常采用对称加密方式进行数据通信。但是,常规的对称加密方式,非常容易被破解加密方式和加密密钥,从而不能起到真正的防护作用,使得客户端与服务端之间的数据通讯安全性仍然较低。
发明内容
有鉴于此,本申请提出了一种客户端数据传输方法,可以有效提高客户端与服务端之间的数据通讯的安全性。
根据本申请的一方面,提供了一种客户端数据传输方法,包括:
由当前待发送的网络请求中提取出请求头和请求体;
在所述请求头中加入加密内容,并对所述请求体进行加密得到加密请求体;
将加入所述加密内容的请求头和所述加密请求体组装为客户端请求替换所述网络请求中的原请求头和原请求体,并将所述客户端请求发送至服务端,以使所述服务端接收所述客户端请求后,由所述客户端请求中提取出请求头,并根据提取出的请求头对所述客户端请求进行识别。
在一种可能的实现方式中,在所述请求头中加入加密内容,包括:
生成请求加密密钥;
基于所述请求加密密钥,随机生成第一字符串和第二字符串;
将所述第一字符串和所述第二字符串连接成新字符串;
对连接成的所述新字符串进行加密,生成所述加密内容,并将所述加密内容加入到所述请求头中。
在一种可能的实现方式中,所述第一字符串和所述第二字符串均为随机生成的32位字符串;
对连接成的所述新字符串进行加密时,使用base64编码方式。
在一种可能的实现方式中,对所述请求体进行加密得到加密请求体时,使用固定密钥对所述请求体进行加密。
在一种可能的实现方式中,还包括:
接收所述服务端返回的响应信息,并对所述响应信息进行解密得到相应的业务数据;
其中,所述业务数据通过所述服务端识别出所述客户端请求为正常请求后,将所述客户端请求发送至业务端获取得到;
所述响应信息通过所述服务端对获取到的所述业务数据进行加密得到。
根据本申请的另一方面,还提供了一种服务端数据传输方法,包括:
接收由客户端发送的客户端请求;
其中,所述客户端请求包括加入加密内容的请求头和经过加密后的请求体;
由所述客户端请求中提取出所述加密内容,基于所述加密内容对所述客户端请求进行识别;
在识别出所述客户端请求为异常请求时,拦截所述客户端请求。
在一种可能的实现方式中,还包括:
在识别出所述客户端请求为正常请求时,由所述客户端请求中提取出所述请求体,并对所述请求体进行解密得到所述客户端的网络请求;
将所述网络请求发送至业务端,并等待接收所述业务端返回的业务数据,在接收到所述业务端返回的所述业务数据后,对所述业务数据进行加密生成相应的响应信息,并将所述响应信息发送至所述客户端。
在一种可能的实现方式中,基于所述加密内容对所述客户端请求进行识别,包括:
判断所述加密内容是否为空;
在所述加密内容为空时,识别出所述客户端请求为异常请求;
在所述加密内容不为空时,识别出所述客户端请求为正常请求。
根据本申请的另一方面,还提供了一种客户端数据传输装置,包括请求提取模块、请求头加密模块、请求体加密模块和请求组装模块;
所述请求提取模块,被配置为由当前待发送的网络请求中提取出请求头和请求体;
所述请求头加密模块,被配置为在所述请求头中加入加密内容;
所述请求体加密模块,被配置为对所述请求体进行加密得到加密请求体;
所述请求组装模块,被配置为将加入所述加密内容的请求头和所述加密请求体组装为客户端请求替换所述网络请求中的原请求头和原请求头,并将所述客户端请求发送至服务端,以使所述服务端接收所述客户端请求后,由所述客户端请求中提取出请求头,并根据提取出的请求头对所述客户端请求进行识别。
根据本申请的另一方面,还提供了一种服务端数据传输装置,包括请求接收模块、请求识别模块和请求拦截模块;
所述请求接收模块,被配置为接收由客户端发送的客户端请求;
其中,所述客户端请求包括加入加密内容的请求头和经过加密后的请求体;
所述请求识别模块,被配置为由所述客户端请求中提取出所述加密内容,基于所述加密内容对所述客户端请求进行识别;
所述请求拦截模块,被配置为在识别出所述客户端请求为异常请求时,拦截所述客户端请求。
本申请实施例的客户端数据传输方法,在客户端向服务端发送网络请求时,通过在请求头中加入加密内容进行密钥的传输,同时对请求体进行加密,将加密后的请求体(即,加密请求体)替换原请求体,进而再将加入加密内容的请求头和加密请求体组装为新的网络请求(即,客户端请求)后再发送至服务端,向服务端发出请求。由此通过在请求头加入加密内容,由加密内容作为伪装的假密钥进行传输,对于真实的加密密钥在请求过程中不附带,这就达到了保护真实密钥的目的。
根据下面参考附图对示例性实施例的详细说明,本申请的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本申请的示例性实施例、特征和方面,并且用于解释本申请的原理。
图1示出本申请实施例的客户端与信息提供端之间数据通讯传输的流程图;
图2示出本申请实施例的客户端数据传输方法中,在请求头上加入加密关键字的流程图;
图3示出本申请实施例的客户端数据传输方法中,客户端加密请求体并组装发送客户端请求的流程图;
图4示出本申请实施例的服务端处理客户端请求中的请求头和请求体的流程图;
图5示出本申请实施例的客户端数据传输方法中,解密服务端返回的响应数据的流程图;
图6示出本申请实施例的客户端数据传输装置的结构框图;
图7示出本申请实施例的服务端数据传输装置的结构框图。
具体实施方式
以下将参考附图详细说明本申请的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
其中,还需要说明的是,本申请实施例的客户端数据传输方法和服务端数据传输方法,均指的是客户端与服务端之间进行通讯时的数据传输方式。客户端可以为移动终端,移动终端的操作系统可以为iOS系统和Android系统的任意一种,也可以为web H5,服务端则主要指的是客户端访问数据时的数据提供端。
图1示出根据本申请一实施例的客户端与信息提供端之间数据通讯传输的流程图。如图1所示,在本申请实施例的客户端数据传输方法中,包括:步骤S100,由当前待发送的网络请求中提取出请求头和请求体。此处,本领域技术人员可以理解的是,客户端所发送的网络请求为http post请求。然后,通过步骤S200,在请求头中加入加密内容,以及步骤S200’,对请求体进行加密得到加密请求体。进而,再通过步骤S300,将加入加密内容的请求头和加密请求体组装为客户端请求,并将客户端请求发送至服务端,以使服务端接收客户端请求后,由客户端请求中提取出请求头,并根据提取出的请求头对客户端请求进行识别。
也就是说,本申请实施例的客户端数据传输方法,在客户端向服务端发送网络请求时,通过在请求头中加入加密关键字进行密钥的传输,同时对请求体进行加密,将加密后的请求体(即,加密请求体)替换原请求体,进而再将加入加密内容的请求头和加密请求体组装为新的网络请求(即,客户端请求)后再发送至服务端,向服务端发出请求。由此通过在请求头加入加密内容,由加密内容作为伪装的假密钥进行传输,对于真实的加密密钥在请求过程中不附带,这就达到了保护真实密钥的目的。
在一种可能的实现方式中,在请求头中加入加密关键字的方式可以使用算法生成请求的加密密钥串,并使用base64进行加密形成加密串在请求头(即,httpheader)中加入关键字key,将加密的串作为hkey的值的方式来实现。即,在请求头中加入的加密内容可以包括采用算法生成的加密关键字,以及对该加密关键字进行编码得到的值。
具体的,参阅图2,首先,通过步骤S210,生成请求加密密钥。然后,分别通过步骤S221,基于请求加密密钥,随机生成第一字符串(即,字符串B);以及步骤S222,基于请求加密密钥,随机生成第二字符串(即,字符串A)。进而,再通过步骤S230,将第一字符串和第二字符串连接成新字符串后,再执行步骤S240,对连接成的新字符串进行加密生成加密关键字,以及加密关键字对应的值,然后将生成的加密关键字及对应的值加入到请求头中即可。
此处,需要说明的是,所随机生成的第一字符串和第二字符串可以均为32位字符串。也就是说,在本申请实施例的客户端数据传输方法中,请求加密密钥由两部分组成,共有64位。前32位字符串和后32位字符串均是随机生成的,前32位字符串和后32位字符串生成完毕后再进行拼接成新的字符串,然后对拼接得到的新的字符串使用base64加密成hkey对应的字符串值即可。其中,还应当指出的是,对第一字符串和第二字符串进行拼接时可以直接采用“#”字符进行拼接,也可以采用其他方式进行拼接,此处不进行具体限定。在一种可能的实现方式中,直接采用“#”字符对第一字符串和第二字符串进行拼接,拼接方式简单,易于实现。
根据前面所述,该部分所得到的加密字符串(即,加密关键字及对应的值)只是在请求传输过程中使用,并不对请求体进行加密。由此,在服务端接收到客户端发送的组装后的请求(即,客户端请求)后,由接收到的请求中提取出请求头,基于请求头对客户端当前所发送的请求进行识别,在识别出为正常请求时再对请求体进行解密,获取请求体的数据后再进行相应的数据访问。如果基于请求头识别出当前发送的请求为异常请求,则直接拦截该请求从而防止非正常客户端对服务器端的数据的访问,这就有效防止了客户端与服务端之间的通讯数据的篡改和劫持的情况,保证了客户端与服务端之间数据通讯的安全性。
进一步的,参阅图3,在本申请实施例的客户端数据传输方法中,还包括对请求体的加密,从而将原请求体替换为加密后的请求体。在对请求体加密时,则可以使用固定密钥的方式对请求体进行加密。此处,需要说明的是,所使用的固定密钥可以为客户端与服务端之间约定好的加密密钥。
更加具体的,在使用固定密钥对请求体进行加密时,可以通过分别获取待加密的明文(即,请求体)和用于加密的密文(即,固定密钥),然后调用指定的加密算法、工作模式和填充方式,使用密文对明文进行加密,从而得到加密后的请求体。
此处,还需要指出的是,在对请求体加密后,还包括对加密后的请求体进行base64编码的步骤,从而使得最终得到的请求体与请求头格式相统一,以便于后续对加入加密关键字的请求头和加密后的请求体进行组装。
更进一步的,在客户端将对网络请求重新组装成客户端请求,并将组装后的客户端请求发送到服务端后,服务端会基于客户端请求中的请求头对客户端请求进行识别。在识别出客户端请求为正常请求时,即对客户端请求的请求体进行解密,然后再将解密后的请求体中的请求内容转发给对应的业务端,业务端根据接收到的请求内容获取相应的业务数据,并将获取到的业务数据返回给服务端。服务端获取业务端返回的业务数据,然后对业务数据进行加密生成相应的响应信息后,再将响应信息回传给客户端。
对应的,在本申请实施例的客户端数据传输方法中,在客户端接收到服务端返回的响应信息后,对响应信息进行解密得到业务数据。由此即可完成客户端与服务端之间的数据交互。
此处,应当指出的是,服务端在对获取到的业务数据进行加密时可以使用响应密钥进行加密。其中,响应密钥与客户端对请求体加密时所使用的固定密钥不同,这就使得客户端和服务端在进行数据加密时能够分别使用独立的加密密钥,这也就更进一步的提高了客户端与服务端之间通讯的安全性。
同时,还需要说明的是,固定密钥和响应密钥均为客户端与服务端之间约定好的,从而便于对接收到的数据进行解密。
相应的,基于前面所述的客户端数据传输方法,本申请还提供了一种服务端数据传输方法。参阅图4,在本申请实施例的服务端数据传输方法中,首先,服务端接收由客户端发送的客户端请求。此处,本领域技术人员可以理解的是,所接收到的客户端请求为分别对请求头加密和请求体加密后重新组装的网络请求。其中,请求头为加入加密内容后的请求头,请求体为使用固定密钥加密后的请求体。
然后,由接收到的客户端请求中提取出加密内容,并基于提取出的加密内容对客户端请求进行识别。在识别出客户端请求为异常请求时,拦截该客户端请求,不对该客户端请求进行数据响应,从而避免异常请求的响应导致数据泄露的情况。
其中,本领域技术人员可以理解的是,正常请求,指的是经过认证后的客户端所发送的访问请求。异常请求,则指的是并没有经过认证的客户端(如:黑客)通过工具模仿正常客户端发送的访问请求。
在服务端通过提取出来的请求头识别出客户端请求为正常请求时,则对提取出的请求体进行解密得到相应的请求内容,从而使得服务端将解密后的请求发送至业务端进行相应业务数据的获取。
其中,在一种可能的实现方式中,服务端通过基于加密关键字的值对客户端请求进行识别时,可以通过以下方式来实现。
参阅图4,首先,判断客户端请求的请求头中的加密内容是否为空。在加密内容为空时,则识别出客户端请求为异常请求;在加密内容不为空时,识别出客户端请求为正常请求。
即,通过判断所提取出来的请求头中是否包含有加密关键字(即,hkey字段),如果有则表明当前所发送的客户端请求为正常请求,则对请求体进行解密,解密完成后转发给对应的业务端进行业务数据的获取。如果没有,则表明当前接收到的客户端请求为异常请求,则对该请求进行拦截,不允许进行业务处理。
进一步的,由于本申请实施例的客户端数据传输方法和服务端数据传输方法均是对客户端所发送的网络请求进行的加密处理方式,对于客户端访问二进制流形式的数据时,则不能进行加密处理。此时,为了保证客户端与服务端之间仍能够正常进行二进制流形式的数据的访问请求,在一种可能的实现方式中,客户端可以通过在请求中添加特定的参数以便于服务端进行相应的处理。
此处,本领域技术人员可以理解的是,二进制流形式的文件包括但不限于图片、头像、文件等。
具体的,客户端可以在请求头中添加tp=tp作为标识,以表征当前发送的访问请求为二进制流形式的数据请求。
由此,参阅图4,在本申请实施例的服务端数据传输方法中,服务端接收到客户端请求后,提取出客户端请求中的请求头和请求体,并通过步骤S400,由请求头中获取加密关键字的值(即,hkey的值)和请求数据类型的标识符的值(即,tp的值)。
然后,再执行步骤S510,判断获取到的hkey的值是否为空。在判断出获取到的hkey的值为空时,表明此时客户端所发送的客户端请求可能为异常请求,也可能为请求的数据类型为二进制流形式的文件,因此此时再通过步骤S520,判断获取到的tp值是否为空。如果判断出tp的值为空,则可以确定当前接收到的客户端请求为异常请求,因此可直接执行步骤S900,拦截该客户端请求,不允许进行业务处理。如果判断出tp的值不为空,则表明当前接收到的客户端请求中所请求的数据类型为二进制流形式的文件,因此可以直接执行步骤S800,转发该客户端请求至业务端进行相应的处理。
如果在步骤S510中,判断出hkey的值不为空,则表明当前客户端请求为正常请求,因此可通过步骤S600,使用固定的请求密钥对请求体进行解密,获取客户端请求内容。在该过程中,还可以通过步骤S700,判断是够解密成功,在判断出解密成功后,执行步骤S800,将解密后的请求转发给相应的业务端,由业务端执行相应的处理。在判断出解密不成功时,则执行步骤S900,拦截该客户端请求。
由此,本申请实施例的服务端数据传输方法,通过对客户端发送的客户端请求的请求头进行检测判断,来实现对客户端请求的数据类型以及是否为正常请求的识别,在识别出所接收到的客户端请求为异常请求时,直接进行拦截处理,避免了客户端与服务端之间的通讯数据的泄漏,防止了客户端与服务端之间通讯数据的被篡改和劫持的情况,从而有效保证了客户端与服务端之间的安全通讯。
为了更清楚地说明本申请实施例的客户端和服务端的数据传输方法,以下以客户端与服务端之间的完整的数据通讯过程进行更加详细地说明。
参阅图1,首先,在客户端侧,通过步骤S100,由客户端组装当前待发送的网络请求。其中,应当指出的是,网络请求可以统一使用https传输方式,业务接口请求可以为post方式。然后,分别执行步骤S200,客户端对网络请求中的请求头进行处理,在请求头中加入加密关键字,该加密关键字作为请求传输过程中的密钥,以保护请求体中的固定密钥,防止请求体中固定密钥被破解的情况。以及步骤S200’,使用固定密钥度请求体进行加密,得到加密请求体。即,将未加密的请求体替换为加密后的请求体。进而,再通过步骤S300,客户端将加入加密关键字的请求头与加密后的请求体进行组装,得到新的网络请求(即,客户端请求)并通过网络发送至服务端。
然后,在服务端侧,通过步骤S400,接收客户端发送的客户端请求后,获取客户端请求中的请求头中的hkey的值和tp的值,并通过步骤S500,根据获取到的请求头中的hkey的值和tp的值,判断当前接收到的客户端请求是否为正常请求。如果不是正常请求,则直接进行拦截处理并结束数据访问流程。如果是正常请求,则执行步骤S600,使用请求密钥对请求体进行解密,进而再执行步骤S800,将解密后的请求转发给相应的业务端,然后依次通过步骤S810和步骤S820,获取到业务数据,并将获取到的业务数据进行加密后发送至客户端。
最后,再在客户端侧,通过步骤S830,客户端接收服务端返回的响应信息,并依次执行步骤S840和步骤S850,客户端使用响应密钥对响应数据进行解密得到相应的业务数据,进而在基于得到的业务数据进行相应的业务处理即可。
其中,参阅图5,客户端在接收到服务端返回的响应信息后,通过步骤S840,对响应信息进行解密后,还可以包括步骤S841,判断解密是否成功。在判断出解密成功时,则直接执行步骤S850,根据解密结果进行相应的业务处理即可。在判断出解密失败时,则可以执行步骤S860,发出解密失败的提示,从而以提醒客户端用户是否要进行重新解密或者是重新发送请求至服务端进行再次请求。
由此可见,本申请实施例的客户端和服务端数据传输方法,通过在客户端与服务端之间的数据通讯过程中,对客户端发送的网络请求中的请求头和请求体分别进行独立的加密处理。其中,请求头中的加密密钥作为伪装的密钥,只用于请求的传输过程,请求体中的加密密钥则作为真实的密钥用于请求数据的保护。由此,在请求头中的加密密钥被破解并验证其对应的网络请求为异常请求时,直接进行拦截处理,从而达到保护请求体中的真实密钥的目的。这就使得网络信息的传输更加安全,有效防止了网络信息的被篡改和被劫持的情况,能够更加有效地保护加密密钥和请求传输内容,使得网络信息传输更加安全。
相应的,基于前面任一所述的客户端数据传输方法,本申请还提供了一种客户端数据传输装置。由于本申请的客户端数据传输装置的工作原理与本申请的客户端数据传输方法的原理相同或相似,因此重复之处不再赘述。
参阅图6,本申请提供的客户端数据传输装置100,包括请求提取模块110、请求头加密模块120、请求体加密模块130和请求组装模块140。其中,请求提取模块110,被配置为由当前待发送的网络请求中提取出请求头和请求体。请求头加密模块120,被配置为在请求头中加入加密内容。请求体加密模块130,被配置为对请求体进行加密得到加密请求体。请求组装模块140,被配置为将加入加密内容的请求头和加密请求体组装为客户端请求替换网络请求中的原请求头和原请求体,并将客户端请求发送至服务端,以使服务端接收客户端请求后,由客户端请求中提取出请求头,并根据提取出的请求头对客户端请求进行识别。
相应的,基于前面任一所述的服务端数据传输方法,本申请还提供了一种服务端数据传输装置。由于本申请提供的服务端数据传输装置的工作原理与本申请的服务端数据传输方法的原理相同或相似,因此重复之处不再赘述。
参阅图7,本申请提供的一种服务端数据传输装置200,包括请求接收模块210、请求识别模块220和请求拦截模块230。其中,请求接收模块210,被配置为接收由客户端发送的客户端请求。其中,客户端请求包括加入加密内容的请求头和经过加密后的请求体。请求识别模块220,被配置为由客户端请求中提取出加密内容,基于加密内容的值对客户端请求进行识别。请求拦截模块230,被配置为在识别出客户端请求为异常请求时,拦截客户端请求。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (9)
1.一种客户端数据传输方法,其特征在于,包括:
由当前待发送的网络请求中提取出请求头和请求体;
在所述请求头中加入加密内容,并对所述请求体进行加密得到加密请求体;其中,在请求头中加入的加密内容包括采用算法生成的加密关键字,以及对该加密关键字进行编码得到的值;
将加入所述加密内容的请求头和所述加密请求体组装为客户端请求替换所述网络请求中的原请求头和原请求体,并将所述客户端请求发送至服务端,以使所述服务端接收所述客户端请求后,由所述客户端请求中提取出请求头,并根据提取出的请求头对所述客户端请求进行识别;
在所述请求头中加入加密内容,包括:
生成请求加密密钥;
基于所述请求加密密钥,随机生成第一字符串和第二字符串;
将所述第一字符串和所述第二字符串连接成新字符串;
对连接成的所述新字符串进行加密,生成所述加密内容,并将所述加密内容加入到所述请求头中。
2.根据权利要求1所述的客户端数据传输方法,其特征在于,所述第一字符串和所述第二字符串均为随机生成的32位字符串;
对连接成的所述新字符串进行加密时,使用base64编码方式。
3.根据权利要求1所述的客户端数据传输方法,其特征在于,对所述请求体进行加密得到加密请求体时,使用固定密钥对所述请求体进行加密。
4.根据权利要求1至3任一项所述的客户端数据传输方法,其特征在于,还包括:
接收所述服务端返回的响应信息,并对所述响应信息进行解密得到相应的业务数据;
其中,所述业务数据通过所述服务端识别出所述客户端请求为正常请求后,将所述客户端请求发送至业务端获取得到;
所述响应信息通过所述服务端对获取到的所述业务数据进行加密得到。
5.一种服务端数据传输方法,其特征在于,包括:
接收由客户端发送的客户端请求;
其中,所述客户端请求包括加入加密内容的请求头和经过加密后的请求体;其中,在请求头中加入的加密内容包括采用算法生成的加密关键字,以及对该加密关键字进行编码得到的值;
由所述客户端请求中提取出所述加密内容,基于所述加密内容对所述客户端请求进行识别;
在识别出所述客户端请求为异常请求时,拦截所述客户端请求;
其中,所述加密内容通过以下方式加入所述请求头:
生成请求加密密钥;
基于所述请求加密密钥,随机生成第一字符串和第二字符串;
将所述第一字符串和所述第二字符串连接成新字符串;
对连接成的所述新字符串进行加密,生成所述加密内容,并将所述加密内容加入到所述请求头中。
6.根据权利要求5所述的服务端数据传输方法,其特征在于,还包括:
在识别出所述客户端请求为正常请求时,由所述客户端请求中提取出所述请求体,并对所述请求体进行解密得到所述客户端的网络请求;
将所述网络请求发送至业务端,并等待接收所述业务端返回的业务数据,在接收到所述业务端返回的所述业务数据后,对所述业务数据进行加密生成相应的响应信息,并将所述响应信息发送至所述客户端。
7.根据权利要求5所述的服务端数据传输方法,其特征在于,基于所述加密内容对所述客户端请求进行识别,包括:
判断所述加密内容是否为空;
在所述加密内容为空时,识别出所述客户端请求为异常请求;
在所述加密内容不为空时,识别出所述客户端请求为正常请求。
8.一种客户端数据传输装置,其特征在于,包括请求提取模块、请求头加密模块、请求体加密模块和请求组装模块;
所述请求提取模块,被配置为由当前待发送的网络请求中提取出请求头和请求体;
所述请求头加密模块,被配置为在所述请求头中加入加密内容;其中,在请求头中加入的加密内容包括采用算法生成的加密关键字,以及对该加密关键字进行编码得到的值;
所述请求体加密模块,被配置为对所述请求体进行加密得到加密请求体;
所述请求组装模块,被配置为将加入所述加密关键字的请求头和所述加密请求体组装为客户端请求,并将所述客户端请求发送至服务端,以使所述服务端接收所述客户端请求后,由所述客户端请求中提取出请求头,并根据提取出的请求头对所述客户端请求进行识别;
在所述请求头中加入加密内容,包括:
生成请求加密密钥;
基于所述请求加密密钥,随机生成第一字符串和第二字符串;
将所述第一字符串和所述第二字符串连接成新字符串;
对连接成的所述新字符串进行加密,生成所述加密内容,并将所述加密内容加入到所述请求头中。
9.一种服务端数据传输装置,其特征在于,包括请求接收模块、请求识别模块和请求拦截模块;
所述请求接收模块,被配置为接收由客户端发送的客户端请求;
其中,所述客户端请求包括加入加密内容的请求头和经过加密后的请求体;其中,在请求头中加入的加密内容包括采用算法生成的加密关键字,以及对该加密关键字进行编码得到的值;
所述请求识别模块,被配置为由所述客户端请求中提取出所述加密内容,基于所述加密内容对所述客户端请求进行识别;
所述请求拦截模块,被配置为在识别出所述客户端请求为异常请求时,拦截所述客户端请求;
其中,所述加密内容通过以下方式加入所述请求头:
生成请求加密密钥;
基于所述请求加密密钥,随机生成第一字符串和第二字符串;
将所述第一字符串和所述第二字符串连接成新字符串;
对连接成的所述新字符串进行加密,生成所述加密内容,并将所述加密内容加入到所述请求头中。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110522810.3A CN113315761B (zh) | 2021-05-13 | 2021-05-13 | 客户端和服务端数据传输方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110522810.3A CN113315761B (zh) | 2021-05-13 | 2021-05-13 | 客户端和服务端数据传输方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113315761A CN113315761A (zh) | 2021-08-27 |
CN113315761B true CN113315761B (zh) | 2023-01-31 |
Family
ID=77373096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110522810.3A Active CN113315761B (zh) | 2021-05-13 | 2021-05-13 | 客户端和服务端数据传输方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113315761B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704149A (zh) * | 2016-03-24 | 2016-06-22 | 国网江苏省电力公司电力科学研究院 | 一种电力移动应用安全防护方法 |
CN106067874A (zh) * | 2016-05-20 | 2016-11-02 | 深圳市金立通信设备有限公司 | 一种将数据记录至服务器端的方法、终端和服务器 |
CN108632296A (zh) * | 2018-05-17 | 2018-10-09 | 中体彩科技发展有限公司 | 一种网络通信的动态加密与解密方法 |
CN112055004A (zh) * | 2020-08-26 | 2020-12-08 | 中国建设银行股份有限公司 | 一种基于小程序的数据处理方法和系统 |
CN112468518A (zh) * | 2021-01-28 | 2021-03-09 | 腾讯科技(深圳)有限公司 | 访问数据处理方法、装置、存储介质及计算机设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7917813B2 (en) * | 2008-02-14 | 2011-03-29 | International Business Machines Corporation | Exception condition determination at a control unit in an I/O processing system |
-
2021
- 2021-05-13 CN CN202110522810.3A patent/CN113315761B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704149A (zh) * | 2016-03-24 | 2016-06-22 | 国网江苏省电力公司电力科学研究院 | 一种电力移动应用安全防护方法 |
CN106067874A (zh) * | 2016-05-20 | 2016-11-02 | 深圳市金立通信设备有限公司 | 一种将数据记录至服务器端的方法、终端和服务器 |
CN108632296A (zh) * | 2018-05-17 | 2018-10-09 | 中体彩科技发展有限公司 | 一种网络通信的动态加密与解密方法 |
CN112055004A (zh) * | 2020-08-26 | 2020-12-08 | 中国建设银行股份有限公司 | 一种基于小程序的数据处理方法和系统 |
CN112468518A (zh) * | 2021-01-28 | 2021-03-09 | 腾讯科技(深圳)有限公司 | 访问数据处理方法、装置、存储介质及计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113315761A (zh) | 2021-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8904178B2 (en) | System and method for secure remote access | |
JP5978759B2 (ja) | サービス要求装置、サービス提供システム、サービス要求方法およびサービス要求プログラム | |
US7454785B2 (en) | Proxy method and system for secure wireless administration of managed entities | |
US8578173B2 (en) | Apparatus and method for providing secure communication on a network | |
CN101051904B (zh) | 一种保护网络应用程序使用账号密码进行登录的方法 | |
CN111615105B (zh) | 信息提供、获取方法、装置及终端 | |
US8234699B2 (en) | Method and system for establishing the identity of an originator of computer transactions | |
US11470060B2 (en) | Private exchange of encrypted data over a computer network | |
CN104662870A (zh) | 数据安全管理系统 | |
Nyamtiga et al. | Enhanced security model for mobile banking systems in Tanzania | |
CN114143082A (zh) | 一种加密通信方法、系统及装置 | |
KR101541165B1 (ko) | 모바일 메시지 암호화 방법, 이 방법을 수행하는 프로그램을 기록한 컴퓨터 판독가능 기록매체 및 이 방법을 저장한 다운로드 서버 | |
JP2022117456A (ja) | ハードウェアセキュリティモジュールを備えたメッセージ伝送システム | |
CN112566121B (zh) | 一种防止攻击的方法及服务器、存储介质 | |
CN113904767A (zh) | 一种基于ssl建立通信的系统 | |
CN111901335B (zh) | 基于中台的区块链数据传输管理方法及系统 | |
JPH10242957A (ja) | ユーザ認証方法およびシステムおよびユーザ認証用記憶媒体 | |
CN105678542B (zh) | 支付业务交互方法、支付终端和支付云端 | |
CN113315761B (zh) | 客户端和服务端数据传输方法和装置 | |
CN114826692B (zh) | 信息登录系统、方法、电子设备及存储介质 | |
CN113079506B (zh) | 网络安全认证方法、装置及设备 | |
CN112769759A (zh) | 信息处理方法、信息网关、服务器及介质 | |
KR100250457B1 (ko) | 인터넷 프로토콜을 이용하는 네트워크에서 발신측 및착신측의 통신 방법 | |
CN113507479B (zh) | 针对web代码和数据的网关型加解密透明sdk方法 | |
KR101448711B1 (ko) | 통신 암호화를 통한 보안시스템 및 보안방법 |
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 |