CN114553567A - 多方安全计算中的网络传输方法和*** - Google Patents
多方安全计算中的网络传输方法和*** Download PDFInfo
- Publication number
- CN114553567A CN114553567A CN202210181703.3A CN202210181703A CN114553567A CN 114553567 A CN114553567 A CN 114553567A CN 202210181703 A CN202210181703 A CN 202210181703A CN 114553567 A CN114553567 A CN 114553567A
- Authority
- CN
- China
- Prior art keywords
- layer tunnel
- proxy node
- tunnel
- protocol
- party system
- 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.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 98
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000004364 calculation method Methods 0.000 claims abstract description 27
- 238000012546 transfer Methods 0.000 claims abstract description 9
- 239000010410 layer Substances 0.000 claims description 178
- 239000002355 dual-layer Substances 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 230000004044 response Effects 0.000 description 5
- 230000005641 tunneling Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000005538 encapsulation Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/18—Network architectures or network communication protocols for network security using different networks or channels, e.g. using out of band channels
-
- 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
- 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/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/46—Secure multiparty computation, e.g. millionaire problem
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
本说明书实施例提供一种多方安全计算中的网络传输方法和***。方法包括:第一方***根据多方安全计算的计算数据,构建超文本传输协议HTTP报文;第一方***通过其与第二方***之间建立的双层隧道,将所述HTTP报文发送给所述第二方***;其中,所述双层隧道至少经过一个中间节点,所述双层隧道中的第一层隧道属于长连接的非加密隧道,所述双层隧道中的第二层隧道为加密隧道;所述第二方***根据所述HTTP报文,与所述第一方***进行多方安全计算。能够实现多方安全计算中的安全高效地传输。
Description
技术领域
本说明书一个或多个实施例涉及计算机领域,尤其涉及多方安全计算中的网络传输方法和***。
背景技术
多方安全计算又称为安全多方计算,即多方共同计算出一个函数的结果,而***露这个函数各方的输入数据,计算的结果公开给其中的一方或多方。其中,各方的输入数据常常为隐私数据。
多方安全计算的计算过程涉及两方之间的网络传输。现有技术中的网络传输方法,无法兼顾传输效率和安全性。
因此,希望能有改进的方案,能够实现多方安全计算中的安全高效地传输。
发明内容
本说明书一个或多个实施例描述了一种多方安全计算中的网络传输方法和***,能够实现多方安全计算中的安全高效地传输。
第一方面,提供了一种多方安全计算中的网络传输方法,方法包括:
第一方***根据多方安全计算的计算数据,构建超文本传输协议(hyper texttransfer protocol,HTTP)报文;
第一方***通过其与第二方***之间建立的双层隧道,将所述HTTP报文发送给所述第二方***;其中,所述双层隧道至少经过一个中间节点,所述双层隧道中的第一层隧道属于长连接的非加密隧道,所述双层隧道中的第二层隧道为加密隧道;
所述第二方***根据所述HTTP报文,与所述第一方***进行多方安全计算。
在一种可能的实施方式中,所述第一方***包括第一计算平台和第一代理节点,所述第二方***包括第二计算平台和第二代理节点;
所述第一方***通过其与第二方***之间建立的双层隧道,将所述HTTP报文发送给所述第二方***,包括:
第一计算平台向第一代理节点发送所述HTTP报文;
所述第一代理节点通过其与第二代理节点之间建立的所述双层隧道,将所述HTTP报文发送给所述第二代理节点;
所述第二代理节点将所述HTTP报文发送给所述第二计算平台。
进一步地,所述方法还包括:
所述第一计算平台将其归属的HTTP代理服务器设置为所述第一代理节点;或者,
所述第二计算平台将其归属的HTTP代理服务器设置为所述第二代理节点。
进一步地,所述双层隧道经过与第一代理节点临近的第一中间节点和与第二代理节点临近的第二中间节点;所述双层隧道采用如下方式建立:
所述第一代理节点基于第一传输协议与所述第一中间节点建立长连接,所述第二代理节点基于第一传输协议与所述第二中间节点建立长连接,所述第一中间节点基于第二传输协议与所述第二中间节点建立长连接,以完成所述第一层隧道的建立;
所述第一代理节点通过所述第一层隧道,建立基于第三传输协议的所述第二层隧道。
进一步地,所述第一传输协议为WebSocket协议,所述第二传输协议为传输控制协议(transmission control protocol,TCP)协议,所述第三传输协议为安全传输层(transport layer security,TLS)协议。
进一步地,所述第一代理节点通过所述第一层隧道,建立基于第三传输协议的所述第二层隧道,包括:
所述第一代理节点通过所述第一层隧道,基于第三传输协议与所述第二代理节点互相进行鉴权,以及协商对称密钥;
所述第一代理节点在互相鉴权的结果均为鉴权通过,以及对称密钥协商完成后,确定建立完成所述第二层隧道。
进一步地,所述双层隧道经过第三中间节点;所述双层隧道采用如下方式建立:
所述第一代理节点基于第一传输协议与所述第三中间节点建立长连接,所述第二代理节点基于第一传输协议与所述第三中间节点建立长连接,以完成所述第一层隧道的建立;
所述第一代理节点通过所述第一层隧道,建立基于第三传输协议的所述第二层隧道。
第二方面,提供了一种多方安全计算中的网络传输***,包括:
第一方***,用于根据多方安全计算的计算数据,构建超文本传输协议HTTP报文;
第一方***,还用于通过其与第二方***之间建立的双层隧道,将所述HTTP报文发送给所述第二方***;其中,所述双层隧道至少经过一个中间节点,所述双层隧道中的第一层隧道属于长连接的非加密隧道,所述双层隧道中的第二层隧道为加密隧道;
所述第二方***,用于根据所述HTTP报文,与所述第一方***进行多方安全计算。
第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
通过本说明书实施例提供的方法和***,首先第一方***根据多方安全计算的计算数据,构建HTTP报文;然后第一方***通过其与第二方***之间建立的双层隧道,将所述HTTP报文发送给所述第二方***;其中,所述双层隧道至少经过一个中间节点,所述双层隧道中的第一层隧道属于长连接的非加密隧道,所述双层隧道中的第二层隧道为加密隧道;最后所述第二方***根据所述HTTP报文,与所述第一方***进行多方安全计算。由上可见,本说明书实施例,采用双层隧道,同时实现了长连接和端到端加密的需求,由于第二层隧道为加密隧道,因此中间节点无法获知第一方***和第二方***之间传输的任何有用信息,双层隧道的端节点是完全可以互相信任的。另外由于第一层隧道属于长连接,减少了建立连接的开销。基于双层隧道承载HTTP报文,可以获得安全和性能的双重保障。能够实现多方安全计算中的安全高效地传输。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2为本说明书披露的另一个实施例的实施场景示意图;
图3示出根据一个实施例的多方安全计算中的网络传输方法交互示意图;
图4示出根据一个实施例的双层隧道的路径示意图;
图5示出根据一个实施例的双层隧道的协议层级示意图;
图6示出根据一个实施例的报文封装结构和传递过程的示意图;
图7示出根据一个实施例的多方安全计算中的网络传输***的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
多方安全计算的计算过程涉及第一方***和第二方***之间的网络传输。由于网络复杂性,两方之间的通信条件并不总是良好的。这种情况下可以通过增加一个或多个中间节点来做中继。
图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及多方安全计算中的网络传输,第一方***和第二方***之间需要进行多方安全计算,二者之间的网络传输通过多个中间节点做中继。参照图1,第一方***与第二方***之间的网络传输通过中间节点A和中间节点B做中继,若第一方***要向第二方***发送超文本传输协议(hypertext transfer protocol,HTTP)请求,则第一方***先要将该HTTP请求发送给中间节点A,再由中间节点A将该HTTP请求发送给中间节点B,最后由中间节点B将该HTTP请求发送给第二方***。
由于多方安全计算对于各方数据的安全性有很高的要求,上述HTTP请求不便于明文传输给中间节点A和中间节点B。通常采用的超文本传输安全协议HTTPS,是一种通过计算机网络进行安全通信的传输协议。HTTPS经由HTTP进行通信,但利用安全传输层TLS协议来加密数据包。
HTTP是一种用于分布式、协作式和超媒体信息***的应用层协议,是万维网的数据通信的基础。TLS协议用于在两个通信应用程序之间提供保密性和数据完整性。
HTTPS建立连接的开销很高,在第一方***和第二方***多次交互的时候,需要多次建立连接,因此虽然能够保证安全性,但是传输效率低。
本说明书实施例,通过在第一方***和第二方***之间建立双层隧道的方式,上述HTTP请求不会明文传输给中间节点A和中间节点B,也不需要多次建立连接,以实现多方安全计算中的安全高效地传输。
隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方法。使用隧道传递的数据可以是不同协议的数据帧或包。隧道协议将这些其他协议的数据帧或包重新封装在新的包头中发送。新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递。被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由。被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。隧道技术是指包括数据封装、传输和解封装在内的全过程。
可以理解的是,前述中间节点A和中间节点B属于公共互联网络,第一方***和第二方***为隧道的两个端点。
图2为本说明书披露的另一个实施例的实施场景示意图。该实施场景涉及多方安全计算中的网络传输,第一方***和第二方***之间需要进行多方安全计算,二者之间的网络传输通过一个中间节点做中继。参照图2,第一方***与第二方***之间的网络传输通过中间节点C做中继,若第一方***要向第二方***发送HTTP请求,则第一方***先要将该HTTP请求发送给中间节点C,再由中间节点C将该HTTP请求发送给第二方***。
由于多方安全计算对于各方数据的安全性有很高的要求,上述HTTP请求不便于明文传输给中间节点C。通常采用的超文本传输安全协议HTTPS,HTTPS建立连接的开销很高,在第一方***和第二方***多次交互的时候,需要多次建立连接,因此虽然能够保证安全性,但是传输效率低。
本说明书实施例,通过在第一方***和第二方***之间建立双层隧道的方式,上述HTTP请求不会明文传输给中间节点C,也不需要多次建立连接,以实现多方安全计算中的安全高效地传输。
可以理解的是,前述中间节点C属于公共互联网络,第一方***和第二方***为隧道的两个端点。
需要说明的是,本说明书实施例中提到的第一方***、第二方***和中间节点,在物理上可以由一个模块、一台计算设备或者计算集群构成。
图3示出根据一个实施例的多方安全计算中的网络传输方法交互示意图,该方法可以基于图1或图2所示的实施场景,所述方法通过第一方***和第二方***共同执行。如图3所示,该实施例中多方安全计算中的网络传输方法包括以下步骤:步骤31,第一方***根据多方安全计算的计算数据,构建HTTP报文;步骤32,第一方***通过其与第二方***之间建立的双层隧道,将所述HTTP报文发送给所述第二方***;其中,所述双层隧道至少经过一个中间节点,所述双层隧道中的第一层隧道属于长连接非加密隧道,所述双层隧道中的第二层隧道为加密隧道;步骤33,第二方***根据所述HTTP报文,与所述第一方***进行多方安全计算。下面描述以上各个步骤的具体执行方式。
首先在步骤31,第一方***根据多方安全计算的计算数据,构建HTTP报文。可以理解的是,该HTTP报文可以为HTTP请求的报文,其是基于HTTP协议构建的,HTTP协议是一个简单的请求-响应协议,它通常运行在TCP协议之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
在一个示例中,第一方***包括第一计算平台和第一代理节点,第一计算平台是执行多方安全计算的具体计算任务的设备或集群,它根据多方安全计算的计算数据,构建HTTP报文,后续再由第一计算平台将该HTTP报文传输给第一代理节点,由第一代理节点将该HTTP报文经由中间节点传输给第二方***。第二方***也可以对应地包括第二计算平台和第二代理节点。
通常地,第一计算平台和第二计算平台通信,至少需要一方开通入站白名单,一方开通出站白名单。如果要实现网络互访的话,双方都需要对对方开通入站白名单和出站白名单。而该示例中,各计算平台只需要开通对本方代理节点的出站白名单就可以了,并不需要知道合作方的ip地址。由于开通出站白名单比入站白名单要简单很多,如此,可简化针对计算平台的管控配置。
进一步地,所述方法还包括:
所述第一计算平台将其归属的HTTP代理服务器设置为所述第一代理节点。
然后在步骤32,第一方***通过其与第二方***之间建立的双层隧道,将所述HTTP报文发送给所述第二方***;其中,所述双层隧道至少经过一个中间节点,所述双层隧道中的第一层隧道属于长连接的非加密隧道,所述双层隧道中的第二层隧道为加密隧道。可以理解的是,长连接,指在双方建立连接后,不管是否使用都保持连接,直到一方关闭连接。短连接,指在双方建立连接后,发送接收完数据马上断开连接。
其中,隧道是一种利用已有的网络连接虚拟出新的网络连接的技术。
在一个示例中,所述第一方***包括第一计算平台和第一代理节点,所述第二方***包括第二计算平台和第二代理节点;
所述第一方***通过其与第二方***之间建立的双层隧道,将所述HTTP报文发送给所述第二方***,包括:
第一计算平台向第一代理节点发送所述HTTP报文;
所述第一代理节点通过其与第二代理节点之间建立的所述双层隧道,将所述HTTP报文发送给所述第二代理节点;
所述第二代理节点将所述HTTP报文发送给所述第二计算平台。
进一步地,所述方法还包括:
所述第一计算平台将其归属的HTTP代理服务器设置为所述第一代理节点;或者,
所述第二计算平台将其归属的HTTP代理服务器设置为所述第二代理节点。
进一步地,所述双层隧道经过与第一代理节点临近的第一中间节点和与第二代理节点临近的第二中间节点;所述双层隧道采用如下方式建立:
所述第一代理节点基于第一传输协议与所述第一中间节点建立长连接,所述第二代理节点基于第一传输协议与所述第二中间节点建立长连接,所述第一中间节点基于第二传输协议与所述第二中间节点建立长连接,以完成所述第一层隧道的建立;
所述第一代理节点通过所述第一层隧道,建立基于第三传输协议的所述第二层隧道。
可以理解的是,该示例对应于图1所示的实施场景,第一方***和第二方***之间的网络传输通过多个中间节点做中继,第一中间节点相当于图1中的中间节点A,第二中间节点相当于图1中的中间节点B。
进一步地,所述第一传输协议为WebSocket协议,所述第二传输协议为传输控制协议(transmission control protocol,TCP)协议,所述第三传输协议为安全传输层(transport layer security,TLS)协议。
其中,WebSocket协议,为应用于HTTP协议上的网络协议,支持长连接与流式传输。
TCP协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。
TLS协议,用于在两个通信应用程序之间提供保密性和数据完整性。
进一步地,所述第一代理节点通过所述第一层隧道,建立基于第三传输协议的所述第二层隧道,包括:
所述第一代理节点通过所述第一层隧道,基于第三传输协议与所述第二代理节点互相进行鉴权,以及协商对称密钥;
所述第一代理节点在互相鉴权的结果均为鉴权通过,以及对称密钥协商完成后,确定建立完成所述第二层隧道。
进一步地,所述双层隧道经过第三中间节点;所述双层隧道采用如下方式建立:
所述第一代理节点基于第一传输协议与所述第三中间节点建立长连接,所述第二代理节点基于第一传输协议与所述第三中间节点建立长连接,以完成所述第一层隧道的建立;
所述第一代理节点通过所述第一层隧道,建立基于第三传输协议的所述第二层隧道。
可以理解的是,该示例对应于图2所示的实施场景,第一方***和第二方***之间的网络传输通过一个中间节点做中继,第三中间节点相当于图2中的中间节点C。
最后在步骤33,第二方***根据所述HTTP报文,与所述第一方***进行多方安全计算。可以理解的是,所述HTTP报文可以携带有第一方***具有的多方安全计算的计算数据,第二方***可以从所述HTTP报文中解析出上述多方安全计算的计算数据,并基于该多方安全计算的计算数据以及第二方***自身拥有的数据,进行计算。
本说明书实施例,第二方***在完成上述多方安全计算后,还可以向第一方***发送HTTP响应的报文,该HTTP响应的报文中携带多方安全计算的计算结果。可以理解的是,第二方***可以通过其与第一方***之间建立的双层隧道,将所述HTTP响应的报文发送给所述第一方***。
图4示出根据一个实施例的双层隧道的路径示意图。参照图4,第一计算平台连接到第一代理节点,第二计算平台连接到第二代理节点。第一代理节点和第二代理节点建立双层隧道的过程可以采用如下方式。在初始情况下,第一代理节点和第二代理节点分别建立与中间节点的长连接。具体地,第一代理节点连接到中间节点A,第二代理节点连接到中间节点B,采用的协议是WebSocket长连接协议,不加密。当第一代理节点需要跟第二代理节点建立隧道时,需要发送建立第一层隧道的请求给中间节点A。而中间节点A和中间节点B通过TCP协议建立有连接,于是,中间节点A和中间节点B基于其连接协议进行协作,找到其与第二代理节点的长连接,从而发送隧道请求给第二代理节点。双方达成后建立第一层隧道,即第一代理节点和第二代理节点之间建立了基于长连接的第一层隧道。由于一个节点可以与多个合作方分别建立多个不同的隧道,因此,在建立隧道时,双方为此隧道关联一个session id。这个session id可以标识隧道的两端端点,即第一代理节点和第二代理节点,从而起到标识或区分隧道的作用。下文中将其称为隧道id。
接着,第一代理节点通过前述第一层隧道,建立一个新的TLS隧道,此为第二层隧道,属于加密代理隧道。在该过程中,第一代理节点在第一层隧道的连接上,采用标准的TLS连接过程进行TLS握手和校验,如此构建第二层TLS隧道。TLS握手包含鉴权操作,因此可以互相验证对方的合法性。第一计算平台设置HTTP代理服务器为其代理节点。接下来的HTTP报文会通过前述双层隧道传送到第二计算平台的代理节点,第二代理节点再还原出HTTP报文,将其发送到第二计算平台。
图5示出根据一个实施例的双层隧道的协议层级示意图。参照图5,第一方***和第二方***之间的双层隧道经过至少一个中间节点,第一层隧道采用的协议是WebSocket协议,属于长连接,第二层隧道采用的协议是TLS协议,双层隧道用于承载HTTP报文,基于HTTP协议所建立的连接虽然是短连接,但是HTTP报文承载于上述双层隧道之上,也就是通过长连接承载HTTP报文,传输效率高,TLS协议能够保证传输安全性。
操作中,由于TLS协议和HTTP协议都是基于TCP协议的,因此第一层隧道模拟出TCP接口给第二层隧道的TLS协议使用,第二层隧道模拟出TCP接口给HTTP协议使用。
需要说明的是,尽管如图5所示,上述实施例的协议的上面两层呈现出TLS+HTTP的形式,但是该方案与常规HTTPS存在本质不同。在前述实施例中,TLS是作为隧道使用的,且该隧道建立于基于长连接的第一层隧道,HTTP断开并不会断掉TLS连接。在其他实施例中,TLS隧道上面还可以使用多种协议而不限于图5所示的HTTP。而常规HTTPS中TLS是短连接,特定给上层HTTP用的,一般不称作隧道。在常规情况下,HTTPS断开后需重新建立连接。
本说明书实施例中,可以适应于建立的双层隧道,对所述HTTP报文进行多层报文头的封装,其中包括针对一个或多个自定义报文头的封装。
图6示出根据一个实施例的报文封装结构和传递过程的示意图。参照图6,对应于图4所示的传输路径,第一代理节点从第一计算平台接收HTTP请求对应的HTTP数据包,在该HTTP数据包基础上继续封装WS包头、自定义1包头、TLS包头和自定义2包头,得到第一数据报文。
可以理解的是,包头的作用是用于区分协议,不同的协议处理程序需要找到对应的头信息才能处理。WS包头对应于WebSocket协议,TLS包头对应于TLS协议。如前所述,TLS协议和HTTP协议都是基于TCP协议的,因此各层隧道均会模拟出TCP接口给上层协议使用,因此,各级报文结构中均存在TCP包头。但是出于简洁的目的,图6省略了TCP包头。
前述自定义1包头和自定义2包头各自对应于两层隧道协议中的一层隧道。自定义1包头对应于第一层隧道的逻辑链路,它把中间节点中转的多个连接抽象成一个连接。在一个示例中,自定义1包头包含第一代理节点和第二代理节点双方的mid与session id,mid用于中间节点路由,确保能关联到双方;session id用于标识第一代理节点与第二代理节点之间的隧道长连接,即前述隧道id。自定义2包头是用于区分同一隧道上承载的多个HTTP连接。在一个示例中,自定义2包头包含另一个session id,用于标识第一代理节点和第二代理节点之间产生的HTTP短连接,又可称为连接id。
然后,第一代理节点将上述第一数据报文发送给中间节点A。由于第一代理节点与中间节点A构建有WebSocket协议,因此中间节点A可以对WebSocket协议的包头进行解封装,即把外层的WS包头拿掉,得到第二数据报文。然后中间节点A基于与中间节点B之间的TCP协议连接,将第二数据报文发送给中间节点B。
中间节点B于是基于TCP协议解封装,把TCP头拿掉,然后换成WS包头以重新封装,得到第三数据报文。重新封装的第三数据报文由于具有WS包头而适用于中间节点B与第二代理节点之间的连接。于是,中间节点B将第三数据报文发送给第二代理节点。
第二代理节点作为隧道终点,对封装的各层包头进行解封装,即拿掉WS包头、自定义1包头、TLS包头和自定义2包头,得到HTTP数据包。然后第二代理节点将该HTTP数据包发送给第二计算平台。
在以上过程中,借助自定义的包头进行标识和寻址,并通过隧道技术中的包头解封装、重新封装的协议转换过程,利用双层隧道实现了HTTP请求的传递。
综合以上,通过本说明书实施例提供的方法,首先第一方***根据多方安全计算的计算数据,构建HTTP报文;然后第一方***通过其与第二方***之间建立的双层隧道,将所述HTTP报文发送给所述第二方***;其中,所述双层隧道至少经过一个中间节点,所述双层隧道中的第一层隧道属于长连接的非加密隧道,所述双层隧道中的第二层隧道为加密隧道;最后所述第二方***根据所述HTTP报文,与所述第一方***进行多方安全计算。由上可见,本说明书实施例,采用双层隧道,同时实现了长连接和端到端加密的需求,由于第二层隧道为加密隧道,因此中间节点无法获知第一方***和第二方***之间传输的任何有用信息,双层隧道的端节点是完全可以互相信任的。另外由于第一层隧道属于长连接,减少了建立连接的开销。基于双层隧道承载HTTP报文,可以获得安全和性能的双重保障。能够实现多方安全计算中的安全高效地传输。
根据另一方面的实施例,还提供一种多方安全计算中的网络传输***,该***用于执行本说明书实施例提供的多方安全计算中的网络传输方法。图7示出根据一个实施例的多方安全计算中的网络传输***的示意性框图。如图7所示,该***700包括:
第一方***71,用于根据多方安全计算的计算数据,构建超文本传输协议HTTP报文;
第一方***71,还用于通过其与第二方***72之间建立的双层隧道,将所述HTTP报文发送给所述第二方***72;其中,所述双层隧道至少经过一个中间节点,所述双层隧道中的第一层隧道属于长连接的非加密隧道,所述双层隧道中的第二层隧道为加密隧道;
所述第二方***72,用于根据所述HTTP报文,与所述第一方***71进行多方安全计算。
可选地,作为一个实施例,所述第一方***71包括第一计算平台和第一代理节点,所述第二方***72包括第二计算平台和第二代理节点;
第一计算平台,用于向第一代理节点发送所述HTTP报文;
所述第一代理节点,用于通过其与第二代理节点之间建立的所述双层隧道,将所述HTTP报文发送给所述第二代理节点;
所述第二代理节点,用于将所述HTTP报文发送给所述第二计算平台。
进一步地,所述第一计算平台,还用于将其归属的HTTP代理服务器设置为所述第一代理节点;或者,
所述第二计算平台,还用于将其归属的HTTP代理服务器设置为所述第二代理节点。
进一步地,所述双层隧道经过与第一代理节点临近的第一中间节点和与第二代理节点临近的第二中间节点;所述双层隧道采用如下方式建立:
所述第一代理节点基于第一传输协议与所述第一中间节点建立长连接,所述第二代理节点基于第一传输协议与所述第二中间节点建立长连接,所述第一中间节点基于第二传输协议与所述第二中间节点建立长连接,以完成所述第一层隧道的建立;
所述第一代理节点通过所述第一层隧道,建立基于第三传输协议的所述第二层隧道。
进一步地,所述第一传输协议为WebSocket协议,所述第二传输协议为TCP协议,所述第三传输协议为TLS协议。
进一步地,所述第一代理节点,具体用于通过所述第一层隧道,基于第三传输协议与所述第二代理节点互相进行鉴权,以及协商对称密钥;在互相鉴权的结果均为鉴权通过,以及对称密钥协商完成后,确定建立完成所述第二层隧道。
进一步地,所述双层隧道经过第三中间节点;所述双层隧道采用如下方式建立:
所述第一代理节点基于第一传输协议与所述第三中间节点建立长连接,所述第二代理节点基于第一传输协议与所述第三中间节点建立长连接,以完成所述第一层隧道的建立;
所述第一代理节点通过所述第一层隧道,建立基于第三传输协议的所述第二层隧道。
通过本说明书实施例提供的网络传输***,首先第一方***71根据多方安全计算的计算数据,构建HTTP报文;然后第一方***71通过其与第二方***72之间建立的双层隧道,将所述HTTP报文发送给所述第二方***72;其中,所述双层隧道至少经过一个中间节点,所述双层隧道中的第一层隧道属于长连接的非加密隧道,所述双层隧道中的第二层隧道为加密隧道;最后所述第二方***72根据所述HTTP报文,与所述第一方***71进行多方安全计算。由上可见,本说明书实施例,采用双层隧道,同时实现了长连接和端到端加密的需求,由于第二层隧道为加密隧道,因此中间节点无法获知第一方***71和第二方***72之间传输的任何有用信息,双层隧道的端节点是完全可以互相信任的。另外由于第一层隧道属于长连接,减少了建立连接的开销。基于双层隧道承载HTTP报文,可以获得安全和性能的双重保障。能够实现多方安全计算中的安全高效地传输。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图3所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图3所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (16)
1.一种多方安全计算中的网络传输方法,所述方法包括:
第一方***根据多方安全计算的计算数据,构建超文本传输协议HTTP报文;
第一方***通过其与第二方***之间建立的双层隧道,将所述HTTP报文发送给所述第二方***;其中,所述双层隧道至少经过一个中间节点,所述双层隧道中的第一层隧道属于长连接的非加密隧道,所述双层隧道中的第二层隧道为加密隧道;
所述第二方***根据所述HTTP报文,与所述第一方***进行多方安全计算。
2.如权利要求1所述的方法,其中,所述第一方***包括第一计算平台和第一代理节点,所述第二方***包括第二计算平台和第二代理节点;
所述第一方***通过其与第二方***之间建立的双层隧道,将所述HTTP报文发送给所述第二方***,包括:
第一计算平台向第一代理节点发送所述HTTP报文;
所述第一代理节点通过其与第二代理节点之间建立的所述双层隧道,将所述HTTP报文发送给所述第二代理节点;
所述第二代理节点将所述HTTP报文发送给所述第二计算平台。
3.如权利要求2所述的方法,其中,所述方法还包括:
所述第一计算平台将其归属的HTTP代理服务器设置为所述第一代理节点;或者,
所述第二计算平台将其归属的HTTP代理服务器设置为所述第二代理节点。
4.如权利要求2所述的方法,其中,所述双层隧道经过与第一代理节点临近的第一中间节点和与第二代理节点临近的第二中间节点;所述双层隧道采用如下方式建立:
所述第一代理节点基于第一传输协议与所述第一中间节点建立长连接,所述第二代理节点基于第一传输协议与所述第二中间节点建立长连接,所述第一中间节点基于第二传输协议与所述第二中间节点建立长连接,以完成所述第一层隧道的建立;
所述第一代理节点通过所述第一层隧道,建立基于第三传输协议的所述第二层隧道。
5.如权利要求4所述的方法,其中,所述第一传输协议为WebSocket协议,所述第二传输协议为TCP协议,所述第三传输协议为TLS协议。
6.如权利要求4所述的方法,其中,所述第一代理节点通过所述第一层隧道,建立基于第三传输协议的所述第二层隧道,包括:
所述第一代理节点通过所述第一层隧道,基于第三传输协议与所述第二代理节点互相进行鉴权,以及协商对称密钥;
所述第一代理节点在互相鉴权的结果均为鉴权通过,以及对称密钥协商完成后,确定建立完成所述第二层隧道。
7.如权利要求2所述的方法,其中,所述双层隧道经过第三中间节点;所述双层隧道采用如下方式建立:
所述第一代理节点基于第一传输协议与所述第三中间节点建立长连接,所述第二代理节点基于第一传输协议与所述第三中间节点建立长连接,以完成所述第一层隧道的建立;
所述第一代理节点通过所述第一层隧道,建立基于第三传输协议的所述第二层隧道。
8.一种多方安全计算中的网络传输***,包括:
第一方***,用于根据多方安全计算的计算数据,构建超文本传输协议HTTP报文;
第一方***,还用于通过其与第二方***之间建立的双层隧道,将所述HTTP报文发送给所述第二方***;其中,所述双层隧道至少经过一个中间节点,所述双层隧道中的第一层隧道属于长连接的非加密隧道,所述双层隧道中的第二层隧道为加密隧道;
所述第二方***,用于根据所述HTTP报文,与所述第一方***进行多方安全计算。
9.如权利要求8所述的网络传输***,其中,所述第一方***包括第一计算平台和第一代理节点,所述第二方***包括第二计算平台和第二代理节点;
第一计算平台,用于向第一代理节点发送所述HTTP报文;
所述第一代理节点,用于通过其与第二代理节点之间建立的所述双层隧道,将所述HTTP报文发送给所述第二代理节点;
所述第二代理节点,用于将所述HTTP报文发送给所述第二计算平台。
10.如权利要求9所述的网络传输***,其中,所述第一计算平台,还用于将其归属的HTTP代理服务器设置为所述第一代理节点;或者,
所述第二计算平台,还用于将其归属的HTTP代理服务器设置为所述第二代理节点。
11.如权利要求9所述的网络传输***,其中,所述双层隧道经过与第一代理节点临近的第一中间节点和与第二代理节点临近的第二中间节点;所述双层隧道采用如下方式建立:
所述第一代理节点基于第一传输协议与所述第一中间节点建立长连接,所述第二代理节点基于第一传输协议与所述第二中间节点建立长连接,所述第一中间节点基于第二传输协议与所述第二中间节点建立长连接,以完成所述第一层隧道的建立;
所述第一代理节点通过所述第一层隧道,建立基于第三传输协议的所述第二层隧道。
12.如权利要求11所述的网络传输***,其中,所述第一传输协议为WebSocket协议,所述第二传输协议为TCP协议,所述第三传输协议为TLS协议。
13.如权利要求11所述的网络传输***,其中,所述第一代理节点,具体用于通过所述第一层隧道,基于第三传输协议与所述第二代理节点互相进行鉴权,以及协商对称密钥;在互相鉴权的结果均为鉴权通过,以及对称密钥协商完成后,确定建立完成所述第二层隧道。
14.如权利要求9所述的网络传输***,其中,所述双层隧道经过第三中间节点;所述双层隧道采用如下方式建立:
所述第一代理节点基于第一传输协议与所述第三中间节点建立长连接,所述第二代理节点基于第一传输协议与所述第三中间节点建立长连接,以完成所述第一层隧道的建立;
所述第一代理节点通过所述第一层隧道,建立基于第三传输协议的所述第二层隧道。
15.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-7中任一项的所述的方法。
16.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-7中任一项的所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210181703.3A CN114553567B (zh) | 2022-02-25 | 2022-02-25 | 多方安全计算中的网络传输方法、***、存储介质及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210181703.3A CN114553567B (zh) | 2022-02-25 | 2022-02-25 | 多方安全计算中的网络传输方法、***、存储介质及计算设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114553567A true CN114553567A (zh) | 2022-05-27 |
CN114553567B CN114553567B (zh) | 2024-02-06 |
Family
ID=81680159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210181703.3A Active CN114553567B (zh) | 2022-02-25 | 2022-02-25 | 多方安全计算中的网络传输方法、***、存储介质及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114553567B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107005400A (zh) * | 2015-08-25 | 2017-08-01 | 华为技术有限公司 | 业务处理方法及装置 |
CN111034150A (zh) * | 2017-07-24 | 2020-04-17 | 向心网络公司 | 高效ssl/tls代理 |
US20200226284A1 (en) * | 2019-01-11 | 2020-07-16 | Experian Information Solutions, Inc. | Systems and methods for secure data aggregation and computation |
CN111628976A (zh) * | 2020-05-15 | 2020-09-04 | 绿盟科技集团股份有限公司 | 一种报文处理方法、装置、设备及介质 |
CN113472668A (zh) * | 2021-07-26 | 2021-10-01 | 支付宝(杭州)信息技术有限公司 | 多方安全计算中的路由方法和*** |
-
2022
- 2022-02-25 CN CN202210181703.3A patent/CN114553567B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107005400A (zh) * | 2015-08-25 | 2017-08-01 | 华为技术有限公司 | 业务处理方法及装置 |
CN111034150A (zh) * | 2017-07-24 | 2020-04-17 | 向心网络公司 | 高效ssl/tls代理 |
US20200226284A1 (en) * | 2019-01-11 | 2020-07-16 | Experian Information Solutions, Inc. | Systems and methods for secure data aggregation and computation |
CN111628976A (zh) * | 2020-05-15 | 2020-09-04 | 绿盟科技集团股份有限公司 | 一种报文处理方法、装置、设备及介质 |
CN113472668A (zh) * | 2021-07-26 | 2021-10-01 | 支付宝(杭州)信息技术有限公司 | 多方安全计算中的路由方法和*** |
Also Published As
Publication number | Publication date |
---|---|
CN114553567B (zh) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110771118B (zh) | 一种具有tcp移动性选项的无缝移动性和会话连续性 | |
US10148628B2 (en) | System and method for secure messaging in a hybrid peer-to-peer network | |
US10484335B2 (en) | Secure remote computer network | |
CN102377629B (zh) | 终端穿越私网与ims核心网中服务器通信的方法、装置及网络*** | |
US8689307B2 (en) | System and method for providing a virtual peer-to-peer environment | |
US7293108B2 (en) | Generic external proxy | |
CN110572460B (zh) | 基于区块链***的数据传输方法、装置及计算机设备 | |
CN104168173B (zh) | 终端穿越私网与ims核心网中服务器通信的方法、装置及网络*** | |
US7831715B2 (en) | Communication system, communication method, and program | |
US20070192845A1 (en) | System and method for passively detecting a proxy | |
CN112997463A (zh) | 用于跨公用互联网的服务器集群网络通信的***和方法 | |
US20090147795A1 (en) | TCP Traversal Through Network Address Translators (NATS) | |
CN107612931B (zh) | 多点会话方法及多点会话*** | |
US10715583B2 (en) | Secure remote computer network | |
CN108924157B (zh) | 一种基于IPSec VPN的报文转发方法及装置 | |
CN114553567B (zh) | 多方安全计算中的网络传输方法、***、存储介质及计算设备 | |
CN114338116B (zh) | 加密传输方法、装置及sd-wan网络*** | |
CN110474830B (zh) | 一种基于端口转发的p2p隧道通信方法 | |
CN116708381B (zh) | 跨网络的数据传输方法、装置和存储介质及电子设备 | |
CN117439815B (zh) | 一种基于反向透明桥接的内网穿透***及方法 | |
Nguyen et al. | Towards Secure Communications in Heterogeneous Internet of Things | |
JP2023088290A (ja) | 中間者攻撃防止を伴うリモートアクセス | |
CN117082123A (zh) | 通信方法、装置、***、介质及设备 | |
CN117692277A (zh) | 一种数据传输方法、装置、设备及可读存储介质 | |
Budda | Performance Analysis of Proxy based Encrypted communication in IoT environments: Security and Privacy~ Distributed Systems Security |
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 |