CN113472668A - 多方安全计算中的路由方法和*** - Google Patents
多方安全计算中的路由方法和*** Download PDFInfo
- Publication number
- CN113472668A CN113472668A CN202110844584.0A CN202110844584A CN113472668A CN 113472668 A CN113472668 A CN 113472668A CN 202110844584 A CN202110844584 A CN 202110844584A CN 113472668 A CN113472668 A CN 113472668A
- Authority
- CN
- China
- Prior art keywords
- gateway
- participant
- application
- access request
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本说明书实施例提供一种多方安全计算中的路由方法和***,方法包括:第一计算参与方的第一网关从其第一应用接收访问请求,访问请求中携带待访问的第二应用的域名;第一网关根据第二应用的域名,确定第二应用属于第二计算参与方;第一网关以第二计算参与方为目标节点,从第一路由表中查找到下一跳的第一中继节点的地址;第一网关根据第一中继节点的地址,将访问请求发送到第一中继节点的第一中继网关,以使第一中继网关将访问请求转发给第二计算参与方的第二网关,由第二网关将访问请求转发给第二应用,第一应用和第二应用用于执行多方安全计算。能够降低多方安全计算对网络拓扑的要求。
Description
技术领域
本说明书一个或多个实施例涉及计算机领域,尤其涉及多方安全计算中的路由方法和***。
背景技术
多方安全计算又称为安全多方计算,即在满足数据安全、隐私保护和监管合规要求的前提下,利用秘密分享、混淆电路、同态加密等密码学算法,实现多方数据不出域,挖掘数据价值。其中,各方的数据常常为隐私数据。通常地,在各方分别设置应用,应用对应于多方安全计算的计算任务,通过各方之间对应用的访问,实现多方安全计算的计算任务。
发明内容
本说明书一个或多个实施例描述了一种多方安全计算中的路由方法和***,能够降低多方安全计算对网络拓扑的要求。
第一方面,提供了一种多方安全计算中的路由方法,方法包括:
第一计算参与方的第一网关从所述第一计算参与方的第一应用接收访问请求,所述访问请求中携带待访问的第二应用的域名;
所述第一网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方;
所述第一网关以所述第二计算参与方为目标节点,从第一路由表中查找到下一跳的第一中继节点的地址;
所述第一网关根据所述第一中继节点的地址,将所述访问请求发送到所述第一中继节点的第一中继网关,以使所述第一中继网关将所述访问请求转发给所述第二计算参与方的第二网关,由所述第二网关将所述访问请求转发给所述第二应用,所述第一应用和所述第二应用用于执行多方安全计算。
在一种可能的实施方式中,所述第一计算参与方的第一网关从所述第一计算参与方的第一应用接收访问请求之前,所述方法还包括:
所述第一应用向所述第一计算参与方的第一域名解析器发送域名解析请求,所述域名解析请求中携带所述第二应用的域名;
所述第一域名解析器根据所述第二应用的域名,判断所述第二应用是否属于所述第一计算参与方;
当所述第一域名解析器判断出所述第二应用不属于所述第一计算参与方时,解析出所述第一网关的网关网络协议(internet protocol,IP)地址,并向所述第一应用返回该网关IP地址;
所述第一应用根据该网关IP地址,向所述第一网关发送所述访问请求。
进一步地,每个应用的域名包括:应用标识和该应用所在计算参与方的域标识;
所述第一域名解析器根据所述第二应用的域名,判断所述第二应用是否属于所述第一计算参与方,包括:
所述第一域名解析器根据所述第二应用的域名中包括的域标识是否为第一计算参与方的域标识,判断所述第二应用是否属于所述第一计算参与方。
在一种可能的实施方式中,每个应用的域名包括:应用标识和该应用所在计算参与方的域标识;
所述第一网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方,包括:
所述第一网关根据所述第二应用的域名中包括的域标识为第二计算参与方的域标识,确定所述第二应用属于所述第二计算参与方。
在一种可能的实施方式中,所述第一网关以所述第二计算参与方为目标节点,从第一路由表中查找到下一跳的第一中继节点的地址,包括:
所述第一网关以所述第二计算参与方为目标节点,从第一路由表中查找到与该目标节点对应的下一跳的第一中继节点;
所述第一网关以所述第一中继节点为目标节点,从所述第一路由表中查找到所述第一中继节点的地址。
在一种可能的实施方式中,所述第一网关根据所述第一中继节点的地址,将所述访问请求发送到所述第一中继节点的第一中继网关之后,所述方法还包括:
所述第一中继网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方;
所述第一中继网关以所述第二计算参与方为目标节点,从第二路由表中查找到下一跳的第二中继节点的地址;
所述第一中继网关根据所述第二中继节点的地址,将所述访问请求发送到所述第二中继节点的第二中继网关,以使所述第二中继网关将所述访问请求转发给所述第二计算参与方的第二网关,由所述第二网关将所述访问请求转发给所述第二应用。
在一种可能的实施方式中,所述第一网关根据所述第一中继节点的地址,将所述访问请求发送到所述第一中继节点的第一中继网关之后,所述方法还包括:
所述第一中继网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方;
所述第一中继网关以所述第二计算参与方为目标节点,从第二路由表中查找到所述第二计算参与方的地址;
所述第一中继网关根据所述第二计算参与方的地址,将所述访问请求发送到所述第二计算参与方的第二网关,由所述第二网关将所述访问请求转发给所述第二应用。
在一种可能的实施方式中,所述第一网关根据所述第一中继节点的地址,将所述访问请求发送到所述第一中继节点的第一中继网关,包括:
所述第一网关利用与所述第二计算参与方共享的对称密钥,对所述访问请求进行加密;
根据所述第一中继节点的地址,将加密后的所述访问请求发送到所述第一中继节点的第一中继网关,以使所述第一中继网关将加密后的所述访问请求转发给所述第二计算参与方的第二网关,由所述第二网关利用与所述第一计算参与方共享的所述对称密钥对加密后的所述访问请求进行解密,得到所述访问请求,将所述访问请求转发给所述第二应用。
进一步地,所述第一计算参与方具有多个网关构成的第一网关集群,所述第二计算参与方具有多个网关构成的第二网关集群;所述对称密钥采用如下方式生成:
所述第一计算参与方对应的第三网关生成第一密钥,使用所述第二计算参与方的第二公钥对所述第一密钥加密,得到第一加密密钥,将所述第一加密密钥发往所述第二计算参与方对应的第四网关;
所述第四网关使用所述第二公钥对应的第二私钥对所述第一加密密钥解密,得到所述第一密钥;
所述第四网关生成第二密钥,使用所述第一计算参与方的第一公钥对所述第二密钥加密,得到第二加密密钥,将所述第二加密密钥发往所述第三网关;
所述第三网关使用所述第一公钥对应的第一私钥对所述第二加密密钥解密,得到所述第二密钥;
所述第三网关和所述第四网关分别根据所述第一密钥和所述第二密钥,按照预设算法生成所述对称密钥。
进一步地,所述第三网关生成第一密钥之前,所述方法还包括:
中心平台将所述第一公钥下发至所述第四网关,将所述第二公钥下发至所述第三网关。
进一步地,所述中心平台将所述第一公钥下发至所述第四网关,将所述第二公钥下发至所述第三网关之前,所述方法还包括:
所述中心平台从所述第一网关集群中选择出第三网关,从所述第二网关集群中选择出第四网关。
进一步地,所述按照预设算法生成所述对称密钥之后,所述方法还包括:
所述第三网关将所述对称密钥使用所述第一公钥加密后,得到第一加密对称密钥,将所述第一加密对称密钥上传至所述中心平台;
所述第四网关将所述对称密钥使用所述第二公钥加密后,得到第二加密对称密钥,将所述第二加密对称密钥上传至所述中心平台;
所述中心平台将所述第一加密对称密钥下发至所述第一网关集群,将所述第二加密对称密钥下发至所述第二网关集群;
所述第一网关集群中的各网关利用所述第一私钥对所述第一加密对称密钥解密,得到所述对称密钥;
所述第二网关集群中的各网关利用所述第二私钥对所述第二加密对称密钥解密,得到所述对称密钥。
第二方面,提供了一种多方安全计算中的路由***,***包括:
第一计算参与方,用于通过所述第一计算参与方的第一网关从所述第一计算参与方的第一应用接收访问请求,所述访问请求中携带待访问的第二应用的域名;通过所述第一网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方;通过所述第一网关以所述第二计算参与方为目标节点,从第一路由表中查找到下一跳的第一中继节点的地址;通过所述第一网关根据所述第一中继节点的地址,将所述访问请求发送到所述第一中继节点的第一中继网关;
所述第一中继节点,用于通过所述第一中继网关将所述访问请求转发给所述第二计算参与方的第二网关;
所述第二计算参与方,用于通过所述第二网关将所述访问请求转发给所述第二应用,所述第一应用和所述第二应用用于执行多方安全计算。
第三方面,提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行第一方面的方法。
第四方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现第一方面的方法。
通过本说明书实施例提供的方法和***,首先第一计算参与方的第一网关从所述第一计算参与方的第一应用接收访问请求,所述访问请求中携带待访问的第二应用的域名;然后所述第一网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方;接着所述第一网关以所述第二计算参与方为目标节点,从第一路由表中查找到下一跳的第一中继节点的地址;最后所述第一网关根据所述第一中继节点的地址,将所述访问请求发送到所述第一中继节点的第一中继网关,以使所述第一中继网关将所述访问请求转发给所述第二计算参与方的第二网关,由所述第二网关将所述访问请求转发给所述第二应用,所述第一应用和所述第二应用用于执行多方安全计算。由上可见,本说明书实施例,第一计算参与方与第二计算参与方无法直连,但是均与第一中继节点连接,对于第一计算参与方与第二计算参与方之间的消息,可以通过第一中继节点转发,实现第一计算参与方与第二计算参与方的间接互联,能够降低多方安全计算对网络拓扑的要求。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本说明书披露的一个实施例的实施场景示意图;
图2为本说明书披露的一个实施例的网络架构示意图;
图3示出根据一个实施例的多方安全计算中的路由方法交互示意图;
图4示出根据一个实施例的三方执行的多方安全计算中的训练任务的示意图;
图5示出根据一个实施例的域名解析示意图;
图6示出根据一个实施例的针对特定访问请求的链路工作示意图;
图7示出根据一个实施例的多方安全计算中的路由***的示意性框图。
具体实施方式
下面结合附图,对本说明书提供的方案进行描述。
图1为本说明书披露的一个实施例的实施场景示意图。该实施场景涉及多方安全计算中的路由,可以理解的是,多方安全计算涉及多个计算参与方,多个计算参与方之间需要进行消息的交互,上述路由可以理解为消息从源到目的地的路径的确定过程,上述多个具体为两个或两个以上,例如,3个、5个、10个、20个等,本说明书实施例,仅以3个计算参与方为例进行说明。参照图1,多方安全计算涉及3个计算参与方,分别为计算参与方A、计算参与方B和计算参与方C,图1中的(1)示出多方安全计算的计算任务要求的网络架构,也就是说,要求3个计算参与方中的任意两个计算参与方可以互通;图1中的(2)示出多方安全计算的实际的网络架构,计算参与方B和计算参与方A可以直连,计算参与方C和计算参与方A可以直连,计算参与方B和计算参与方C不能直连;图1中的(3)示出多方安全计算的虚拟直连链路,计算参与方A作为中继节点,负责中继转发计算参与方B和计算参与方C之间交互的消息,形成计算参与方B和计算参与方C之间的虚拟直连链路。
本说明书实施例,针对多方安全计算中的两个计算参与方不能直连的情况下,通过提供相应的路由方案,使得两个计算参与方之间形成上述虚拟直连链路,实现两个计算参与方的间接互联,能够降低多方安全计算对网络拓扑的要求。
此外,需要说明的是,应用对应于多方安全计算的计算任务,通过各方之间对应用的访问,实现多方安全计算的计算任务。例如,计算参与方B具有应用1和应用2,计算参与方C具有应用3和应用4,多方安全计算中可能不仅涉及一方内部的通信包括应用1对应用2的访问,或者应用3对应用4的访问,还涉及两方之间的通信包括应用2对应用4的访问。
本说明书实施例,应用是完成某个具体功能的程序,例如模型训练、模型预测、数据回流等,可能以短作业形式执行,也可能以服务形式常驻。
上述模型训练可以采用联邦学习技术。联邦学习:一种机器学习技术,可跨多个分散的边缘设备或保存本地数据样本的服务器训练模型,在保证数据隐私安全及合法合规的基础上,实现共同建模,提升神经网络模型的效果。
可以理解的是,多方安全计算中各方的数据为隐私数据,隐私数据可以是任何不便于公开的数据,可以但不限于代表用户的个人信息的数据,或者商业秘密等。
可选地,还可以设置中心平台,由中心平台向计算参与方发送指令,该指令用于协调多方安全计算过程,例如协调多方模型训练与模型部署。
需要说明的是,本说明书实施例中提到的计算参与方和中心平台是从角色上给出的名称,在物理上可以由一个模块、一台计算设备或者计算集群构成。
图2为本说明书披露的一个实施例的网络架构示意图。该网络架构可以对应于图1所示的实施场景,每个计算参与方包括应用执行器、域名解析器和网关,例如,计算参与方1具有独享的应用执行器、域名解析器和网关,计算参与方2也具有独享的应用执行器、域名解析器和网关。应用执行器用于执行该计算参与方中的一个或多个应用,应用对应于多方安全计算的计算任务,每个应用对应有能够唯一标识该应用的域名,跨计算参与方的应用访问需要通过网关,本计算参与方的应用访问不需要通过网关,例如,应用2对应用4的访问需要通过网关,应用1对应用2的访问不需要通过网关,这可以借助于域名解析器对待访问的应用的域名解析来实现。
本说明书实施例,域名解析器用于实现将域名映射成网络协议(internetprotocol,IP)地址的服务。网关可以用于各计算参与方间的身份认证,代理计算参与方的出口和入口流量,记录请求日志。
其中,各计算参与方可以采用容器化部署,所述应用执行器、域名解析器和网关作为各计算参与方的基础容器。
图3示出根据一个实施例的多方安全计算中的路由方法交互示意图,该方法可以基于图1所示的实施场景和图2所示的网络架构,由第一计算参与方、第一中继节点和第二计算参与方交互执行。如图3所示,该实施例中多方安全计算中的路由方法包括以下步骤:
步骤31,第一计算参与方的第一网关从所述第一计算参与方的第一应用接收访问请求,所述访问请求中携带待访问的第二应用的域名;步骤32,第一网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方;步骤33,第一网关以所述第二计算参与方为目标节点,从第一路由表中查找到下一跳的第一中继节点的地址;步骤34,第一网关根据所述第一中继节点的地址,将所述访问请求发送到所述第一中继节点的第一中继网关;步骤35,第一中继网关将所述访问请求转发给所述第二计算参与方的第二网关;步骤36,第二网关将所述访问请求转发给所述第二应用,所述第一应用和所述第二应用用于执行多方安全计算。下面描述以上各个步骤的具体执行方式。
首先在步骤31,第一计算参与方的第一网关从所述第一计算参与方的第一应用接收访问请求,所述访问请求中携带待访问的第二应用的域名。可以理解的是,第二应用不属于第一计算参与方,因此第一应用对第二应用的访问需要通过网关。
在一个示例中,所述第一计算参与方的第一网关从所述第一计算参与方的第一应用接收访问请求之前,所述方法还包括:
所述第一应用向所述第一计算参与方的第一域名解析器发送域名解析请求,所述域名解析请求中携带所述第二应用的域名;
所述第一域名解析器根据所述第二应用的域名,判断所述第二应用是否属于所述第一计算参与方;
当所述第一域名解析器判断出所述第二应用不属于所述第一计算参与方时,解析出所述第一网关的网关网络协议IP地址,并向所述第一应用返回该网关IP地址;
所述第一应用根据该网关IP地址,向所述第一网关发送所述访问请求。
进一步地,每个应用的域名包括:应用标识和该应用所在计算参与方的域标识;
所述第一域名解析器根据所述第二应用的域名,判断所述第二应用是否属于所述第一计算参与方,包括:
所述第一域名解析器根据所述第二应用的域名中包括的域标识是否为第一计算参与方的域标识,判断所述第二应用是否属于所述第一计算参与方。
本说明书实施例,每个应用(也可称为服务)对应有能够唯一标识该应用的域名。可选地,域名采用如下的结构:service-name.domain-name.svc。其中,service-name代表应用标识,domain-name代表该应用所在计算参与方的域标识,svc为应用的扩展名。
图4示出根据一个实施例的三方执行的多方安全计算中的训练任务的示意图。参照图4,计算参与方A、计算参与方B、计算参与方C三方协同完成一个训练任务job-1。***框架在各方分别拉起一个pod,并为其应用分配一个域名,应用之间通过域名互相访问。计算参与方A中的应用的域名为http://job-1.a.svc,其中的a标识出了该应用属于计算参与方A;计算参与方B中的应用的域名为http://job-1.b.svc,其中的b标识出了该应用属于计算参与方B;计算参与方C中的应用的域名为http://job-1.c.svc,其中的c标识出了该应用属于计算参与方C。各应用之间通过域名互相访问。
图5示出根据一个实施例的域名解析示意图。参照图5,第一计算参与方的域标识为domain-bob,第二计算参与方的域标识为domain-alice,第二应用的域名为foo.domain-alice.svc,该域名结构中包括了第二计算参与方的域标识,因此第一域名解析器向第一应用返回第一网关的网关IP地址11.9.245.32,也就是说,对于其他计算参与方的应用的域名,域名解析器解析至网关IP地址,从而将跨域请求拦截至网关,由网关转发至对端计算参与方。
然后在步骤32,第一网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方。可以理解的是,第二应用的域名可以反映出其所在的计算参与方。
在一个示例中,每个应用的域名包括:应用标识和该应用所在计算参与方的域标识;
所述第一网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方,包括:
所述第一网关根据所述第二应用的域名中包括的域标识为第二计算参与方的域标识,确定所述第二应用属于所述第二计算参与方。
接着在步骤33,第一网关以所述第二计算参与方为目标节点,从第一路由表中查找到下一跳的第一中继节点的地址。可以理解的是,第一网关属于第一计算参与方,第一计算参与方为源节点,第一计算参与方和第二计算参与方无法直连,需要通过第一中继节点实现虚拟互联链路。
在一个示例中,所述第一网关以所述第二计算参与方为目标节点,从第一路由表中查找到下一跳的第一中继节点的地址,包括:
所述第一网关以所述第二计算参与方为目标节点,从第一路由表中查找到与该目标节点对应的下一跳的第一中继节点;
所述第一网关以所述第一中继节点为目标节点,从所述第一路由表中查找到所述第一中继节点的地址。
本说明书实施例,网关具有的路由表通常由三元组构成<source,destination,host>,其中source表示源节点,destination表示目标节点,host表示目标节点的入口地址。网关通过节点之间授权,各自维护了一张到目标节点的路由表。如表一所示,为通常的路由表结构,可以理解的是,由于各节点分别维护了各自到目标节点的路由表,因此路由表中也可以不包括源节点。
表一:一种路由表结构
源节点 | 目标节点 | 目标节点的入口地址 |
B | A | https://mpctrain.alipay.com |
A | B | https://mpctrain.inst-a.com |
C | A | https://mpctrain.alipay.com |
A | C | https://mpctrain.inst-c.com |
参见表一,A节点和B节点之间可以直连,A节点和C节点之间也可以直连,A节点作为中继节点,与B、C分别建立双向授权链路。
由于种种限制因素,B节点和C节点无法建立直连的双向授权链路。此时,可以建立一种特殊的节点授权<source,destination,next-hop>,其中next-hop表示源节点访问目标节点的下一跳节点。
表二:另一种路由表结构
源节点 | 目标节点 | 下一跳节点 |
B | C | A |
C | B | A |
参见表二,B节点和C节点之间不能直连,A节点作为下一跳节点,B节点和C节点之间交互的消息需要通过A节点转发。
再在步骤34,第一网关根据所述第一中继节点的地址,将所述访问请求发送到所述第一中继节点的第一中继网关。可以理解的是,第一计算参与方和第二计算参与方之间的间接访问链路中可以只经过一个中继节点,例如,B→A→E构成的B节点到E节点的间接访问链路中经过一个中继节点A节点,A节点就是前述第一中继节点;第一计算参与方和第二计算参与方之间的间接访问链路中也可以经过多个中继节点,例如,B→A→C→D→E构成的B节点到E节点的间接访问链路中经过3个中继节点,这3个中继节点分别为A节点、C节点和D节点,最先经过的中继节点就是前述第一中继节点,A节点就是前述第一中继节点。
在一个示例中,所述第一网关根据所述第一中继节点的地址,将所述访问请求发送到所述第一中继节点的第一中继网关之后,所述方法还包括:
所述第一中继网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方;
所述第一中继网关以所述第二计算参与方为目标节点,从第二路由表中查找到下一跳的第二中继节点的地址;
所述第一中继网关根据所述第二中继节点的地址,将所述访问请求发送到所述第二中继节点的第二中继网关,以使所述第二中继网关将所述访问请求转发给所述第二计算参与方的第二网关,由所述第二网关将所述访问请求转发给所述第二应用。
该示例中,第一计算参与方和第二计算参与方之间的间接访问链路中经过多个中继节点,第一计算参与方的访问请求需要经过多个中继节点的依次转发,才能到达第二计算参与方。可以理解的是,第一中继网关发送的访问请求中,可以携带初始来源信息和源节点信息,其中,所述第一计算参与方为所述访问请求的初始来源,所述第一中继节点为源节点。
在另一个示例中,所述第一网关根据所述第一中继节点的地址,将所述访问请求发送到所述第一中继节点的第一中继网关之后,所述方法还包括:
所述第一中继网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方;
所述第一中继网关以所述第二计算参与方为目标节点,从第二路由表中查找到所述第二计算参与方的地址;
所述第一中继网关根据所述第二计算参与方的地址,将所述访问请求发送到所述第二计算参与方的第二网关,由所述第二网关将所述访问请求转发给所述第二应用。
该示例中,第一计算参与方和第二计算参与方之间的间接访问链路中只经过一个中继节点,第一计算参与方的访问请求只需要经过该中继节点的转发,就能到达第二计算参与方。可以理解的是,第一中继网关发送的访问请求中,可以携带初始来源信息和源节点信息,其中,所述第一计算参与方为所述访问请求的初始来源,所述第一中继节点为源节点。
在一个示例中,所述第一网关根据所述第一中继节点的地址,将所述访问请求发送到所述第一中继节点的第一中继网关,包括:
所述第一网关利用与所述第二计算参与方共享的对称密钥,对所述访问请求进行加密;
根据所述第一中继节点的地址,将加密后的所述访问请求发送到所述第一中继节点的第一中继网关,以使所述第一中继网关将加密后的所述访问请求转发给所述第二计算参与方的第二网关,由所述第二网关利用与所述第一计算参与方共享的所述对称密钥对加密后的所述访问请求进行解密,得到所述访问请求,将所述访问请求转发给所述第二应用。
该示例中,由于第一中继节点无法获取上述对称密钥,因此无法对加密后的所述访问请求进行解密,防止中继节点在转发消息的过程中,窃取敏感信息,提升了安全性。
进一步地,所述第一计算参与方具有多个网关构成的第一网关集群,所述第二计算参与方具有多个网关构成的第二网关集群;所述对称密钥采用如下方式生成:
所述第一计算参与方对应的第三网关生成第一密钥,使用所述第二计算参与方的第二公钥对所述第一密钥加密,得到第一加密密钥,将所述第一加密密钥发往所述第二计算参与方对应的第四网关;
所述第四网关使用所述第二公钥对应的第二私钥对所述第一加密密钥解密,得到所述第一密钥;
所述第四网关生成第二密钥,使用所述第一计算参与方的第一公钥对所述第二密钥加密,得到第二加密密钥,将所述第二加密密钥发往所述第三网关;
所述第三网关使用所述第一公钥对应的第一私钥对所述第二加密密钥解密,得到所述第二密钥;
所述第三网关和所述第四网关分别根据所述第一密钥和所述第二密钥,按照预设算法生成所述对称密钥。
该示例中,基于第一计算参与方和第二计算参与方各自的非对称密钥生成上述对称密钥,安全性高。
进一步地,所述第三网关生成第一密钥之前,所述方法还包括:
中心平台将所述第一公钥下发至所述第四网关,将所述第二公钥下发至所述第三网关。
进一步地,所述中心平台将所述第一公钥下发至所述第四网关,将所述第二公钥下发至所述第三网关之前,所述方法还包括:
所述中心平台从所述第一网关集群中选择出第三网关,从所述第二网关集群中选择出第四网关。
进一步地,所述按照预设算法生成所述对称密钥之后,所述方法还包括:
所述第三网关将所述对称密钥使用所述第一公钥加密后,得到第一加密对称密钥,将所述第一加密对称密钥上传至所述中心平台;
所述第四网关将所述对称密钥使用所述第二公钥加密后,得到第二加密对称密钥,将所述第二加密对称密钥上传至所述中心平台;
所述中心平台将所述第一加密对称密钥下发至所述第一网关集群,将所述第二加密对称密钥下发至所述第二网关集群;
所述第一网关集群中的各网关利用所述第一私钥对所述第一加密对称密钥解密,得到所述对称密钥;
所述第二网关集群中的各网关利用所述第二私钥对所述第二加密对称密钥解密,得到所述对称密钥。
可以理解的是,中心平台可以辅助第一计算参与方和第二计算参与方生成对称密钥,以及对称密钥的下发,但是中心平台不会获得明文的对称密钥,安全性高。
再在步骤35,第一中继网关将所述访问请求转发给所述第二计算参与方的第二网关。可以理解的是,访问请求中携带待访问的第二应用的域名,第一中继网关可以根据所述第二应用的域名,确定所述第二应用属于第二计算参与方,将述访问请求转发给所述第二计算参与方的第二网关。
在一个示例中,第一中继节点和第二计算参与方可以直连,第一中继节点将所述访问请求直接转发给所述第二计算参与方的第二网关。
在另一个示例中,第一中继节点和第二计算参与方不能直连,二者之间的间接访问链路中还经过至少一个中继节点,第一中继节点将所述访问请求先转发给其他中继节点,再由其他中继节点将所述访问请求转发给所述第二计算参与方的第二网关。
最后在步骤36,第二网关将所述访问请求转发给所述第二应用,所述第一应用和所述第二应用用于执行多方安全计算。可以理解的是,第二网关和第二应用同属于第二计算参与方,可以通过本地转发将所述访问请求发送到所述第二应用。
在一个示例中,各计算参与方采用容器化部署,所述第二应用运行在目标容器中,所述目标容器属于目标调度单元pod;
所述第二网关将所述访问请求转发给所述第二应用,包括:
所述第二网关根据所述目标pod的调度网络协议IP地址,将所述访问请求发送到所述目标pod。
本说明书实施例,各计算参与方之间,或者计算参与方与中继节点之间,可以通过公网或专线建立连接。网关支持http和https,通常在公网下使用https,专线下使用http。
通过本说明书实施例提供的方法,首先第一计算参与方的第一网关从所述第一计算参与方的第一应用接收访问请求,所述访问请求中携带待访问的第二应用的域名;然后所述第一网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方;接着所述第一网关以所述第二计算参与方为目标节点,从第一路由表中查找到下一跳的第一中继节点的地址;最后所述第一网关根据所述第一中继节点的地址,将所述访问请求发送到所述第一中继节点的第一中继网关,以使所述第一中继网关将所述访问请求转发给所述第二计算参与方的第二网关,由所述第二网关将所述访问请求转发给所述第二应用,所述第一应用和所述第二应用用于执行多方安全计算。由上可见,本说明书实施例,第一计算参与方与第二计算参与方无法直连,但是均与第一中继节点连接,对于第一计算参与方与第二计算参与方之间的消息,可以通过第一中继节点转发,实现第一计算参与方与第二计算参与方的间接互联,能够降低多方安全计算对网络拓扑的要求。
图6示出根据一个实施例的针对特定访问请求的链路工作示意图。参照图6,以B节点向C节点发送访问请求http://job-1.c.svc为例,说明整个链路如何工作。
参照图6中的(1),首先,B节点的域名解析器解析域名job-1.c.svc,将访问请求拦截至B节点的网关。
参照图6中的(2),然后,B节点的网关根据目标节点的入口地址Host,判断应该将访问请求转发至C节点,查询路由表,得知下一跳节点为A节点;再次查询路由表,得知节点A的地址为mpctrain.alipay.com。
接着,B节点的网关将Host设置为mpctrain.alipay.com;将MPC-Source设置为B,表明源节点身份;将MPC-Host设置为job-1.c.svc,表明访问的目标应用。B节点的网关将访问请求发送至A节点的网关。
参照图6中的(3),接着,A节点的网关收到访问请求,根据MPC-Host判断应该将请求转发至C节点,查询路由表,得知C节点的地址为mpctrain.inst-c.com。
接着,A节点的网关将Host设置为mpctrain.inst-c.com;将MPC-Source设置为A,表明源节点身份,同时将MPC-Origin-Source设置为B,表明请求来源;维持MPC-Host不变。A节点的网关将请求发送至C节点的网关。
最后,C节点的网关收到请求,根据MPC-Host将请求转发至对应的后端pod。
本说明书实施例还提供了一种***框架,***框架是多方安全计算场景下,编排、部署和管理各类应用的平台。它是一个跨机构的kubernetes集群,其中,机构可以理解为计算参与方,k8s master位于中心节点,负责管理、调度、协调整个集群的资源和状态。k8snode位于下游节点,部署于各合作机构,负责执行离线训练任务,运行在线模型服务。本说明书实施例,通过中继节点建立的虚拟链路由框架层完成,对于应用层来说是透明的,减小了应用的开发难度。
通常地,大部分机构有统一的http接入网关,只允许http协议通信,本说明书实施例提供的路由方法基于http协议,在多方安全计算场景下具有更好的适用性,对机构网络基础设施的要求更低。
根据另一方面的实施例,还提供一种多方安全计算中的路由***,该***用于执行本说明书实施例提供的方法。图7示出根据一个实施例的多方安全计算中的路由***的示意性框图。如图7所示,该***700包括:
第一计算参与方71,用于通过所述第一计算参与方71的第一网关从所述第一计算参与方71的第一应用接收访问请求,所述访问请求中携带待访问的第二应用的域名;通过所述第一网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方;通过所述第一网关以所述第二计算参与方72为目标节点,从第一路由表中查找到下一跳的第一中继节点73的地址;通过所述第一网关根据所述第一中继节点73的地址,将所述访问请求发送到所述第一中继节点73的第一中继网关;
所述第一中继节点73,用于通过所述第一中继网关将所述访问请求转发给所述第二计算参与方72的第二网关;
所述第二计算参与方72,用于通过所述第二网关将所述访问请求转发给所述第二应用,所述第一应用和所述第二应用用于执行多方安全计算。
可选地,作为一个实施例,所述第一计算参与方71,还用于在通过所述第一网关从所述第一计算参与方71的第一应用接收访问请求之前,通过所述第一应用向所述第一计算参与方71的第一域名解析器发送域名解析请求,所述域名解析请求中携带所述第二应用的域名;通过所述第一域名解析器根据所述第二应用的域名,判断所述第二应用是否属于所述第一计算参与方71;当所述第一域名解析器判断出所述第二应用不属于所述第一计算参与方71时,解析出所述第一网关的网关网络协议IP地址,并向所述第一应用返回该网关IP地址;所述第一应用根据该网关IP地址,向所述第一网关发送所述访问请求。
进一步地,每个应用的域名包括:应用标识和该应用所在计算参与方的域标识;
所述第一计算参与方71,具体用于通过所述第一域名解析器根据所述第二应用的域名中包括的域标识是否为第一计算参与方71的域标识,判断所述第二应用是否属于所述第一计算参与方71。
可选地,作为一个实施例,每个应用的域名包括:应用标识和该应用所在计算参与方的域标识;
所述第一计算参与方71,具体用于通过所述第一网关根据所述第二应用的域名中包括的域标识为第二计算参与方72的域标识,确定所述第二应用属于所述第二计算参与方72。
可选地,作为一个实施例,所述第一计算参与方71,具体用于通过所述第一网关以所述第二计算参与方72为目标节点,从第一路由表中查找到与该目标节点对应的下一跳的第一中继节点73;所述第一网关以所述第一中继节点73为目标节点,从所述第一路由表中查找到所述第一中继节点73的地址。
可选地,作为一个实施例,所述第一中继节点73,具体用于通过所述第一中继网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方72;所述第一中继网关以所述第二计算参与方72为目标节点,从第二路由表中查找到下一跳的第二中继节点的地址;所述第一中继网关根据所述第二中继节点的地址,将所述访问请求发送到所述第二中继节点的第二中继网关,以使所述第二中继网关将所述访问请求转发给所述第二计算参与方72的第二网关,由所述第二网关将所述访问请求转发给所述第二应用。
可选地,作为一个实施例,所述第一中继节点73,具体用于通过所述第一中继网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方72;所述第一中继网关以所述第二计算参与方72为目标节点,从第二路由表中查找到所述第二计算参与方72的地址;所述第一中继网关根据所述第二计算参与方72的地址,将所述访问请求发送到所述第二计算参与方72的第二网关,由所述第二网关将所述访问请求转发给所述第二应用。
可选地,作为一个实施例,所述第一计算参与方71,具体用于通过所述第一网关利用与所述第二计算参与方72共享的对称密钥,对所述访问请求进行加密;根据所述第一中继节点73的地址,将加密后的所述访问请求发送到所述第一中继节点73的第一中继网关,以使所述第一中继网关将加密后的所述访问请求转发给所述第二计算参与方72的第二网关,由所述第二网关利用与所述第一计算参与方71共享的所述对称密钥对加密后的所述访问请求进行解密,得到所述访问请求,将所述访问请求转发给所述第二应用。
进一步地,所述第一计算参与方71具有多个网关构成的第一网关集群,所述第二计算参与方72具有多个网关构成的第二网关集群;所述对称密钥采用如下方式生成:
所述第一计算参与方71对应的第三网关生成第一密钥,使用所述第二计算参与方72的第二公钥对所述第一密钥加密,得到第一加密密钥,将所述第一加密密钥发往所述第二计算参与方72对应的第四网关;
所述第四网关使用所述第二公钥对应的第二私钥对所述第一加密密钥解密,得到所述第一密钥;
所述第四网关生成第二密钥,使用所述第一计算参与方71的第一公钥对所述第二密钥加密,得到第二加密密钥,将所述第二加密密钥发往所述第三网关;
所述第三网关使用所述第一公钥对应的第一私钥对所述第二加密密钥解密,得到所述第二密钥;
所述第三网关和所述第四网关分别根据所述第一密钥和所述第二密钥,按照预设算法生成所述对称密钥。
进一步地,所述***还包括:
中心平台,用于在所述第三网关生成第一密钥之前,将所述第一公钥下发至所述第四网关,将所述第二公钥下发至所述第三网关。
进一步地,所述中心平台,还用于在将所述第一公钥下发至所述第四网关,将所述第二公钥下发至所述第三网关之前,从所述第一网关集群中选择出第三网关,从所述第二网关集群中选择出第四网关。
根据另一方面的实施例,还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行结合图3所描述的方法。
根据再一方面的实施例,还提供一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现结合图3所描述的方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (25)
1.一种多方安全计算中的路由方法,所述方法包括:
第一计算参与方的第一网关从所述第一计算参与方的第一应用接收访问请求,所述访问请求中携带待访问的第二应用的域名;
所述第一网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方;
所述第一网关以所述第二计算参与方为目标节点,从第一路由表中查找到下一跳的第一中继节点的地址;
所述第一网关根据所述第一中继节点的地址,将所述访问请求发送到所述第一中继节点的第一中继网关,以使所述第一中继网关将所述访问请求转发给所述第二计算参与方的第二网关,由所述第二网关将所述访问请求转发给所述第二应用,所述第一应用和所述第二应用用于执行多方安全计算。
2.如权利要求1所述的方法,其中,所述第一计算参与方的第一网关从所述第一计算参与方的第一应用接收访问请求之前,所述方法还包括:
所述第一应用向所述第一计算参与方的第一域名解析器发送域名解析请求,所述域名解析请求中携带所述第二应用的域名;
所述第一域名解析器根据所述第二应用的域名,判断所述第二应用是否属于所述第一计算参与方;
当所述第一域名解析器判断出所述第二应用不属于所述第一计算参与方时,解析出所述第一网关的网关网络协议IP地址,并向所述第一应用返回该网关IP地址;
所述第一应用根据该网关IP地址,向所述第一网关发送所述访问请求。
3.如权利要求2所述的方法,其中,每个应用的域名包括:应用标识和该应用所在计算参与方的域标识;
所述第一域名解析器根据所述第二应用的域名,判断所述第二应用是否属于所述第一计算参与方,包括:
所述第一域名解析器根据所述第二应用的域名中包括的域标识是否为第一计算参与方的域标识,判断所述第二应用是否属于所述第一计算参与方。
4.如权利要求1所述的方法,其中,每个应用的域名包括:应用标识和该应用所在计算参与方的域标识;
所述第一网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方,包括:
所述第一网关根据所述第二应用的域名中包括的域标识为第二计算参与方的域标识,确定所述第二应用属于所述第二计算参与方。
5.如权利要求1所述的方法,其中,所述第一网关以所述第二计算参与方为目标节点,从第一路由表中查找到下一跳的第一中继节点的地址,包括:
所述第一网关以所述第二计算参与方为目标节点,从第一路由表中查找到与该目标节点对应的下一跳的第一中继节点;
所述第一网关以所述第一中继节点为目标节点,从所述第一路由表中查找到所述第一中继节点的地址。
6.如权利要求1所述的方法,其中,所述第一网关根据所述第一中继节点的地址,将所述访问请求发送到所述第一中继节点的第一中继网关之后,所述方法还包括:
所述第一中继网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方;
所述第一中继网关以所述第二计算参与方为目标节点,从第二路由表中查找到下一跳的第二中继节点的地址;
所述第一中继网关根据所述第二中继节点的地址,将所述访问请求发送到所述第二中继节点的第二中继网关,以使所述第二中继网关将所述访问请求转发给所述第二计算参与方的第二网关,由所述第二网关将所述访问请求转发给所述第二应用。
7.如权利要求1所述的方法,其中,所述第一网关根据所述第一中继节点的地址,将所述访问请求发送到所述第一中继节点的第一中继网关之后,所述方法还包括:
所述第一中继网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方;
所述第一中继网关以所述第二计算参与方为目标节点,从第二路由表中查找到所述第二计算参与方的地址;
所述第一中继网关根据所述第二计算参与方的地址,将所述访问请求发送到所述第二计算参与方的第二网关,由所述第二网关将所述访问请求转发给所述第二应用。
8.如权利要求1所述的方法,其中,所述第一网关根据所述第一中继节点的地址,将所述访问请求发送到所述第一中继节点的第一中继网关,包括:
所述第一网关利用与所述第二计算参与方共享的对称密钥,对所述访问请求进行加密;
根据所述第一中继节点的地址,将加密后的所述访问请求发送到所述第一中继节点的第一中继网关,以使所述第一中继网关将加密后的所述访问请求转发给所述第二计算参与方的第二网关,由所述第二网关利用与所述第一计算参与方共享的所述对称密钥对加密后的所述访问请求进行解密,得到所述访问请求,将所述访问请求转发给所述第二应用。
9.如权利要求8所述的方法,其中,所述第一计算参与方具有多个网关构成的第一网关集群,所述第二计算参与方具有多个网关构成的第二网关集群;所述对称密钥采用如下方式生成:
所述第一计算参与方对应的第三网关生成第一密钥,使用所述第二计算参与方的第二公钥对所述第一密钥加密,得到第一加密密钥,将所述第一加密密钥发往所述第二计算参与方对应的第四网关;
所述第四网关使用所述第二公钥对应的第二私钥对所述第一加密密钥解密,得到所述第一密钥;
所述第四网关生成第二密钥,使用所述第一计算参与方的第一公钥对所述第二密钥加密,得到第二加密密钥,将所述第二加密密钥发往所述第三网关;
所述第三网关使用所述第一公钥对应的第一私钥对所述第二加密密钥解密,得到所述第二密钥;
所述第三网关和所述第四网关分别根据所述第一密钥和所述第二密钥,按照预设算法生成所述对称密钥。
10.如权利要求9所述的方法,其中,所述第三网关生成第一密钥之前,所述方法还包括:
中心平台将所述第一公钥下发至所述第四网关,将所述第二公钥下发至所述第三网关。
11.如权利要求10所述的方法,其中,所述中心平台将所述第一公钥下发至所述第四网关,将所述第二公钥下发至所述第三网关之前,所述方法还包括:
所述中心平台从所述第一网关集群中选择出第三网关,从所述第二网关集群中选择出第四网关。
12.如权利要求10所述的方法,其中,所述按照预设算法生成所述对称密钥之后,所述方法还包括:
所述第三网关将所述对称密钥使用所述第一公钥加密后,得到第一加密对称密钥,将所述第一加密对称密钥上传至所述中心平台;
所述第四网关将所述对称密钥使用所述第二公钥加密后,得到第二加密对称密钥,将所述第二加密对称密钥上传至所述中心平台;
所述中心平台将所述第一加密对称密钥下发至所述第一网关集群,将所述第二加密对称密钥下发至所述第二网关集群;
所述第一网关集群中的各网关利用所述第一私钥对所述第一加密对称密钥解密,得到所述对称密钥;
所述第二网关集群中的各网关利用所述第二私钥对所述第二加密对称密钥解密,得到所述对称密钥。
13.一种多方安全计算中的路由***,所述***包括:
第一计算参与方,用于通过所述第一计算参与方的第一网关从所述第一计算参与方的第一应用接收访问请求,所述访问请求中携带待访问的第二应用的域名;通过所述第一网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方;通过所述第一网关以所述第二计算参与方为目标节点,从第一路由表中查找到下一跳的第一中继节点的地址;通过所述第一网关根据所述第一中继节点的地址,将所述访问请求发送到所述第一中继节点的第一中继网关;
所述第一中继节点,用于通过所述第一中继网关将所述访问请求转发给所述第二计算参与方的第二网关;
所述第二计算参与方,用于通过所述第二网关将所述访问请求转发给所述第二应用,所述第一应用和所述第二应用用于执行多方安全计算。
14.如权利要求13所述的***,其中,所述第一计算参与方,还用于在通过所述第一网关从所述第一计算参与方的第一应用接收访问请求之前,通过所述第一应用向所述第一计算参与方的第一域名解析器发送域名解析请求,所述域名解析请求中携带所述第二应用的域名;通过所述第一域名解析器根据所述第二应用的域名,判断所述第二应用是否属于所述第一计算参与方;当所述第一域名解析器判断出所述第二应用不属于所述第一计算参与方时,解析出所述第一网关的网关网络协议IP地址,并向所述第一应用返回该网关IP地址;所述第一应用根据该网关IP地址,向所述第一网关发送所述访问请求。
15.如权利要求14所述的***,其中,每个应用的域名包括:应用标识和该应用所在计算参与方的域标识;
所述第一计算参与方,具体用于通过所述第一域名解析器根据所述第二应用的域名中包括的域标识是否为第一计算参与方的域标识,判断所述第二应用是否属于所述第一计算参与方。
16.如权利要求13所述的***,其中,每个应用的域名包括:应用标识和该应用所在计算参与方的域标识;
所述第一计算参与方,具体用于通过所述第一网关根据所述第二应用的域名中包括的域标识为第二计算参与方的域标识,确定所述第二应用属于所述第二计算参与方。
17.如权利要求13所述的***,其中,所述第一计算参与方,具体用于通过所述第一网关以所述第二计算参与方为目标节点,从第一路由表中查找到与该目标节点对应的下一跳的第一中继节点;所述第一网关以所述第一中继节点为目标节点,从所述第一路由表中查找到所述第一中继节点的地址。
18.如权利要求13所述的***,其中,所述第一中继节点,具体用于通过所述第一中继网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方;所述第一中继网关以所述第二计算参与方为目标节点,从第二路由表中查找到下一跳的第二中继节点的地址;所述第一中继网关根据所述第二中继节点的地址,将所述访问请求发送到所述第二中继节点的第二中继网关,以使所述第二中继网关将所述访问请求转发给所述第二计算参与方的第二网关,由所述第二网关将所述访问请求转发给所述第二应用。
19.如权利要求13所述的***,其中,所述第一中继节点,具体用于通过所述第一中继网关根据所述第二应用的域名,确定所述第二应用属于第二计算参与方;所述第一中继网关以所述第二计算参与方为目标节点,从第二路由表中查找到所述第二计算参与方的地址;所述第一中继网关根据所述第二计算参与方的地址,将所述访问请求发送到所述第二计算参与方的第二网关,由所述第二网关将所述访问请求转发给所述第二应用。
20.如权利要求13所述的***,其中,所述第一计算参与方,具体用于通过所述第一网关利用与所述第二计算参与方共享的对称密钥,对所述访问请求进行加密;根据所述第一中继节点的地址,将加密后的所述访问请求发送到所述第一中继节点的第一中继网关,以使所述第一中继网关将加密后的所述访问请求转发给所述第二计算参与方的第二网关,由所述第二网关利用与所述第一计算参与方共享的所述对称密钥对加密后的所述访问请求进行解密,得到所述访问请求,将所述访问请求转发给所述第二应用。
21.如权利要求20所述的***,其中,所述第一计算参与方具有多个网关构成的第一网关集群,所述第二计算参与方具有多个网关构成的第二网关集群;所述对称密钥采用如下方式生成:
所述第一计算参与方对应的第三网关生成第一密钥,使用所述第二计算参与方的第二公钥对所述第一密钥加密,得到第一加密密钥,将所述第一加密密钥发往所述第二计算参与方对应的第四网关;
所述第四网关使用所述第二公钥对应的第二私钥对所述第一加密密钥解密,得到所述第一密钥;
所述第四网关生成第二密钥,使用所述第一计算参与方的第一公钥对所述第二密钥加密,得到第二加密密钥,将所述第二加密密钥发往所述第三网关;
所述第三网关使用所述第一公钥对应的第一私钥对所述第二加密密钥解密,得到所述第二密钥;
所述第三网关和所述第四网关分别根据所述第一密钥和所述第二密钥,按照预设算法生成所述对称密钥。
22.如权利要求21所述的***,其中,所述***还包括:
中心平台,用于在所述第三网关生成第一密钥之前,将所述第一公钥下发至所述第四网关,将所述第二公钥下发至所述第三网关。
23.如权利要求22所述的***,其中,所述中心平台,还用于在将所述第一公钥下发至所述第四网关,将所述第二公钥下发至所述第三网关之前,从所述第一网关集群中选择出第三网关,从所述第二网关集群中选择出第四网关。
24.一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-12中任一项的所述的方法。
25.一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现权利要求1-12中任一项的所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110844584.0A CN113472668B (zh) | 2021-07-26 | 2021-07-26 | 多方安全计算中的路由方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110844584.0A CN113472668B (zh) | 2021-07-26 | 2021-07-26 | 多方安全计算中的路由方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113472668A true CN113472668A (zh) | 2021-10-01 |
CN113472668B CN113472668B (zh) | 2023-06-20 |
Family
ID=77882460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110844584.0A Active CN113472668B (zh) | 2021-07-26 | 2021-07-26 | 多方安全计算中的路由方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113472668B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114553567A (zh) * | 2022-02-25 | 2022-05-27 | 蚂蚁区块链科技(上海)有限公司 | 多方安全计算中的网络传输方法和*** |
CN114827031A (zh) * | 2022-04-21 | 2022-07-29 | 中国电子科技集团公司第三十研究所 | 一种基于安全多方计算的路由表安全查询方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2323221A1 (en) * | 2000-08-18 | 2002-02-18 | Etunnels Inc. | Method and apparatus for data communication between a plurality of parties |
US20060242227A1 (en) * | 2005-04-22 | 2006-10-26 | Microsoft Corporation | Apparatus and Method for Community Relay Node Discovery |
US20090241167A1 (en) * | 2008-03-21 | 2009-09-24 | Howard Moore | Method and system for network identification via dns |
CN110268677A (zh) * | 2018-11-16 | 2019-09-20 | 阿里巴巴集团控股有限公司 | 在区块链***中使用域名方案进行跨链交互 |
CN110519402A (zh) * | 2019-07-25 | 2019-11-29 | 烽火通信科技股份有限公司 | 实体家庭网关接入虚拟家庭网关方法、设备及*** |
CN113037891A (zh) * | 2021-03-26 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 边缘计算***中有状态应用的访问方法、装置及电子设备 |
-
2021
- 2021-07-26 CN CN202110844584.0A patent/CN113472668B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2323221A1 (en) * | 2000-08-18 | 2002-02-18 | Etunnels Inc. | Method and apparatus for data communication between a plurality of parties |
US20060242227A1 (en) * | 2005-04-22 | 2006-10-26 | Microsoft Corporation | Apparatus and Method for Community Relay Node Discovery |
US20090241167A1 (en) * | 2008-03-21 | 2009-09-24 | Howard Moore | Method and system for network identification via dns |
CN110268677A (zh) * | 2018-11-16 | 2019-09-20 | 阿里巴巴集团控股有限公司 | 在区块链***中使用域名方案进行跨链交互 |
CN110519402A (zh) * | 2019-07-25 | 2019-11-29 | 烽火通信科技股份有限公司 | 实体家庭网关接入虚拟家庭网关方法、设备及*** |
CN113037891A (zh) * | 2021-03-26 | 2021-06-25 | 腾讯科技(深圳)有限公司 | 边缘计算***中有状态应用的访问方法、装置及电子设备 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114553567A (zh) * | 2022-02-25 | 2022-05-27 | 蚂蚁区块链科技(上海)有限公司 | 多方安全计算中的网络传输方法和*** |
CN114553567B (zh) * | 2022-02-25 | 2024-02-06 | 蚂蚁区块链科技(上海)有限公司 | 多方安全计算中的网络传输方法、***、存储介质及计算设备 |
CN114827031A (zh) * | 2022-04-21 | 2022-07-29 | 中国电子科技集团公司第三十研究所 | 一种基于安全多方计算的路由表安全查询方法 |
CN114827031B (zh) * | 2022-04-21 | 2023-05-09 | 中国电子科技集团公司第三十研究所 | 一种基于安全多方计算的路由表安全查询方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113472668B (zh) | 2023-06-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108123800B (zh) | 密钥管理方法、装置、计算机设备及存储介质 | |
CN107018134B (zh) | 一种配电终端安全接入平台及其实现方法 | |
US6557037B1 (en) | System and method for easing communications between devices connected respectively to public networks such as the internet and to private networks by facilitating resolution of human-readable addresses | |
JP3263878B2 (ja) | 暗号通信システム | |
CN113472668B (zh) | 多方安全计算中的路由方法和*** | |
US11784813B2 (en) | Crypto tunnelling between two-way trusted network devices in a secure peer-to-peer data network | |
CN114051031B (zh) | 基于分布式身份的加密通讯方法、***、设备及存储介质 | |
Naghizadeh et al. | Structural‐based tunneling: preserving mutual anonymity for circular P2P networks | |
CN114944935A (zh) | 一种多方融合计算***、多方融合计算方法和可读存储介质 | |
US20230209345A1 (en) | Device-specific selection between peer-to-peer connections and core-based hybrid peer-to-peer connections in a secure data network | |
US20030007645A1 (en) | Method and system for allowing a sender to send an encrypted message to a recipient from any data terminal | |
US11582201B1 (en) | Establishing and maintaining trusted relationship between secure network devices in secure peer-to-peer data network based on obtaining secure device identity containers | |
US10158610B2 (en) | Secure application communication system | |
US20220399995A1 (en) | Identity management system establishing two-way trusted relationships in a secure peer-to-peer data network | |
Liao | Design of the secure smart home system based on the blockchain and cloud service | |
US20240056428A1 (en) | Crypto-signed switching between two-way trusted network devices in a secure peer-to-peer data network | |
Kfoury et al. | Securing natted iot devices using ethereum blockchain and distributed turn servers | |
Nia et al. | A Novel Anonymous Cloud Architecture Design; Providing Secure Online Services and Electronic Payments | |
WO2023116027A1 (zh) | 安全多方计算中的跨域身份验证方法及服务器 | |
Chetioui et al. | New Protocol E-DNSSEC to Enhance DNSSEC Security. | |
CN114186213B (zh) | 基于联邦学习的数据传输方法及装置、设备和介质 | |
CN101471938B (zh) | 一种点对点p2p网络中的认证方法、***和装置 | |
US20230164121A1 (en) | Autonomic distribution of hyperlinked hypercontent in a secure peer-to-peer data network | |
US20220400011A1 (en) | Anti-replay protection based on hashing encrypted temporal key in a secure peer-to-peer data network | |
Banoun et al. | IoT-BDMS: securing IoT devices with hyperledger fabric blockchain |
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 |