CN112637177B - 数据加密传输方法、装置、设备及介质 - Google Patents
数据加密传输方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN112637177B CN112637177B CN202011498967.9A CN202011498967A CN112637177B CN 112637177 B CN112637177 B CN 112637177B CN 202011498967 A CN202011498967 A CN 202011498967A CN 112637177 B CN112637177 B CN 112637177B
- Authority
- CN
- China
- Prior art keywords
- data
- client
- server
- packet
- symmetric key
- 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
- H04L63/045—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 wherein the sending and receiving network entities apply hybrid encryption, i.e. combination of symmetric and asymmetric encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/163—In-band adaptation of TCP data exchange; In-band control procedures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开提供了一种数据加密传输方法,数据基于QUIC协议的代理服务器传输,包括:接收客户端第一次访问WEB应用发送的TCP数据请求包,并将TCP数据请求包转发至服务端;接收服务端返回的第一数据响应包及config封装的数据包,向第一数据响应包中添加QUIC信息,生成第二数据响应包,并转发config封装的数据包及第二数据响应包至客户端;接收客户端发送的通过第一通信公钥及第一对称密钥加密的第一业务数据,并转发至服务端;接收服务端发送的通过第二通信公钥及第二对称密钥加密的第二业务数据,并转发至客户端。本公开还提供一种数据加密传输装置、一种电子设备及一种可读存储介质。
Description
技术领域
本公开涉及互联网技术领域,更具体地,涉及一种数据加密传输方法、装置、设备及介质。
背景技术
随着Internet技术的不断发展web应用层出不穷,在众多类似的web应用的选择中用户的要求在不断提升,目前主流的web应用要在保障安全稳定的前提下,尽可能的提升交互速度以满足用户的需求。在提高web应用性能上,可以选择在应用层使用HTTP2.0实现多路传输,在物理层使用CDN解决网络拥塞和最后一公里问题。在传输层,目前主要使用TCP,但由于TCP本身的问题,成为了限制web应用性能的一个瓶颈。
TCP作为一种传输控制协议,优点是安全、流量稳定、讲求封包的传输顺序,但缺点是效率低、连接耗时。UDP虽然较不安全、可能有掉封包或封包后发先至的问题,但较简单、传输效率更高,能大幅减低延迟性。
发明内容
有鉴于此,本公开提供了一种数据加密传输方法、装置、设备及介质。
本公开的一个方面提供了一种数据加密传输方法,所述数据基于QUIC协议的代理服务器传输,包括:接收客户端第一次访问WEB应用发送的TCP数据请求包,并将所述TCP数据请求包转发至服务端;接收所述服务端返回的第一数据响应包及config封装的数据包,向所述第一数据响应包中添加QUIC信息,生成第二数据响应包,并转发config封装的数据包及第二数据响应包至所述客户端;接收所述客户端发送的通过第一通信公钥及第一对称密钥加密的第一业务数据,并转发至所述服务端,其中,所述第一通信公钥及所述第一对称密钥为所述客户端根据所述config封装的数据包计算得到;接收所述服务端发送的通过第二通信公钥及第二对称密钥加密的第二业务数据,并转发至所述客户端,其中,所述第二业务数据为所述服务端对所述第一业务数据的响应数据。
根据本公开的实施例,所述服务端接收到第一业务数据后,根据所述config封装的数据包计算第三对称密钥并解出第一通信公钥;判断所述第三对称密钥与所述第一对称密钥加密是否相等,若相等,采用所述第三对称密钥及第一通信公钥对所述第一业务数据进行解密。
根据本公开的实施例,所述客户端接收到第二业务数据后,根据所述config封装的数据包计算第四对称密钥并解出第二通信公钥;判断所述第四对称密钥与所述第二对称密钥加密是否相等,若相等,采用所述第四对称密钥及第二通信公钥对所述第二业务数据进行解密。
根据本公开的实施例,若所述第四对称密钥与所述第二对称密钥加密相等,在所述客户端与所述服务端未断开连接之前,采用所述第二对称密钥加密加密业务数据。
根据本公开的实施例,所述方法还包括:在所述客户端缓存所述config封装的数据包。
根据本公开的实施例,所述方法还包括:当所述客户端与所述服务端断开连接之后需要再次通信时,所述客户端获取缓存的config封装的数据包,根据所述config封装的数据包及自身产生的随机数计算新的对称密钥,使用所述新的对称密钥加密业务数据。
根据本公开的实施例,所述基于QUIC协议的代理服务器通过HTTP代理将所述客户端发送的数据转发至所述服务端。
本公开另一方面提供一种数据加密传输装置,包括:客户端、基于QUIC协议的代理服务器及服务端,其中,所述基于QUIC协议的代理服务器包括:第一接收模块,用于接收客户端第一次访问WEB应用发送的TCP数据请求包,并将所述TCP数据请求包转发至服务端;第二接收模块,用于接收所述服务端返回的第一数据响应包及config封装的数据包,向所述数据响应包中添加QUIC信息,生成第二数据响应包,并转发config封装的数据包及第二数据响应包至所述客户端;第三接收模块,用于接收所述客户端发送的通过第一通信公钥及第一对称密钥加密的第一业务数据,并转发至所述服务端,其中,所述第一通信公钥及所述第一对称密钥为所述客户端根据所述config封装的数据包计算得到;第四接收模块,用于接收所述服务端发送的通过第二通信公钥及第二对称密钥加密的第二业务数据,并转发至所述客户端,其中,所述第二业务数据为所述服务端对所述第一业务数据的响应数据。
本公开的另一个方面提供了一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序,其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上所述的方法。
本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
附图说明
通过以下参照附图对本公开实施例的描述,本公开的上述以及其他目的、特征和优点将更为清楚,在附图中:
图1示意性示出了本公开实施例的实现数据加密传输方法的***架构图;
图2示意性示出了根据本公开实施例的数据加密传输方法的流程图;
图3示意性示出了根据本公开实施例的0RTT加密传输的过程图;
图4示意性示出了根据本公开实施例的基于QUIC协议的代理服务器的框图;
图5示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的框图。
具体实施方式
以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的***”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的***等)。
在实现本公开的构思的过程中,申请人研究发现:在web应用前增加一个QUIC代理即可有效提升web应用在传输层的性能,可用于实现0RTT加密传输。
图1示意性示出了本公开实施例的实现数据加密传输方法的***架构图。
如图1所示,需要在客户端101与服务端103之间配置至少一个基于QUIC协议的代理服务器102,该QUIC协议的代理服务器102可用于将接收前端客户端101发送的请求,并代理值后端服务端103。
需要说明的是,***中客户端、基于QUIC协议的代理服务器及服务端的数目是任意的,可根据实际需求设定。下面进行以该***架构对本实施例提供的方法进行详细介绍。
图2示意性示出了根据本公开实施例的数据加密传输方法的流程图。
如图2所示,该方法例如可以包括操作S201~S204。
在操作S201,接收客户端第一次访问WEB应用发送的TCP数据请求包,并将TCP数据请求包转发至服务端。
根据本公开的实施例,基于QUIC协议的代理服务器102接收客户端101发送的TCP数据请求包,并转发至服务端103,服务端103会对TCP数据请求包进行响应,生成第一响应数据包。服务端103还会生成根据config封装的数据包,用于后续数据传输中对称密钥的生成。该数据包可以是一个包含{p,g,Kpub}三元组的数据包。其中,基于QUIC协议的代理服务器102可以通过HTTP代理将客户端101发送的数据转发至所述服务端103。
在操作S202,接收服务端返回的第一数据响应包及config封装的数据包,向第一数据响应包中添加QUIC信息,生成第二数据响应包,并转发config封装的数据包及第二数据响应包至客户端。
根据本公开的实施例,基于QUIC协议的代理服务器102生成QUIC信息,将QUIC信息及config封装的数据包添加至第一数据包,生成第二数据包。基于QUIC协议的代理服务器102可以将QUIC信息及config封装的数据包添加至第一数据包的数据头中。QUIC信息例如可以是alt-svc:quic=″:443″;ma=2592000;v=“46,44,43,39”。
在操作S203,接收客户端发送的通过第一通信公钥及第一对称密钥加密的第一业务数据,并转发至服务端,其中,第一通信公钥及第一对称密钥为客户端根据config封装的数据包计算得到。
根据本公开的实施例,在客户端101接收基于QUIC协议的代理服务器102发送的包含QUIC信息的第二响应数据包后,客户端获知可以使用QUIC协议请求资源。在之后发送业务数据时,使用QUIC协议发送请求。使用QUIC协议发送请求具体包括:客户端根据config封装的数据包计算得到第一对称密钥及第一通信公钥,并采用第一对称密钥及第一通信公钥对第一业务数据进行加密。可以使用DH算法计算第一对称密钥。
在操作S204,接收服务端发送的通过第二通信公钥及第二对称密钥加密的第二业务数据,并转发至客户端,其中,第二业务数据为服务端对第一业务数据的响应数据。
根据本公开的实施例,服务端103接收到第一业务数据后,首先,根据config封装的数据包计算第三对称密钥并解出第一通信公钥。判断第三对称密钥与第一对称密钥加密是否相等,若相等,采用第三对称密钥及第一通信公钥对第一业务数据进行解密,获取第一业务数据,并根据第一业务数据包含的信息作出响应,生成第二业务数据。然后,计算新的第二通信公钥及第二对称密钥加密,使用第二通信公钥及第二对称密钥加密对第二业务数据加密后发送至基于QUIC协议的代理服务器102。基于QUIC协议的代理服务器102将第二业务数据转发至客户端101,客户端101接收到第二业务数据后,根据config封装的数据包计算第四对称密钥并解出第二通信公钥,判断第四对称密钥与第二对称密钥加密是否相等,若相等,采用第四对称密钥及第二通信公钥对第二业务数据进行解密,获取第二业务数据。至此,完成数据的加密传输。
根据本公开的实施例,数据加密传输方法还包括:若第四对称密钥与第二对称密钥加密相等,在客户端101与服务端103未断开连接之前,采用第二对称密钥加密加密业务数据。也即,在此之后的一段时间内通讯便可以使用K2做通信对称密钥。
根据本公开的实施例,数据加密传输方法还包括:在客户端缓存config封装的数据包。当客户端与所述服务端断开连接之后需要再次通信时,客户端获取缓存的config封装的数据包,根据config封装的数据包及自身产生的随机数计算新的对称密钥,使用新的对称密钥加密业务数据。
为了进一步清楚描述本公开实施例提供的数据加密传输方法,下面列举具体的0RTT加密传输过程进行说明。
图3示意性示出了根据本公开实施例的0RTT加密传输的过程图。
如图3所示,首先,由客户端(client)发送TCP http的用户请求;服务端(server)的应答消息通过基于QUIC协议的代理服务器加入QUIC信息以及一个用config封装的包含{p,g,Kpub}三元组的数据包。client收到后使用计算公钥计算对称密钥,并准备业务数据data1,设加密函数Enc(key,data),将下列元组D1发送给server;
D1={Kc_pub,Enc(K1,data1)}
server收到D1后计算对称密钥,证明K1’和client的K1相等,并使用K1’解密密文Enc(K1,data1)获取明文data。server准备data2之前先要计算新的通信公钥Kn_pub,以及新的通信对称密钥K2,并将下面的元组发送给client;
D2={Kn_pub,Enc(K2,data2)}
client收到server发来的D2后,解出Kn_pub计算新的通信密钥K2’并证明K2’=K2,使用K2’获取data2。在此之后的一段时间内通讯便可以使用K2做通信对称密钥。
当client与server断开连接过了一段时间后(slience gap),client之前通过缓存或写入磁盘的方式拥有了server的config元组{p,g,Kpub},此时需要再次与server通信时,直接通过{p,g,Kpub}以及自己生成的随机数私钥计算出一个对称密钥,然后直接发送data即可。
server收到client的加密数据后,重新计算出一个新的“安全对称密钥”即可将之作为直至断开为止的对称密钥进行加密传输。
通过本公开实施例提供的数据加密传输方法,由于通过基于QUIC协议的代理服务器实现前端客户端与后端服务端之间数据传输代理,向数据的响应包中加入QUIC信息以告知客户端其访问的web服务端能够支持QUIC协议,使得客户端采用QUIC协议请求访问web业务,可以有效提升web应用在传输层的性能。并且,向数据的响应包中config封装的数据包,使得客户端在数据加密过程中能够直接根据config封装的数据包及自身产生的随机数对数据进行加密,服务端也能够快速的解密,提升了数据传输的效率,能大幅减低延迟性。
基于同一发明构思,本公开实施例提供一种数据加密传输装置,该种例如包括客户端、基于QUIC协议的代理服务器及服务端。
图4示意性示出了根据本公开实施例的基于QUIC协议的代理服务器的框图。
如图4所示,该基于QUIC协议的代理服务器400例如可以被配置为:第一接收模块410、第二接收模块420、第三接收模块430及第四接收模块440。
第一接收模块410,用于接收客户端第一次访问WEB应用发送的TCP数据请求包,并将TCP数据请求包转发至服务端。
第二接收模块420,用于接收服务端返回的第一数据响应包及config封装的数据包,向数据响应包中添加QUIC信息,生成第二数据响应包,并转发config封装的数据包及第二数据响应包至客户端。
第三接收模块430,用于接收客户端发送的通过第一通信公钥及第一对称密钥加密的第一业务数据,并转发至服务端,其中,第一通信公钥及第一对称密钥为客户端根据config封装的数据包计算得到。
第四接收模块440,用于接收服务端发送的通过第二通信公钥及第二对称密钥加密的第二业务数据,并转发至客户端,其中,第二业务数据为服务端对第一业务数据的响应数据。
根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,第一接收模块410、第二接收模块420、第三接收模块430及第四接收模块440中的任意多个可以合并在一个模块/单元/子单元中实现,或者其中的任意一个模块/单元/子单元可以被拆分成多个模块/单元/子单元。或者,这些模块/单元/子单元中的一个或多个模块/单元/子单元的至少部分功能可以与其他模块/单元/子单元的至少部分功能相结合,并在一个模块/单元/子单元中实现。根据本公开的实施例,第一接收模块410、第二接收模块420、第三接收模块430及第四接收模块440中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上***、基板上的***、封装上的***、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,第一接收模块410、第二接收模块420、第三接收模块430及第四接收模块440中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
需要说明的是,本公开的实施例中数据加密传输装置部分与本公开的实施例中数据加密传输方法部分是相对应的,其具体实施细节及带来的技术效果也是相同的,在此不再赘述。
图5示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的框图。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,根据本公开实施例的电子设备500包括处理器501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。处理器501例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器501还可以包括用于缓存用途的板载存储器。处理器501可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
在RAM 503中,存储有电子设备500操作所需的各种程序和数据。处理器501、ROM502以及RAM503通过总线504彼此相连。处理器501通过执行ROM 502和/或RAM 503中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM502和RAM 503以外的一个或多个存储器中。处理器501也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。
根据本公开的实施例,电子设备500还可以包括输入/输出(I/O)接口505,输入/输出(I/O)接口505也连接至总线504。电子设备500还可以包括连接至I/O接口505的以下部件中的一项或多项:包括键盘、鼠标等的输入部分503;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被处理器501执行时,执行本公开实施例的***中限定的上述功能。根据本公开的实施例,上文描述的***、设备、装置、模块、单元等可以通过计算机程序模块来实现。
本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/***中所包含的;也可以是单独存在,而未装配入该设备/装置/***中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。
根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质。例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可渎存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 502和/或RAM 503和/或ROM 502和RAM 503以外的一个或多个存储器。
附图中的流程图和框图,图示了按照本公开各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。
以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。
Claims (10)
1.一种数据加密传输方法,所述数据基于QUIC协议的代理服务器传输,包括:
接收客户端第一次访问WEB应用发送的TCP数据请求包,并将所述TCP数据请求包转发至服务端;
接收所述服务端返回的第一数据响应包及config封装的数据包,向所述第一数据响应包中添加QUIC信息,生成第二数据响应包,并转发config封装的数据包及第二数据响应包至所述客户端;
接收所述客户端发送的通过第一通信公钥及第一对称密钥加密的第一业务数据,并转发至所述服务端,其中,所述第一通信公钥及所述第一对称密钥为所述客户端根据所述config封装的数据包计算得到;
接收所述服务端发送的通过第二通信公钥及第二对称密钥加密的第二业务数据,并转发至所述客户端,其中,所述第二业务数据为所述服务端对所述第一业务数据的响应数据。
2.根据权利要求1所述的数据加密传输方法,其中,所述服务端接收到第一业务数据后,根据所述config封装的数据包计算第三对称密钥并解出第一通信公钥;
判断所述第三对称密钥与所述第一对称密钥加密是否相等,若相等,采用所述第三对称密钥及第一通信公钥对所述第一业务数据进行解密。
3.根据权利要求1所述的数据加密传输方法,其中,所述客户端接收到第二业务数据后,根据所述config封装的数据包计算第四对称密钥并解出第二通信公钥;
判断所述第四对称密钥与所述第二对称密钥加密是否相等,若相等,采用所述第四对称密钥及第二通信公钥对所述第二业务数据进行解密。
4.根据权利要求3所述的数据加密传输方法,其中,若所述第四对称密钥与所述第二对称密钥加密相等,在所述客户端与所述服务端未断开连接之前,采用所述第二对称密钥加密业务数据。
5.根据权利要求1所述的数据加密传输方法,所述方法还包括:
在所述客户端缓存所述config封装的数据包。
6.根据权利要求5所述的数据加密传输方法,所述方法还包括:
当所述客户端与所述服务端断开连接之后需要再次通信时,所述客户端获取缓存的config封装的数据包,根据所述config封装的数据包及自身产生的随机数计算新的对称密钥,使用所述新的对称密钥加密业务数据。
7.根据权利要求1所述的数据加密传输方法,其中,所述基于QUIC协议的代理服务器通过HTTP代理将所述客户端发送的数据转发至所述服务端。
8.一种数据加密传输装置,包括:
客户端、基于QUIC协议的代理服务器及服务端,其中,所述基于QUIC协议的代理服务器包括:
第一接收模块,用于接收客户端第一次访问WEB应用发送的TCP数据请求包,并将所述TCP数据请求包转发至服务端;
第二接收模块,用于接收所述服务端返回的第一数据响应包及config封装的数据包,向所述数据响应包中添加QUIC信息,生成第二数据响应包,并转发config封装的数据包及第二数据响应包至所述客户端;
第三接收模块,用于接收所述客户端发送的通过第一通信公钥及第一对称密钥加密的第一业务数据,并转发至所述服务端,其中,所述第一通信公钥及所述第一对称密钥为所述客户端根据所述config封装的数据包计算得到;
第四接收模块,用于接收所述服务端发送的通过第二通信公钥及第二对称密钥加密的第二业务数据,并转发至所述客户端,其中,所述第二业务数据为所述服务端对所述第一业务数据的响应数据。
9.一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其上存储有可执行指令,该指令被处理器执行时使处理器实现权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011498967.9A CN112637177B (zh) | 2020-12-17 | 2020-12-17 | 数据加密传输方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011498967.9A CN112637177B (zh) | 2020-12-17 | 2020-12-17 | 数据加密传输方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112637177A CN112637177A (zh) | 2021-04-09 |
CN112637177B true CN112637177B (zh) | 2022-09-27 |
Family
ID=75316605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011498967.9A Active CN112637177B (zh) | 2020-12-17 | 2020-12-17 | 数据加密传输方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112637177B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112887433B (zh) * | 2021-04-12 | 2021-07-27 | 网络通信与安全紫金山实验室 | 基于quic协议的云端访问边缘服务的方法和*** |
CN113132394B (zh) * | 2021-04-22 | 2023-02-03 | 中国建设银行股份有限公司 | 一种请求处理***、方法、装置、存储介质及电子设备 |
CN113596027B (zh) * | 2021-07-29 | 2023-09-12 | 上海淇玥信息技术有限公司 | 一种数据加密传输的方法、装置及电子设备 |
CN116962509B (zh) * | 2023-09-20 | 2024-02-27 | 联通在线信息科技有限公司 | 基于quic协议的网络代理方法以及网络代理*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9961055B1 (en) * | 2014-12-18 | 2018-05-01 | Amazon Technologies, Inc. | Inaccessibility of data to server involved in secure communication |
CN108476133A (zh) * | 2015-12-11 | 2018-08-31 | 亚马逊科技有限公司 | 通过部分可信的第三方进行的密钥交换 |
US10778812B1 (en) * | 2019-05-09 | 2020-09-15 | Alibaba Group Holding Limited | Data encapsulation conversion and transmission |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009117844A1 (en) * | 2008-03-25 | 2009-10-01 | Alcatel Shanghai Bell Co., Ltd. | Methods and entities using ipsec esp to support security functionality for udp-based oma enablers |
CN107979590B (zh) * | 2017-11-02 | 2020-01-17 | 财付通支付科技有限公司 | 数据共享方法、客户端、服务器、计算设备及存储介质 |
US11025601B2 (en) * | 2018-12-04 | 2021-06-01 | Citrix Systems, Inc. | System and apparatus for enhanced QOS, steering and policy enforcement for HTTPS traffic via intelligent inline path discovery of TLS terminating node |
-
2020
- 2020-12-17 CN CN202011498967.9A patent/CN112637177B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9961055B1 (en) * | 2014-12-18 | 2018-05-01 | Amazon Technologies, Inc. | Inaccessibility of data to server involved in secure communication |
CN108476133A (zh) * | 2015-12-11 | 2018-08-31 | 亚马逊科技有限公司 | 通过部分可信的第三方进行的密钥交换 |
US10778812B1 (en) * | 2019-05-09 | 2020-09-15 | Alibaba Group Holding Limited | Data encapsulation conversion and transmission |
Also Published As
Publication number | Publication date |
---|---|
CN112637177A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112637177B (zh) | 数据加密传输方法、装置、设备及介质 | |
US11038854B2 (en) | Terminating SSL connections without locally-accessible private keys | |
WO2019237796A1 (zh) | 资源获取、分发、下载方法、装置、设备及存储介质 | |
US7961624B2 (en) | System and method for providing bandwidth signaling across cryptographic boundaries in a network | |
US10298615B2 (en) | Splicing into an active TLS session without a certificate or private key | |
US11469896B2 (en) | Method for securing the rendezvous connection in a cloud service using routing tokens | |
US8909939B1 (en) | Distribution of cryptographic host keys in a cloud computing environment | |
CN111771366B (zh) | 具有可协商和自适应的加密级别的用于加密数据流的方法 | |
US20170171166A1 (en) | Anti-hotlinking method and electronic device | |
US20150188699A1 (en) | Method and apparatus for establishing secure session between client and server | |
US10630760B2 (en) | Adaptive encryption in checkpoint recovery of file transfers | |
CN111262694A (zh) | 一种基于tee的安全代理重加密方法 | |
US11748455B2 (en) | Digital rights management systems and methods using efficient messaging architectures | |
US11271968B2 (en) | Zero round trip time transmission for anticipatory request messages | |
US20130024543A1 (en) | Methods for generating multiple responses to a single request message and devices thereof | |
CN114448875A (zh) | 使用多路径协议管理网络服务 | |
US20230144993A1 (en) | Decryption of perfect forward secrecy (pfs) and non-pfs sessions | |
KR101991731B1 (ko) | 서버 및 피어의 동작 방법 | |
CN116827619A (zh) | 防止http放大攻击的方法、设备以及计算机可读介质 | |
Лесогорський et al. | A transport-independent general purpose cryptographic protocol | |
Lesohorskyi et al. | A transport-independent general purpose cryptographic protocol | |
CN114500399A (zh) | 数据传输方法、设备、介质和产品 | |
KR20220071859A (ko) | Nic로의 보안연결 설정기능 이양방법 및 이를 이용한 nic, 그리고 컴퓨터 판독 가능 기록매체 | |
GB2625539A (en) | Multi-algorithm bootstrapping | |
JP2023535011A (ja) | 量子ストリーミング |
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: 20211209 Address after: 100084 Beijing Haidian District Zhongguancun East Road 1 hospital Qinghua science and Technology Park 8 Building B block seal building Applicant after: CERNET Co.,Ltd. Address before: 100084 B1001-C 8, building 1, Zhongguancun East Road, Haidian District, Beijing, 2. Applicant before: NEXT GENERATION INTERNET MAJOR APPLICATION TECHNOLOGY (BEIJING) ENGINEERING RESEARCH CENTER Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |