CN110868291B - 一种数据加密传输方法、装置、系统及存储介质 - Google Patents

一种数据加密传输方法、装置、系统及存储介质 Download PDF

Info

Publication number
CN110868291B
CN110868291B CN201911177421.0A CN201911177421A CN110868291B CN 110868291 B CN110868291 B CN 110868291B CN 201911177421 A CN201911177421 A CN 201911177421A CN 110868291 B CN110868291 B CN 110868291B
Authority
CN
China
Prior art keywords
data
ciphertext
client
signature
server
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
Application number
CN201911177421.0A
Other languages
English (en)
Other versions
CN110868291A (zh
Inventor
朱海明
李强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Lianhong Technology Co ltd
Original Assignee
Shanghai Lianhong Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shanghai Lianhong Technology Co ltd filed Critical Shanghai Lianhong Technology Co ltd
Priority to CN201911177421.0A priority Critical patent/CN110868291B/zh
Publication of CN110868291A publication Critical patent/CN110868291A/zh
Application granted granted Critical
Publication of CN110868291B publication Critical patent/CN110868291B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network 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
    • H04L63/0435Network 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 wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds

Abstract

本发明公开了一种数据加密传输方法、装置、系统及计算机可读存储介质,当服务端接收到客户端发送的数据密文和签名密文时,对签名密文进行校验;其中,数据密文由客户端根据预先协商的对称秘钥对请求数据进行加密生成;签名密文由客户端根据预先协商的算法生成,签名密文包括对称秘钥、预先协商的访问凭证、客户端当前记录的随机因子和请求数据的数据长度;当验证签名密文合法时,根据对称秘钥对数据密文进行解密,获取客户端的请求数据;根据请求数据进行相应的业务处理,获取应答数据;根据对称秘钥对应答数据进行加密,并将加密后的应答数据发送至客户端。采用本发明的技术方案能够高效传输数据,并提高数据传输的安全性与保密性。

Description

一种数据加密传输方法、装置、系统及存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种数据加密传输方法、装置、系统及计算机可读存储介质。
背景技术
随着互联网的发展,基于BS架构的系统应用越来越广泛,并大量用于金融、个人支付等行业,而目前web系统常用的有HTTP、HTTPS两种协议,虽然HTTPS协议可以保证数据传输的安全性,但是,在使用HTTPS协议传输数据时,需要消耗较多的网络带宽,花费时间较长,成本较高,因此,为了提升用户体验,大量用户依然使用HTTP协议。
然而,在使用HTTP协议传输数据时,由于HTTP是一种不安全的通信协议,数据传输为明文方式传输,攻击者很容易通过网络劫持获取机密信息,如果传输的数据中存在敏感信息,风险更大,从而导致数据传输的安全性与保密性较低。
发明内容
本发明实施例所要解决的技术问题在于,提供一种数据加密传输方法、装置、系统及计算机可读存储介质,能够高效传输数据,并提高数据传输的安全性与保密性。
为了解决上述技术问题,本发明实施例第一方面提供了一种数据加密传输方法,所述方法由服务端执行;所述方法包括:
当接收到客户端发送的数据密文和签名密文时,对所述签名密文进行校验;其中,所述数据密文由客户端根据预先协商的对称秘钥对请求数据进行加密生成;所述签名密文由客户端根据预先协商的算法生成,所述签名密文包括所述对称秘钥、预先协商的访问凭证、客户端当前记录的随机因子和请求数据的数据长度;
当验证所述签名密文合法时,根据所述对称秘钥对所述数据密文进行解密,获取客户端的请求数据;
根据所述请求数据进行相应的业务处理,获取应答数据;
根据所述对称秘钥对所述应答数据进行加密,并将加密后的应答数据发送至客户端,使得客户端根据所述对称秘钥对所述加密后的应答数据进行解密,获取所述应答数据。
进一步地,所述方法通过以下步骤对所述签名密文进行校验:
根据预先协商的算法对所述对称秘钥、所述访问凭证、服务端当前记录的随机因子和所述数据长度进行处理,获得签名验证密文;
将所述签名验证密文和所述签名密文进行比较;
当所述签名验证密文和所述签名密文相同时,验证所述签名密文合法;
当所述签名验证密文和所述签名密文不相同时,验证所述签名密文非法。
进一步地,在将加密后的应答数据发送至客户端之后,所述方法还包括:
根据预设的更新规则对服务端当前记录的随机因子进行更新,并记录更新后的随机因子。
进一步地,所述更新规则为SEQN=Function(SEQN-1);其中,SEQN表示服务端第N次记录的随机因子,SEQN-1表示服务端第N-1次记录的随机因子,N表示服务端对随机因子的记录次数,N≥0;SEQ0为随机因子初始值,由服务端随机生成并记录。
为了解决上述技术问题,本发明实施例第二方面提供了一种数据加密传输方法,所述方法由客户端执行;所述方法包括:
根据预先协商的对称秘钥对请求数据进行加密,获取数据密文;
根据预先协商的算法对所述对称秘钥、预先协商的访问凭证、客户端当前记录的随机因子和请求数据的数据长度进行处理,获取签名密文;
将所述数据密文和所述签名密文发送至服务端,使得服务端对所述签名密文进行校验,并在验证所述签名密文合法时,根据所述对称秘钥对所述数据密文进行解密,获取所述请求数据,根据所述请求数据进行相应的业务处理,获取应答数据,根据所述对称秘钥对所述应答数据进行加密,并将加密后的应答数据发送至客户端;
根据所述对称秘钥对所述加密后的应答数据进行解密,获取所述应答数据。
进一步地,在所述根据所述对称秘钥对所述加密后的应答数据进行解密,获取所述应答数据之后,所述方法还包括:
根据预设的更新规则对客户端当前记录的随机因子进行更新,并记录更新后的随机因子。
进一步地,所述更新规则为SEQN=Function(SEQN-1);其中,SEQN表示客户端第N次记录的随机因子,SEQN-1表示客户端第N-1次记录的随机因子,N表示客户端对随机因子的记录次数,N≥0;SEQ0为随机因子初始值,由服务端随机生成,并由服务端根据预先协商的非对称加密算法发送至客户端。
为了解决上述技术问题,本发明实施例第三方面提供了一种数据加密传输装置,所述装置设置在服务端中;所述装置包括:
签名密文校验模块,用于当接收到客户端发送的数据密文和签名密文时,对所述签名密文进行校验;其中,所述数据密文由客户端根据预先协商的对称秘钥对请求数据进行加密生成;所述签名密文由客户端根据预先协商的算法生成,所述签名密文包括所述对称秘钥、预先协商的访问凭证、客户端当前记录的随机因子和请求数据的数据长度;
数据密文解密模块,用于当验证所述签名密文合法时,根据所述对称秘钥对所述数据密文进行解密,获取客户端的请求数据;
业务数据处理模块,用于根据所述请求数据进行相应的业务处理,获取应答数据;
业务数据发送模块,用于根据所述对称秘钥对所述应答数据进行加密,并将加密后的应答数据发送至客户端,使得客户端根据所述对称秘钥对所述加密后的应答数据进行解密,获取所述应答数据。
为了解决上述技术问题,本发明实施例第四方面提供了一种数据加密传输装置,所述装置设置在客户端中;所述装置包括:
数据密文获取模块,用于根据预先协商的对称秘钥对请求数据进行加密,获取数据密文;
签名密文获取模块,用于根据预先协商的算法对所述对称秘钥、预先协商的访问凭证、客户端当前记录的随机因子和请求数据的数据长度进行处理,获取签名密文;
业务数据发送模块,用于将所述数据密文和所述签名密文发送至服务端,使得服务端对所述签名密文进行校验,并在验证所述签名密文合法时,根据所述对称秘钥对所述数据密文进行解密,获取所述请求数据,根据所述请求数据进行相应的业务处理,获取应答数据,根据所述对称秘钥对所述应答数据进行加密,并将加密后的应答数据发送至客户端;
业务数据接收模块,用于根据所述对称秘钥对所述加密后的应答数据进行解密,获取所述应答数据。
本发明实施例还提供了一种数据加密传输系统,所述系统包括至少一个服务端和至少一个客户端;其中,
每一服务端用于执行上述第一方面任一项所述的数据加密传输方法;
每一客户端用于执行上述第二方面任一项所述的数据加密传输方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行上述任一项所述的数据加密传输方法。
本发明实施例还提供了一种数据加密传输装置,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现上述任一项所述的数据加密传输方法。
与现有技术相比,本发明实施例提供了一种数据加密传输方法、装置、系统及计算机可读存储介质,当接收到客户端发送的数据密文和签名密文时,对签名密文进行校验;其中,数据密文由客户端根据预先协商的对称秘钥对请求数据进行加密生成;签名密文由客户端根据预先协商的算法生成,签名密文包括所述对称秘钥、预先协商的访问凭证、客户端当前记录的随机因子和请求数据的数据长度;当验证签名密文合法时,根据对称秘钥对数据密文进行解密,获取客户端的请求数据;根据请求数据进行相应的业务处理,获取应答数据;根据对称秘钥对应答数据进行加密,并将加密后的应答数据发送至客户端,使得客户端根据对称秘钥对加密后的应答数据进行解密,获取应答数据,从而能够高效传输数据,并提高数据传输的安全性与保密性。
附图说明
图1是本发明第一方面提供的一种数据加密传输方法的一个优选实施例的流程图;
图2是本发明第二方面提供的一种数据加密传输方法的一个优选实施例的流程图;
图3是本发明第三方面提供的一种数据加密传输装置的一个优选实施例的结构框图;
图4是本发明第四方面提供的一种数据加密传输装置的一个优选实施例的结构框图;
图5是本发明提供的一种数据加密传输系统的一个优选实施例的结构框图;
图6是本发明提供的一种数据加密传输装置的另一个优选实施例的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本技术领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的技术方案适用于基于嵌入式系统HTTP业务进行数据加密传输的过程,但不仅限于此,对于其他通信系统数据传输过程同样适用,本发明实施例不做具体限定。
另外,在进行数据加密传输之前,服务端与客户端建立了通信连接,并且服务端与客户端之间通过非对称加密算法预先协商了加密数据所使用的对称秘钥Key、客户端的访问凭证CER和随机因子SEQ等信息,其中,对称秘钥Key根据对称加密算法生成,对称加密算法可以是AES加密算法、DES加密算法、DESede加密算法、IDEA加密算法或者PBE加密算法等;随机因子SEQ的初始值SEQ0由服务端随机生成,服务端记录随机因子初始值SEQ0,并通过非对称加密算法将随机因子初始值SEQ0发送至客户端,客户端在接收到随机因子初始值SEQ0之后,同样将随机因子初始值SEQ0记录下来,非对称加密算法可以是Diffie-Hellman加密算法、RSA算加密法或者ElGamal加密算法等。
本发明实施例第一方面提供了一种数据加密传输方法,参见图1所示,是本发明第一方面提供的一种数据加密传输方法的一个优选实施例的流程图,所述方法由服务端执行;所述方法包括步骤S11至步骤S14:
步骤S11、当接收到客户端发送的数据密文和签名密文时,对所述签名密文进行校验;其中,所述数据密文由客户端根据预先协商的对称秘钥对请求数据进行加密生成;所述签名密文由客户端根据预先协商的算法生成,所述签名密文包括所述对称秘钥、预先协商的访问凭证、客户端当前记录的随机因子和请求数据的数据长度;
步骤S12、当验证所述签名密文合法时,根据所述对称秘钥对所述数据密文进行解密,获取客户端的请求数据;
步骤S13、根据所述请求数据进行相应的业务处理,获取应答数据;
步骤S14、根据所述对称秘钥对所述应答数据进行加密,并将加密后的应答数据发送至客户端,使得客户端根据所述对称秘钥对所述加密后的应答数据进行解密,获取所述应答数据。
具体的,在数据加密传输过程中,当服务端接收到客户端发送的数据密文和签名密文时,对接收到的签名密文进行校验;其中,该数据密文由客户端根据预先协商的对称秘钥Key对请求数据进行加密生成,该签名密文由客户端根据与服务端预先协商的算法对预先协商的对称秘钥Key、预先协商的访问凭证CER、客户端当前记录的随机因子SEQ和客户端本次发送的请求数据的数据长度DataLen等信息进行处理生成;当服务端验证该签名密文合法时,认为当前的数据传输过程安全,则根据预先协商的对称秘钥Key对接收到的数据密文进行解密,相应获得客户端的请求数据;服务端根据客户端的请求数据进行相应的业务处理(交由业务层进行业务处理),相应获得应答数据;服务端根据预先协商的对称秘钥Key对获得的应答数据进行加密,相应获得加密后的应答数据,并将加密后的应答数据发送至客户端,使得客户端在接收到服务端发送的加密后的应答数据之后,根据预先协商的对称秘钥Key对接收到的加密后的应答数据进行解密,相应获取服务端的应答数据,从而完成本次数据的加密传输过程。
需要说明的是,签名密文可以添加在业务数据的头部,签名的内容包括但不限于对称秘钥Key、访问凭证CER、随机因子SEQ和请求数据的数据长度DataLen,还可以包括其他可增加安全系数的信息,客户端在具体生成签名密文时,可以挑选其中的几种信息,按照一定的方法进行组合,例如顺序排列、逆序排列、哈希后排列等,最后进行哈希运算生成签名密文Signature,使用函数表示时,其中的一种形式为:Signature=FunctionA(Key,CER,SEQ,DataLen,......)。
本发明实施例所提供的一种数据加密传输方法,当服务端接收到客户端发送的数据密文和签名密文时,对签名密文进行校验;其中,数据密文由客户端根据预先协商的对称秘钥对请求数据进行加密生成;签名密文由客户端根据预先协商的算法生成,签名密文包括所述对称秘钥、预先协商的访问凭证、客户端当前记录的随机因子和请求数据的数据长度;当验证签名密文合法时,根据对称秘钥对数据密文进行解密,获取客户端的请求数据;根据请求数据进行相应的业务处理,获取应答数据;根据对称秘钥对应答数据进行加密,并将加密后的应答数据发送至客户端,使得客户端根据对称秘钥对加密后的应答数据进行解密,获取服务端的应答数据,从而能够高效传输数据,并提高数据传输的安全性与保密性。
作为上述方案的改进,所述方法通过以下步骤对所述签名密文进行校验:
根据预先协商的算法对所述对称秘钥、所述访问凭证、服务端当前记录的随机因子和所述数据长度进行处理,获得签名验证密文;
将所述签名验证密文和所述签名密文进行比较;
当所述签名验证密文和所述签名密文相同时,验证所述签名密文合法;
当所述签名验证密文和所述签名密文不相同时,验证所述签名密文非法。
具体的,结合上述实施例,由于服务端与客户端之间通过非对称加密算法预先协商了对称秘钥Key和访问凭证CER,并且服务端记录了随机因子SEQ,同时,服务端在接受到客户端发送的数据密文之后,能够获知客户端本次发送的请求数据的数据长度DataLen,因此,服务端可以根据预先协商的算法对对称秘钥Key、访问凭证CER、服务端当前记录的随机因子SEQ和客户端发送的请求数据的数据长度DataLen进行处理,相应获得签名验证密文,将获得的签名验证密文和接收到的客户端发送的签名密文进行比较,当签名验证密文和签名密文相同时,验证签名密文合法,认为当前的数据传输过程安全,则进行后续的数据处理;当签名验证密文和签名密文不相同时,验证签名密文非法,认为当前的数据传输过程不安全,则触发安全机制进行相应处理。
例如,客户端根据上述FunctionA生成签名密文Signature1,服务端根据上述FunctionA生成签名验证密文Signature2,当Signature1=Signature2时,验证签名密文合法,当Signature1≠Signature2时,验证签名密文非法。
作为上述方案的改进,在将加密后的应答数据发送至客户端之后,所述方法还包括:
根据预设的更新规则对服务端当前记录的随机因子进行更新,并记录更新后的随机因子。
具体的,结合上述实施例,在服务端向客户端返回加密后的应答数据之后,表示服务端当前的数据传输过程完成,则服务端根据预设的更新规则对服务端当前记录的随机因子进行更新,并记录更新后的随机因子,用于下一次数据传输时生成签名验证密文。
需要说明的是,为了验证签名密文的合法性,服务端对随机因子的更新规则和客户端对随机因子的更新规则需保持相同。
优选地,所述更新规则为SEQN=Function(SEQN-1);其中,SEQN表示服务端第N次记录的随机因子,SEQN-1表示服务端第N-1次记录的随机因子,N表示服务端对随机因子的记录次数,N≥0;SEQ0为随机因子初始值,由服务端随机生成并记录。
具体的,结合上述实施例,服务端记录的随机因子在每次数据传输完成后,其值SEQN会根据上一次记录的值SEQN-1进行变换,变换过程可以是递增、递减、线性或者非线性变化的更新规则,使用递推函数表示更新规则为SEQN=Function(SEQN-1)。
需要说明的是,访问凭证CER是客户端安全访问服务端所设置的保障之一,如果服务端数据访问有权限分级的情况,访问凭证CER是提供给服务端检查客户端的权限的,如果没有权限分级,访问凭证CER可以不检查;每次客户端发送的签名密文中的随机因子SEQ都是不同的,检查随机因子SEQ是为了防止重发劫持(第三方截获请求数据后发送到服务端,套取服务端数据),记录随机因子SEQ是为了后续验证客户端发送的签名密文,另外,由于随机因子SEQ是变化的,因此,在服务端与客户端的数据加密传输过程中,每一次客户端向服务端发送的签名密文中都需要包含客户端当前记录的随机因子SEQ。
本发明实施例第二方面提供了一种数据加密传输方法,参见图2所示,是本发明第二方面提供的一种数据加密传输方法的一个优选实施例的流程图,所述方法由客户端执行;所述方法包括步骤S21至步骤S24:
步骤S21、根据预先协商的对称秘钥对请求数据进行加密,获取数据密文;
步骤S22、根据预先协商的算法对所述对称秘钥、预先协商的访问凭证、客户端当前记录的随机因子和请求数据的数据长度进行处理,获取签名密文;
步骤S23、将所述数据密文和所述签名密文发送至服务端,使得服务端对所述签名密文进行校验,并在验证所述签名密文合法时,根据所述对称秘钥对所述数据密文进行解密,获取所述请求数据,根据所述请求数据进行相应的业务处理,获取应答数据,根据所述对称秘钥对所述应答数据进行加密,并将加密后的应答数据发送至客户端;
步骤S24、根据所述对称秘钥对所述加密后的应答数据进行解密,获取所述应答数据。
具体的,在数据加密传输过程中,客户端根据预先协商的对称秘钥Key对本次待发送的请求数据进行加密,相应生成数据密文,同时,客户端根据与服务端预先协商的算法对预先协商的对称秘钥Key、预先协商的访问凭证CER、客户端当前记录的随机因子SEQ和本次待发送的请求数据的数据长度DataLen等信息进行处理,相应生成签名密文;客户端将生成的数据密文和签名密文发送至服务端,使得服务端在接收到客户端发送的数据密文和签名密文之后,对接收到的签名密文进行校验,当服务端验证该签名密文合法时,认为当前的数据传输过程安全,则服务端根据预先协商的对称秘钥Key对接收到的数据密文进行解密,相应获得客户端的请求数据,服务端根据客户端的请求数据进行相应的业务处理(交由业务层进行业务处理),相应获得应答数据,服务端根据预先协商的对称秘钥Key对获得的应答数据进行加密,相应获得加密后的应答数据,并将加密后的应答数据发送至客户端;客户端在接收到服务端发送的加密后的应答数据之后,根据预先协商的对称秘钥Key对接收到的加密后的应答数据进行解密,相应获取服务端的应答数据,从而完成本次数据的加密传输过程。
需要说明的是,签名密文可以添加在业务数据的头部,签名的内容包括但不限于对称秘钥Key、访问凭证CER、随机因子SEQ和请求数据的数据长度DataLen,还可以包括其他可增加安全系数的信息,客户端在具体生成签名密文时,可以挑选其中的几种信息,按照一定的方法进行组合,例如顺序排列、逆序排列、哈希后排列等,最后进行哈希运算生成签名密文Signature,使用函数表示时,其中的一种形式为:Signature=FunctionA(Key,CER,SEQ,DataLen,......)。
本发明实施例所提供的一种数据加密传输方法,客户端根据预先协商的对称秘钥对请求数据进行加密,获取数据密文,并根据预先协商的算法对对称秘钥、预先协商的访问凭证、客户端当前记录的随机因子和请求数据的数据长度进行处理,获取签名密文;将数据密文和签名密文发送至服务端,使得服务端对签名密文进行校验,并在验证签名密文合法时,根据对称秘钥对数据密文进行解密,获取客户端的请求数据,根据请求数据进行相应的业务处理,获取应答数据,根据对称秘钥对应答数据进行加密,并将加密后的应答数据发送至客户端;客户端根据对称秘钥对加密后的应答数据进行解密,获取服务端的应答数据,从而能够高效传输数据,并提高数据传输的安全性与保密性。
作为上述方案的改进,在所述根据所述对称秘钥对所述加密后的应答数据进行解密,获取所述应答数据之后,所述方法还包括:
根据预设的更新规则对客户端当前记录的随机因子进行更新,并记录更新后的随机因子。
具体的,结合上述实施例,在客户端获得服务端返回的应答数据之后,表示客户端当前的数据传输过程完成,则客户端根据预设的更新规则对客户端当前记录的随机因子进行更新,并记录更新后的随机因子,用于下一次数据传输时生成签名密文。
需要说明的是,为了验证签名密文的合法性,客户端对随机因子的更新规则和服务端对随机因子的更新规则需保持相同。
作为上述方案的改进,所述更新规则为SEQN=Function(SEQN-1);其中,SEQN表示客户端第N次记录的随机因子,SEQN-1表示客户端第N-1次记录的随机因子,N表示客户端对随机因子的记录次数,N≥0;SEQ0为随机因子初始值,由服务端随机生成,并由服务端根据预先协商的非对称加密算法发送至客户端。
具体的,结合上述实施例,客户端记录的随机因子在每次数据传输完成后,其值SEQN会根据上一次记录的值SEQN-1进行变换,变换过程可以是递增、递减、线性或者非线性变化的更新规则,使用递推函数表示更新规则为SEQN=Function(SEQN-1)。
例如,具体的更新规则为SEQN=Function(SEQN-1)=SEQN-1+A,A为预设常数,可以选择任意一个自然数,对于客户端来说,第0次记录的随机因子为接收到的服务端发送的随机因子初始值SEQ0,随机因子初始值SEQ0是由服务端随机生成的,可以设置一个最低位数限制(6位数的任意数值),假设取A=2,SEQ0=837247,则客户端第1次记录的随机因子为SEQ1=SEQ0+A=837247+2=837249,第二次记录的随机因子为SEQ2=SEQ1+A=837249+2=837251,以此类推。
本发明实施例第三方面提供了一种数据加密传输装置,能够实现上述第一方面任一实施例所述的数据加密传输方法的所有流程,装置中的各个模块的作用以及实现的技术效果分别与上述第一方面实施例所述的数据加密传输方法的作用以及实现的技术效果对应相同,这里不再赘述。
参见图3所示,是本发明第三方面提供的一种数据加密传输装置的一个优选实施例的结构框图,所述装置设置在服务端中;所述装置包括:
签名密文校验模块11,用于当接收到客户端发送的数据密文和签名密文时,对所述签名密文进行校验;其中,所述数据密文由客户端根据预先协商的对称秘钥对请求数据进行加密生成;所述签名密文由客户端根据预先协商的算法生成,所述签名密文包括所述对称秘钥、预先协商的访问凭证、客户端当前记录的随机因子和请求数据的数据长度;
数据密文解密模块12,用于当验证所述签名密文合法时,根据所述对称秘钥对所述数据密文进行解密,获取客户端的请求数据;
业务数据处理模块13,用于根据所述请求数据进行相应的业务处理,获取应答数据;
业务数据发送模块14,用于根据所述对称秘钥对所述应答数据进行加密,并将加密后的应答数据发送至客户端,使得客户端根据所述对称秘钥对所述加密后的应答数据进行解密,获取所述应答数据。
优选地,所述签名密文校验模块11具体包括:
签名密文生成单元,用于根据预先协商的算法对所述对称秘钥、所述访问凭证、服务端当前记录的随机因子和所述数据长度进行处理,获得签名验证密文;
签名密文比较单元,用于将所述签名验证密文和所述签名密文进行比较;
第一校验单元,用于当所述签名验证密文和所述签名密文相同时,验证所述签名密文合法;
第二校验单元,用于当所述签名验证密文和所述签名密文不相同时,验证所述签名密文非法。
优选地,所述装置还包括:
随机因子更新模块,用于根据预设的更新规则对服务端当前记录的随机因子进行更新,并记录更新后的随机因子。
优选地,所述更新规则为SEQN=Function(SEQN-1);其中,SEQN表示服务端第N次记录的随机因子,SEQN-1表示服务端第N-1次记录的随机因子,N表示服务端对随机因子的记录次数,N≥0;SEQ0为随机因子初始值,由服务端随机生成并记录。
本发明实施例第四方面提供了一种数据加密传输装置,能够实现上述第二方面任一实施例所述的数据加密传输方法的所有流程,装置中的各个模块、单元的作用以及实现的技术效果分别与上述第二方面实施例所述的数据加密传输方法的作用以及实现的技术效果对应相同,这里不再赘述。
参见图4所示,是本发明第四方面提供的一种数据加密传输装置的一个优选实施例的结构框图,所述装置设置在客户端中;所述装置包括:
数据密文获取模块21,用于根据预先协商的对称秘钥对请求数据进行加密,获取数据密文;
签名密文获取模块22,用于根据预先协商的算法对所述对称秘钥、预先协商的访问凭证、客户端当前记录的随机因子和请求数据的数据长度进行处理,获取签名密文;
业务数据发送模块23,用于将所述数据密文和所述签名密文发送至服务端,使得服务端对所述签名密文进行校验,并在验证所述签名密文合法时,根据所述对称秘钥对所述数据密文进行解密,获取所述请求数据,根据所述请求数据进行相应的业务处理,获取应答数据,根据所述对称秘钥对所述应答数据进行加密,并将加密后的应答数据发送至客户端;
业务数据接收模块24,用于根据所述对称秘钥对所述加密后的应答数据进行解密,获取所述应答数据。
优选地,所述装置还包括:
随机因子更新模块,用于根据预设的更新规则对客户端当前记录的随机因子进行更新,并记录更新后的随机因子。
优选地,所述更新规则为SEQN=Function(SEQN-1);其中,SEQN表示客户端第N次记录的随机因子,SEQN-1表示客户端第N-1次记录的随机因子,N表示客户端对随机因子的记录次数,N≥0;SEQ0为随机因子初始值,由服务端随机生成,并由服务端根据预先协商的非对称加密算法发送至客户端。
本发明实施例还提供了一种数据加密传输系统,参见图5所示,是本发明提供的一种数据加密传输系统的一个优选实施例的结构框图,所述系统包括至少一个服务端100和至少一个客户端200;其中,
每一服务端100用于执行上述第一方面任一实施例所述的数据加密传输方法;
每一客户端200用于执行上述第二方面任一实施例任一项所述的数据加密传输方法。
可以理解的,本发明实施例提供的数据加密传输系统能够对应实现上述第一方面和第二方面任一实施例所述的数据加密传输方法的所有流程,该系统的作用以及实现的技术效果分别与上述第一方面和第二方面实施例所述的数据加密传输方法的作用以及实现的技术效果对应相同,这里不再赘述。
需要说明的是,图5所示的数据加密传输系统的结构框图只包括一个服务端和一个客户端,仅仅是该系统的示例,并不构成对该系统的限定。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行上述第一方面或第二方面任一实施例所述的数据加密传输方法。
本发明实施例还提供了一种数据加密传输装置,参见图6所示,是本发明提供的一种数据加密传输装置的另一个优选实施例的结构框图,所述装置包括处理器10、存储器20以及存储在所述存储器20中且被配置为由所述处理器10执行的计算机程序,所述处理器10在执行所述计算机程序时实现上述第一方面或第二方面任一实施例所述的数据加密传输方法。
优选地,所述计算机程序可以被分割成一个或多个模块/单元(如计算机程序1、计算机程序2、······),所述一个或者多个模块/单元被存储在所述存储器20中,并由所述处理器10执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述装置中的执行过程。
所述处理器10可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,通用处理器可以是微处理器,或者所述处理器10也可以是任何常规的处理器,所述处理器10是所述装置的控制中心,利用各种接口和线路连接所述装置的各个部分。
所述存储器20主要包括程序存储区和数据存储区,其中,程序存储区可存储操作系统、至少一个功能所需的应用程序等,数据存储区可存储相关数据等。此外,所述存储器20可以是高速随机存取存储器,还可以是非易失性存储器,例如插接式硬盘,智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡和闪存卡(Flash Card)等,或所述存储器20也可以是其他易失性固态存储器件。
需要说明的是,上述装置可包括,但不仅限于,处理器、存储器,本领域技术人员可以理解,图6结构框图仅仅是上述装置的示例,并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
综上,本发明实施例所提供的一种数据加密传输方法、装置、系统及计算机可读存储介质,具有以下有益效果:
(1)数据传输过程中的业务数据是加密的数据密文,增强了数据传输的安全性和保密性,可以有效保护用户隐私,隐藏敏感信息和数据信息;
(2)通过签名密文的校验,可以有效避免第三方利用截获的HTTP业务传输的报文,来欺骗访问HTTP业务的服务器;
(3)与HTTPS技术相比,本发明的技术方案可以节省数据传输的网络带宽,花费时间较短,从而可以提高数据传输效率,并且成本较低;
(4)与HTTPS技术相比,本发明的技术方案对HTTP的兼容性更好,客户端不必需获取服务器证书;
(5)与HTTPS技术的通信全程加密相比,本发明的技术方案是HTTP业务层加密,可以将更多灵活度留给web开发人员。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (12)

1.一种数据加密传输方法,其特征在于,所述方法由服务端执行;所述方法包括:
当接收到客户端发送的数据密文和签名密文时,对所述签名密文进行校验;其中,所述数据密文由客户端根据预先协商的对称秘钥对请求数据进行加密生成;所述签名密文由客户端根据预先协商的算法生成,所述签名密文包括所述对称秘钥、预先协商的访问凭证、客户端当前记录的随机因子和请求数据的数据长度;
当验证所述签名密文合法时,根据所述对称秘钥对所述数据密文进行解密,获取客户端的请求数据;
根据所述请求数据进行相应的业务处理,获取应答数据;
根据所述对称秘钥对所述应答数据进行加密,并将加密后的应答数据发送至客户端,使得客户端根据所述对称秘钥对所述加密后的应答数据进行解密,获取所述应答数据。
2.如权利要求1所述的数据加密传输方法,其特征在于,所述方法通过以下步骤对所述签名密文进行校验:
根据预先协商的算法对所述对称秘钥、所述访问凭证、服务端当前记录的随机因子和所述数据长度进行处理,获得签名验证密文;
将所述签名验证密文和所述签名密文进行比较;
当所述签名验证密文和所述签名密文相同时,验证所述签名密文合法;
当所述签名验证密文和所述签名密文不相同时,验证所述签名密文非法。
3.如权利要求1或2所述的数据加密传输方法,其特征在于,在将加密后的应答数据发送至客户端之后,所述方法还包括:
根据预设的更新规则对服务端当前记录的随机因子进行更新,并记录更新后的随机因子。
4.如权利要求3所述的数据加密传输方法,其特征在于,所述更新规则为SEQN=Function(SEQN-1);其中,SEQN表示服务端第N次记录的随机因子,SEQN-1表示服务端第N-1次记录的随机因子,N表示服务端对随机因子的记录次数,N≥0;SEQ0为随机因子初始值,由服务端随机生成并记录。
5.一种数据加密传输方法,其特征在于,所述方法由客户端执行;所述方法包括:
根据预先协商的对称秘钥对请求数据进行加密,获取数据密文;
根据预先协商的算法对所述对称秘钥、预先协商的访问凭证、客户端当前记录的随机因子和请求数据的数据长度进行处理,获取签名密文;
将所述数据密文和所述签名密文发送至服务端,使得服务端对所述签名密文进行校验,并在验证所述签名密文合法时,根据所述对称秘钥对所述数据密文进行解密,获取所述请求数据,根据所述请求数据进行相应的业务处理,获取应答数据,根据所述对称秘钥对所述应答数据进行加密,并将加密后的应答数据发送至客户端;
根据所述对称秘钥对所述加密后的应答数据进行解密,获取所述应答数据。
6.如权利要求5所述的数据加密传输方法,其特征在于,在所述根据所述对称秘钥对所述加密后的应答数据进行解密,获取所述应答数据之后,所述方法还包括:
根据预设的更新规则对客户端当前记录的随机因子进行更新,并记录更新后的随机因子。
7.如权利要求6所述的数据加密传输方法,其特征在于,所述更新规则为SEQN=Function(SEQN-1);其中,SEQN表示客户端第N次记录的随机因子,SEQN-1表示客户端第N-1次记录的随机因子,N表示客户端对随机因子的记录次数,N≥0;SEQ0为随机因子初始值,由服务端随机生成,并由服务端根据预先协商的非对称加密算法发送至客户端。
8.一种数据加密传输装置,其特征在于,所述装置设置在服务端中;所述装置包括:
签名密文校验模块,用于当接收到客户端发送的数据密文和签名密文时,对所述签名密文进行校验;其中,所述数据密文由客户端根据预先协商的对称秘钥对请求数据进行加密生成;所述签名密文由客户端根据预先协商的算法生成,所述签名密文包括所述对称秘钥、预先协商的访问凭证、客户端当前记录的随机因子和请求数据的数据长度;
数据密文解密模块,用于当验证所述签名密文合法时,根据所述对称秘钥对所述数据密文进行解密,获取客户端的请求数据;
业务数据处理模块,用于根据所述请求数据进行相应的业务处理,获取应答数据;
业务数据发送模块,用于根据所述对称秘钥对所述应答数据进行加密,并将加密后的应答数据发送至客户端,使得客户端根据所述对称秘钥对所述加密后的应答数据进行解密,获取所述应答数据。
9.一种数据加密传输装置,其特征在于,所述装置设置在客户端中;所述装置包括:
数据密文获取模块,用于根据预先协商的对称秘钥对请求数据进行加密,获取数据密文;
签名密文获取模块,用于根据预先协商的算法对所述对称秘钥、预先协商的访问凭证、客户端当前记录的随机因子和请求数据的数据长度进行处理,获取签名密文;
业务数据发送模块,用于将所述数据密文和所述签名密文发送至服务端,使得服务端对所述签名密文进行校验,并在验证所述签名密文合法时,根据所述对称秘钥对所述数据密文进行解密,获取所述请求数据,根据所述请求数据进行相应的业务处理,获取应答数据,根据所述对称秘钥对所述应答数据进行加密,并将加密后的应答数据发送至客户端;
业务数据接收模块,用于根据所述对称秘钥对所述加密后的应答数据进行解密,获取所述应答数据。
10.一种数据加密传输系统,其特征在于,所述系统包括至少一个服务端和至少一个客户端;其中,
每一服务端用于执行如权利要求1~4任一项所述的数据加密传输方法;
每一客户端用于执行如权利要求5~7任一项所述的数据加密传输方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行如权利要求1~4任一项所述的数据加密传输方法或如权利要求5~7任一项所述的数据加密传输方法。
12.一种数据加密传输装置,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现如权利要求1~4任一项所述的数据加密传输方法或如权利要求5~7任一项所述的数据加密传输方法。
CN201911177421.0A 2019-11-26 2019-11-26 一种数据加密传输方法、装置、系统及存储介质 Active CN110868291B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911177421.0A CN110868291B (zh) 2019-11-26 2019-11-26 一种数据加密传输方法、装置、系统及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911177421.0A CN110868291B (zh) 2019-11-26 2019-11-26 一种数据加密传输方法、装置、系统及存储介质

Publications (2)

Publication Number Publication Date
CN110868291A CN110868291A (zh) 2020-03-06
CN110868291B true CN110868291B (zh) 2023-03-24

Family

ID=69656111

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911177421.0A Active CN110868291B (zh) 2019-11-26 2019-11-26 一种数据加密传输方法、装置、系统及存储介质

Country Status (1)

Country Link
CN (1) CN110868291B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113497778B (zh) * 2020-03-18 2023-05-12 北京同邦卓益科技有限公司 一种数据的传输方法和装置
CN112926076B (zh) * 2021-03-29 2023-03-21 中国建设银行股份有限公司 一种数据处理的方法、装置和系统
CN114124494B (zh) * 2021-11-12 2023-06-30 中国联合网络通信集团有限公司 一种数据处理方法、装置、设备及存储介质
CN114614994A (zh) * 2022-03-25 2022-06-10 芜湖雄狮汽车科技有限公司 Api接口数据的通信方法、装置、客户端及存储介质
CN116707850A (zh) * 2022-09-29 2023-09-05 荣耀终端有限公司 一种数据处理方法、数据访问方法及设备
CN116112172B (zh) * 2022-11-09 2023-08-22 上海创蓝云智信息科技股份有限公司 Android客户端gRPC接口安全校验的方法和装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9781081B1 (en) * 2015-10-02 2017-10-03 Amazon Technologies, Inc. Leveraging transport-layer cryptographic material

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266670A (ja) * 1993-03-11 1994-09-22 Fujitsu Ltd 暗号化仮想端末初期化装置
US20060123120A1 (en) * 2004-04-08 2006-06-08 Thomas Merkh Methods for establishing and validating sessions
CN106817219B (zh) * 2015-12-01 2020-11-03 阿里巴巴集团控股有限公司 一种协商会话秘钥的方法及装置
CN105915342A (zh) * 2016-07-01 2016-08-31 广州爱九游信息技术有限公司 一种应用程序通信处理系统、设备、装置及方法
CN107302541A (zh) * 2017-07-31 2017-10-27 成都蓝码科技发展有限公司 一种基于http协议的数据加密传输方法
CN108769027B (zh) * 2018-05-31 2021-10-29 深圳壹账通智能科技有限公司 安全通信方法、装置、移动终端和存储介质
CN109150821A (zh) * 2018-06-01 2019-01-04 成都通甲优博科技有限责任公司 基于超文本传输协议http的数据交互方法及系统
CN109831311B (zh) * 2019-03-21 2022-04-01 深圳市网心科技有限公司 一种服务器验证方法、系统、用户终端及可读存储介质
CN110213041A (zh) * 2019-04-26 2019-09-06 五八有限公司 数据加密方法、解密方法、装置、电子设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9781081B1 (en) * 2015-10-02 2017-10-03 Amazon Technologies, Inc. Leveraging transport-layer cryptographic material

Also Published As

Publication number Publication date
CN110868291A (zh) 2020-03-06

Similar Documents

Publication Publication Date Title
US11757662B2 (en) Confidential authentication and provisioning
CN110868291B (zh) 一种数据加密传输方法、装置、系统及存储介质
CN107210914B (zh) 用于安全凭证供应的方法
US9852300B2 (en) Secure audit logging
RU2589861C2 (ru) Система и способ шифрования данных пользователя
USH2270H1 (en) Open protocol for authentication and key establishment with privacy
US8281132B2 (en) Method and apparatus for security over multiple interfaces
CN106209352B (zh) 具有前向安全性的有效密钥衍生
CN110708291B (zh) 分布式网络中数据授权访问方法、装置、介质及电子设备
US20220014354A1 (en) Systems, methods and devices for provision of a secret
CN109347923B (zh) 基于非对称密钥池的抗量子计算云存储方法和系统
CN102404337A (zh) 数据加密方法和装置
CN111316596A (zh) 具有身份验证的加密芯片
US20230269078A1 (en) Key sharing method, key sharing system, authenticating device, authentication target device, recording medium, and authentication method
CN109299618B (zh) 基于量子密钥卡的抗量子计算云存储方法和系统
JP2022117456A (ja) ハードウェアセキュリティモジュールを備えたメッセージ伝送システム
US20200160333A1 (en) System and method for the protection of consumer financial data utilizing dynamic content shredding
US10764260B2 (en) Distributed processing of a product on the basis of centrally encrypted stored data
CN114553566B (zh) 数据加密方法、装置、设备及存储介质
CN108985079B (zh) 数据验证方法和验证系统
Reddy et al. Data Storage on Cloud using Split-Merge and Hybrid Cryptographic Techniques
CN113449345A (zh) 一种由微处理器实现的用于保护数据的方法及系统
CN115361140A (zh) 安全芯片密钥验证方法及装置
AU2020286255A1 (en) User verification systems and methods
AU2024202015A1 (en) User verification systems and methods

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
TA01 Transfer of patent application right

Effective date of registration: 20220822

Address after: 201700 floor 5, No. 1 and 5, Lane 168, Xumin Road, Qingpu District, Shanghai

Applicant after: Shanghai LianHong Technology Co.,Ltd.

Address before: 518000 the 1st and 3rd floors of the south section of building 24 and the 1st-4th floor of the north section of building 28, Shennan Road Science and Technology Park, Nanshan District, Shenzhen City, Guangdong Province

Applicant before: TP-LINK TECHNOLOGIES Co.,Ltd.

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant