多方安全计算中的数据交互方法和装置与流程

专利2022-05-10  104



1.本说明书一个或多个实施例涉及网络通信技术,尤其涉及多方安全计算中的数据交互方法和装置。


背景技术:

2.多方安全计算平台是为了解决不同企业数据合作过程中数据隐私保护问题而开发设计的。多方安全计算平台底层会使用如秘密分享、同态加密、乱码电路等来实现多方数据预测。多方安全计算平台使用的安全计算协议需要多个参与方,在计算过程中各参与方需要进行大量的数据交互才能完成运算。
3.目前,通常使用tcp协议即通过建立的tcp连接,来完成多方安全计算中的数据交互,在很多业务场景中无法满足多方安全计算的业务要求。


技术实现要素:

4.本说明书一个或多个实施例描述了多方安全计算中的数据交互方法和装置,能够更好地满足多方安全计算的业务要求。
5.根据第一方面,提供了一种多方安全计算中的数据交互方法,包括:
6.多方安全计算中的第一计算设备向多方安全计算中的第二计算设备发送第一http连接建立请求;该第一http连接建立请求中包括分块传输编码指示;
7.所述第一计算设备与所述第二计算设备建立基于分块传输编码的第一http连接;
8.在针对目标函数进行计算时,所述第一计算设备通过所述第一http连接,并利用分块传输编码将第一数据发送给所述第二计算设备;
9.所述第一计算设备接收所述第二计算设备发来的第二数据;
10.在完成所述目标函数的计算后,所述第一计算设备断开所述基于分块传输编码的第一http连接。
11.其中,所述第一http连接为:在上下行方向上均基于分块传输编码的双向连接;
12.进一步包括:所述第一计算设备在接收到所述第二计算设备返回的包括分块传输编码指示的http连接建立响应之后,执行所述与所述第二计算设备建立基于分块传输编码的第一http连接的步骤;
13.所述第一计算设备接收所述第二计算设备发来的第二数据,包括:所述第一计算设备通过所述第一http连接,接收所述第二计算设备利用分块传输编码发来的第二数据。
14.所述第一计算设备和第二计算设备中均设置有第一反向代理程序,该第一反向代理程序被设置为支持上下行方向的分块传输编码;第一计算设备中的第一反向代理程序在第一http连接的上行方向上,利用分块传输编码向第二计算设备发送所述第一数据;第二计算设备中的第一反向代理程序在第一http连接的下行方向上,利用分块传输编码向第一计算设备发送所述第二数据。
15.所述第一http连接为:在上行方向上基于分块传输编码的单向连接;
16.该方法进一步包括:所述第一计算设备接收到所述第二计算设备发来的包括分块传输编码指示的第二http连接建立请求;所述第一计算设备与所述第二计算设备建立在上行方向上基于分块传输编码的第二http连接;
17.所述第一计算设备接收所述第二计算设备发来的数据,包括:所述第一计算设备通过所述第二http连接,接收所述第二计算设备利用分块传输编码发来的第二数据。
18.所述第一计算设备和第二计算设备中均设置有第二反向代理程序,该第二反向代理程序被设置为仅支持上行方向的分块传输编码;第一计算设备中的第二反向代理程序在第一http连接的上行方向上,利用分块传输编码向第二计算设备发送所述第一数据;第二计算设备中的第二反向代理程序在第二http连接的上行方向上,利用分块传输编码向第一计算设备发送所述第二数据。
19.所述第一数据包括:ot选择位;所述第二数据包括:对ot选择位的选择结果。
20.所述第一http连接为:在下行方向上基于分块传输编码的单向连接;
21.所述第一计算设备接收到所述第二计算设备发来的不包括分块传输编码指示的第三http连接建立请求之后,执行所述向所述第二计算设备发送第一http连接建立请求的步骤;
22.进一步包括:所述第一计算设备向所述第二计算设备发送不包括分块传输编码指示的第四http连接建立请求;所述第一计算设备接收第二计算设备发来的包括分块传输编码指示的第五http连接建立请求;该第五http连接建立请求是由第二计算设备在接收到所述第四http连接建立请求之后发出的;第一计算设备与所述第二计算设备建立在下行方向上基于分块传输编码的第三http连接;
23.所述第一计算设备接收所述第二计算设备发来的第二数据,包括:所述第一计算设备通过所述第三http连接,接收所述第二计算设备利用分块传输编码发来的第二数据;
24.所述第一计算设备和第二计算设备中均设置有第三反向代理程序,该第三反向代理程序被设置为仅支持下行方向的分块传输编码;第一计算设备中的第三反向代理程序在第一http连接的下行方向上,利用分块传输编码向第二计算设备发送所述第一数据;第二计算设备中的第三反向代理程序在第三http连接的下行方向上,利用分块传输编码向第一计算设备发送所述第二数据。
25.所述第一数据包括:对ot选择位的选择结果;所述第二数据包括:ot选择位。
26.根据第二方面,提供了一种数据交互装置,设置于多方安全计算中的第一计算设备中,该装置包括:
27.请求发送模块,配置为向多方安全计算中的第二计算设备发送第一http连接建立请求;该第一http连接建立请求中包括分块传输编码指示;
28.连接建立模块,配置为与所述第二计算设备建立基于分块传输编码的第一http连接;
29.安全执行协议模块,配置为在针对目标函数进行计算时,通过所述第一http连接,并利用分块传输编码将第一数据发送给所述第二计算设备;接收所述第二计算设备发来的第二数据;
30.连接断开模块,在完成了所述目标函数的计算后,断开所述基于分块传输编码的第一http连接。
31.其中,所述第一http连接为:在上下行方向上均基于分块传输编码的双向连接;
32.相应地,所述连接建立模块,配置为在接收到所述第二计算设备返回的包括分块传输编码指示的http连接建立响应后,执行所述与所述第二计算设备建立基于分块传输编码的第一http连接;
33.相应地,所述安全执行协议模块,配置为通过所述第一http连接,接收所述第二计算设备利用分块传输编码发来的第二数据;
34.或者,
35.所述第一http连接为:在上行方向上基于分块传输编码的单向连接;
36.相应地,所述连接建立模块,进一步配置为在接收到第二计算设备发来的包括分块传输编码指示的第二http连接建立请求之后,与所述第二计算设备建立在上行方向上基于分块传输编码的第二http连接;
37.相应地,所述安全执行协议模块,配置为通过所述第二http连接,接收所述第二计算设备利用分块传输编码发来的第二数据;
38.或者,
39.所述第一http连接为:在下行方向上基于分块传输编码的单向连接;
40.相应地,所述请求发送模块,配置为在接收到所述第二计算设备发来的不包括分块传输编码指示的第三http连接建立请求之后,执行所述向第二计算设备发送第一http连接建立请求;以及,向所述第二计算设备发送不包括分块传输编码指示的第四http连接建立请求;
41.相应地,所述连接建立模块,进一步配置为在接收到第二计算设备发来的包括分块传输编码指示的第五http连接建立请求之后,与所述第二计算设备建立在下行方向上基于分块传输编码的第三http连接;
42.相应地,所述安全执行协议模块,配置为通过所述第三http连接,接收所述第二计算设备利用分块传输编码发来的第二数据。
43.根据第三方面,提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现本说明书任一实施例所述的方法。
44.本说明书实施例提供的多方安全计算中的数据交互方法和装置,因为进行多方安全计算中的任意两方建立的是http连接,因此,能够利用http协议的诸多优点,比如因为http协议属于应用层协议,可复用现有的网络策略,对目前比较成熟的应用防火墙兼容性好,更加适用于针对银行等安全性要求比较高的应用场合。同时,因为采用了http协议中的分块传输编码(chunked transfer encoding)机制来进行数据的传输,因此,即使数据需要交互多次,即该两方计算设备需要进行大量的网络交互,也可以利用分块传输编码机制所维持的一个http的持久连接来实现,无需每次交互建立一个新的连接。
附图说明
45.为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本说明书的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
46.图1是本说明书一个实施例所应用的系统架构的示意图。
47.图2是本说明书一个实施例在多方安全计算中的数据交互方法的流程图。
48.图3是本说明书一个实施例中计算设备侧配置有反向代理程序的示意图。
49.图4是本说明书一个实施例基于实现方式1在多方安全计算中的数据交互方法的流程图。
50.图5是本说明书一个实施例基于实现方式2在多方安全计算中的数据交互方法的流程图。
51.图6是本说明书一个实施例基于实现方式3在多方安全计算中的数据交互方法的流程图。
52.图7是本说明书一个实施例中数据交互装置的结构示意图。
具体实施方式
53.如前所述,现有技术中通常使用tcp协议即通过建立的tcp连接,来完成多方安全计算中的数据交互。但是,tcp协议在很多业务场景中无法满足多方安全计算的业务要求,比如由于tcp协议属于传输层协议,协议不透明,与现有的应用防火墙与网络策略兼容性不好,难以应用于银行等对安全性要求比较高的应用场合。因此,需要一种新的连接方式来实现多方安全计算中的数据交互,以便更好地满足业务要求。
54.为了方便对本说明书的理解,首先对本说明书所应用的系统架构进行描述。如图1中所示,该系统架构主要包括需要进行多方安全计算的至少两个计算设备。其中,各个计算设备通过网络交互。其中,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等。
55.图2示出了本说明书一个实施例在多方安全计算中的数据交互方法的流程图。该方法的执行主体为多方安全计算中的一个计算设备,为便于描述记为第一计算设备。可以理解,该方法也可以通过任何具有计算、处理能力的装置、设备、平台、设备集群来执行。参见图2,该方法包括:
56.步骤201:第一计算设备向多方安全计算中的第二计算设备发送第一http连接建立请求;该第一http连接建立请求中包括分块传输编码指示。
57.步骤203:第一计算设备与第二计算设备建立基于分块传输编码的第一http连接。
58.步骤205:在针对目标函数进行计算时,第一计算设备通过第一http连接,并利用分块传输编码将第一数据发送给第二计算设备。
59.步骤207:第一计算设备接收第二计算设备发来的第二数据。
60.步骤209:在完成了目标函数的计算后,第一计算设备断开第一http连接。
61.通过上述图2所示的流程可以看出,因为进行多方安全计算中的任意两方建立的是http连接,因此,能够利用http协议的诸多优点,比如因为http协议属于应用层协议,能够复用现有的网络策略,对目前比较成熟的应用防火墙兼容性好,因此更加适用于针对银行等安全性要求比较高的应用场合。
62.在上述图2所示流程中,因为采用了http协议中的分块传输编码(chunked transfer encoding)机制来进行数据的传输,因此,即使两方的计算设备需要多次交互数据,即该两方计算设备需要进行大量的网络交互,也可以利用分块传输编码机制所维持的
一个http的持久连接来实现,无需每次交互建立一个新的连接,而如果每次交互都建立一个新的连接,对于多方安全计算的效率来说,是难以接受的。
63.可见,图2所示的方法既利用了http协议属于应用层协议的优点,又满足了多方安全计算中对于持久连接的要求。
64.上述图2所示的流程可以应用于如下三种实现方式:
65.实现方式1:在多方安全计算的两个计算设备中建立一条基于分块传输编码的http连接,即上述的第一http连接。该第一http连接是在上下行方向上均基于分块传输编码的双向连接。
66.实现方式2:在多方安全计算的两个计算设备中建立两条基于分块传输编码的http连接,包括上述的第一http连接以及第二http连接。该两条http连接均是在上行方向上基于分块传输编码的单向连接。
67.实现方式3:在多方安全计算的两个计算设备中建立两条基于分块传输编码的http连接,包括上述的第一http连接以及第三http连接。该两条http连接均是在下行方向上基于分块传输编码的单向连接。
68.首先对于实现方式1:
69.多方安全计算中,进行交互的两个计算设备都需要多次向对方发送数据。比如,当多方安全计算采用gmw协议作为安全执行协议时,由于gmw分为多层,每一层都会产生不经意传输(ot)数据的交互,因此,需要进行大量的数据交互。这样,就需要在上下行两个方向上都能够利用分块传输编码机制来进行数据的传输。
70.在一些应用环境中,可以允许在上下行两个方向上都利用http协议中的分块传输编码。比如,参见图3所示,业务应用方可以根据自身需求,在需要进行多方安全计算的两个计算设备侧都设置反向代理程序,比如可以是f5反向代理程序,通过反向代理程序执行防火墙策略、限流、进行负载均衡等。而如果该反向代理程序被设置为支持上下行方向的分块传输编码。当在此种应用环境中时,则可以利用上述的实现方式1。
71.在该实现方式1中,针对上述图2所示流程,在执行完步骤201之后,如果第一计算设备接收到第二计算设备返回的包括分块传输编码指示的http连接建立响应,则确定双方可以建立基于分块传输编码的双向连接,才会执行步骤203中的与第二计算设备建立第一http连接。那么,相应地,在步骤207中,第一计算设备是通过第一http连接,接收第二计算设备利用分块传输编码发来的第二数据。
72.图4是本说明书一个实施例中基于实现方式1的多方安全计算中的数据交互方法流程图。参见图4,以利用gmw协议作为多方安全计算中的安全执行协议为例,在多方安全计算中,第一计算设备发起计算,目标函数是f(x),需要第一计算设备和第二计算设备两方的数据,交互的数据为ot选择位以及对该ot选择位的选择结果。在实现方式1下,图2所示流程可以通过图4所示的各个步骤来实现,具体包括:
73.步骤401:第一计算设备向第二计算设备发送第一http连接建立请求;该第一http连接建立请求中包括分块传输编码指示。
74.这里,第一http连接建立请求中包括分块传输编码指示,就是为了通知第二计算设备,从第一计算设备到第二计算设备的上行方向上,希望通过分块传输编码机制发送数据。
75.具体地,第一http连接建立请求中可以包括如下信息:“transfer

encoding:chunked”。该第一http连接建立请求可以只发送http头信息,而无需发送http的“body”信息。
76.步骤403:第二计算设备接收到第一http连接建立请求之后,向第一计算设备返回包括分块传输编码指示的http连接建立响应。
77.这里,http连接建立响应中包括分块传输编码指示,就是为了通知第一计算设备,从第二计算设备到第一计算设备的下行方向上,希望通过分块传输编码机制发送数据。
78.具体地,http连接建立响应中可以包括如下信息:“transfer

encoding:chunked”。该http连接建立响应也可以只发送http头信息,而无需发送http的“body”信息。
79.步骤405:第一计算设备在接收到第二计算设备返回的包括分块传输编码指示的http连接建立响应之后,与第二计算设备建立完成基于分块传输编码的第一http连接。
80.至此,第一计算设备与第二计算设备之间的握手完成,第一http连接是在上下行方向上均基于分块传输编码的连接。
81.步骤407:在gwm协议执行过程中需要进行目标函数f(x)的计算时,第一计算设备通过第一http连接,并利用分块传输编码将ot选择位发送给第二计算设备。
82.这里,第一计算设备将ot选择位分解成一系列数据块,并以多个块发送给第二计算设备,第一计算设备发送ot选择位时不需要预先告诉第二计算设备发送内容的总大小,只需在响应头里面添加如下信息:transfer

encoding:chunked。
83.这里,如果第一计算设备中设置有反向代理程序,该反向代理程序会被设置为支持上下行方向的分块传输编码。第一计算设备需要发送的ot选择位首先会被传输到第一计算设备侧的反向代理程序,该反向代理程序在第一http连接的上行方向上,利用分块传输编码向第二计算设备侧的反向代理程序发送ot选择位。第二计算设备侧的反向代理程序接收到ot选择位之后,会进行业务应用方设置的各种处理,比如对接收到的ot选择位执行防火墙策略,在确定接收到的ot选择位没有风险时,再将该ot选择位发送给第二计算设备。再如当第二计算设备侧实际包括多个第二计算设备时,第二计算设备侧的反向代理程序根据负载均衡原则,将ot选择位发送给当前负载较小的一个第二计算设备。
84.本步骤407中,被编码的ot选择位的格式可以为"数据长度\r\n数据内容\r\n"。
85.步骤409:第二计算设备根据接收到的ot选择位进行选择。
86.这里,第二计算设备可以通过执行3次上述选择操作实现1of 4的ot选择操作。
87.步骤411:第二计算设备通过第一http连接,利用分块传输编码将ot选择结果发送给第一计算设备。
88.这里,如果第二计算设备侧设置有反向代理程序,该反向代理程序会被设置为支持上下行方向的分块传输编码。第二计算设备需要发送的ot选择结果首先会被传输到第二计算设备侧的反向代理程序,该反向代理程序在第一http连接的下行方向上,利用分块传输编码向第一计算设备侧的反向代理程序发送ot选择结果。第一计算设备侧的反向代理程序接收到ot选择结果之后,会进行业务应用方设置的各种处理,比如对接收到的ot选择结果执行防火墙策略,在确定接收到的ot选择结果没有风险时,再将该ot选择结果发送给第一计算设备。
89.步骤413:第一计算设备通过第一http连接,接收到第二计算设备利用分块传输编
码发来的ot选择结果。
90.上述步骤407至步骤413的过程在一次gwm协议的执行中,会重复执行多次,甚至上千次,执行的次数跟gwm协议的次数相关。而在重复执行多次步骤407至步骤413的过程中,所建立的http连接始终保持连接,无需每次交互都重新建立连接。
91.步骤415:在完成目标函数的计算后,第一计算设备与第二计算设备断开基于分块传输编码的第一http连接。
92.至此,则完成了利用上述实现方式1进行多方安全计算中的数据交互的过程。
93.接下来,对于实现方式2:在多方安全计算的两个计算设备中建立两条基于分块传输编码的http连接,包括上述的第一http连接以及第二http连接。该两条http连接均是在上行方向上基于分块传输编码的单向连接。
94.在一些应用环境中,可能会只允许在上行一个方向上利用http协议中的分块传输编码。比如,参见图3所示,需要进行多方安全计算的两个计算设备中都设置有反向代理程序,而该反向代理程序被设置为仅支持上行方向的分块传输编码。当在此种应用环境中时,则可以利用上述的实现方式2。
95.在该实现方式2中,针对上述图2所示流程,第一http连接是:在第一计算设备发起连接时,从第一计算设备至第二计算设备这个上行方向上基于分块传输编码的连接。因此,为了能够双向利用分块传输编码,则需要由第二计算设备发起另一个连接,从而建立从第二计算设备至第一计算设备这个上行方向上基于分块传输编码的连接。此时,在上述图2中可以进一步包括:第一计算设备接收到第二计算设备发来的包括分块传输编码指示的第二http连接建立请求;第一计算设备与所述第二计算设备建立在上行方向上基于分块传输编码的第二http连接;相应地,步骤207中,第一计算设备通过第二http连接,接收第二计算设备利用分块传输编码发来的第二数据。
96.图5是本说明书一个实施例中基于实现方式2的多方安全计算中的数据交互方法流程图。参见图5,以利用gmw协议作为多方安全计算中的安全执行协议为例,在多方安全计算中,第一计算设备发起计算,目标函数是f(x),需要第一计算设备和第二计算设备两方的数据,交互的数据为ot选择位以及对该ot选择位的选择结果。在实现方式2下,图2所示流程可以通过图5所示的各个步骤来实现,具体包括:
97.步骤501的相关描述与步骤401的相关描述相同。
98.步骤503:第二计算设备接收到第一http连接建立请求后,与第一计算设备建立基于分块传输编码的第一http连接。
99.这里,第一http连接是在第一计算设备发起的连接中,在上行方向上的基于分块传输编码的连接。
100.步骤505:第二计算设备向第一计算设备发送第二http连接建立请求;该第二http连接建立请求中包括分块传输编码指示。
101.这里,第二http连接建立请求中包括分块传输编码指示,就是为了通知第一计算设备需要再建立一条新的基于分块传输编码的连接,以便在该新的连接中从第二计算设备到第一计算设备的上行方向上,通过分块传输编码机制发送数据。
102.具体地,第二http连接建立请求中可以包括如下信息:“transfer

encoding:chunked”。该第二http连接建立请求可以只发送http头信息,而无需发送http的“body”信
息。
103.步骤507:第一计算设备接收到第二http连接建立请求后,与第二计算设备建立基于分块传输编码的第二http连接。
104.至此,第一计算设备与第二计算设备之间包括两条在上行方向上基于分块传输编码的http连接。
105.步骤509至步骤511的相关描述与步骤407至步骤409的相关描述相同。
106.步骤513:第二计算设备通过第二http连接,利用分块传输编码将ot选择结果发送给第一计算设备。
107.这里,如果第二计算设备中设置有反向代理程序,该反向代理程序会被设置为支持上行方向的分块传输编码。第二计算设备需要发送的ot选择结果首先会被传输到第二计算设备侧的反向代理程序,该反向代理程序在第二http连接的上行方向上,利用分块传输编码向第一计算设备侧的反向代理程序发送ot选择结果。第一计算设备侧的反向代理程序接收到ot选择结果之后,会进行业务应用方设置的各种处理,比如对接收到的ot选择结果执行防火墙策略,在确定接收到的ot选择结果没有风险时,再将该ot选择位发送给第一计算设备。步骤515:在完成目标函数的计算后,第一计算设备与第二计算设备断开基于分块传输编码的第一http连接及第二http连接。
108.需要说明的是,在第一http连接中,可以只出现从第一计算设备至第二计算设备的基于分块传输编码的数据传输,第二计算设备不会通过第一http连接发送数据。在第二http连接中,可以只出现从第二计算设备至第一计算设备的基于分块传输编码的数据传输,第一计算设备不会通过第二http连接发送数据。
109.至此,则完成了利用上述实现方式2进行多方安全计算中的数据交互的过程。
110.接下来,对于实现方式3:在多方安全计算的两个计算设备中建立两条基于分块传输编码的http连接,包括上述的第一http连接以及第三http连接。该两条http连接均是在下行方向上基于分块传输编码的单向连接。
111.在一些应用环境中,可能会只允许在下行一个方向上利用http协议中的分块传输编码。比如,参见图3所示,需要进行多方安全计算的两个计算设备中都设置有反向代理程序,而该反向代理程序被设置为仅支持下行方向的分块传输编码。当在此种应用环境中时,则可以利用上述的实现方式3。
112.在该实现方式3中,针对上述图2所示流程,第一http连接是:在第二计算设备发起连接时,从第一计算设备至第二计算设备这个下行方向上基于分块传输编码的连接。因此,为了能够双向利用分块传输编码,则需要由第一计算设备发起另一个连接,从而建立从第二计算设备至第一计算设备这个下行方向上基于分块传输编码的连接。此种情况下,在上述图2中,第一计算设备接收到第二计算设备发来的不包括分块传输编码指示的第三http连接建立请求之后,才会执行步骤201中向第二计算设备发送第一http连接建立请求的步骤;并且,图2中还要进一步包括:第一计算设备向第二计算设备发送不包括分块传输编码指示的第四http连接建立请求;第一计算设备接收第二计算设备发来的包括分块传输编码指示的第五http连接建立请求;该第五http连接建立请求是由第二计算设备在接收到第四http连接建立请求之后发出的;第一计算设备与所述第二计算设备建立在下行方向上基于分块传输编码的第三http连接;相应地,步骤207中,第一计算设备通过第三http连接,接收
第二计算设备利用分块传输编码发来的第二数据。
113.图6是本说明书一个实施例中基于实现方式3的多方安全计算中的数据交互方法流程图。参见图6,以利用gmw协议作为多方安全计算中的安全执行协议为例,在多方安全计算中,第二计算设备发起计算,目标函数是f(x),需要第一计算设备和第二计算设备两方的数据,交互的数据为ot选择位以及对该ot选择位的选择结果。在实现方式3下,图2所示流程可以通过图6所示的各个步骤来实现,具体包括:
114.步骤601:第二计算设备向第一计算设备发送不包括分块传输编码指示的第三http连接建立请求。
115.这里,因为在上行方向上不支持分块传输编码,因此,第二计算设备作为发起方在发起连接时,第三http连接建立请求中不包括分块传输编码指示。
116.步骤603:第一计算设备接收到第三http连接建立请求之后,确定需要与第二计算设备建立连接,因此,向第二计算设备发送包括分块传输编码指示的第一http连接建立请求。
117.步骤605:第二计算设备接收到第一http连接请求后,与第一计算设备建立基于分块传输编码的第一http连接。
118.这里,第一http连接是在第二计算设备发起的连接中,在下行方向上基于分块传输编码的http连接,满足了从第一计算设备至第二计算设备这个下向上分块传输编码的数据传输要求。
119.还需要通过下述步骤607至步骤611建立在第一计算设备发起的连接中,在下行方向上基于分块传输编码的http连接,以便满足从第二计算设备至第一计算设备方向上分块传输编码的数据传输要求。
120.步骤607:第一计算设备向第二计算设备发送不包括分块传输编码指示的第四http连接建立请求。
121.步骤609:第二计算设备接收到第四http连接建立请求之后,确定需要与第一计算设备建立连接,因此,向第一计算设备发送包括分块传输编码指示的第五http连接建立请求。
122.步骤611:第一计算设备接收到包括分块传输编码指示的第五http连接建立请求后,与第二计算设备建立在下行方向上基于分块传输编码的第三http连接。
123.至此,第一计算设备与第二计算设备之间包括两条在下行方向上基于分块传输编码的http连接。
124.步骤613:在gwm协议执行过程中需要进行目标函数f(x)的计算时,第二计算设备通过第三http连接,并利用分块传输编码将ot选择位发送给第一计算设备。
125.这里,如果第二计算设备侧设置有反向代理程序,该反向代理程序会被设置为支持下行方向的分块传输编码。第二计算设备需要发送的ot选择位首先会被传输到第二计算设备侧的反向代理程序,该反向代理程序在第三http连接的下行方向上,利用分块传输编码向第一计算设备侧的反向代理程序发送ot选择位。第一计算设备侧的反向代理程序接收到ot选择位之后,会进行业务应用方设置的各种处理,比如对接收到的ot选择位执行防火墙策略,在确定接收到的ot选择位没有风险时,再将该ot选择位发送给第一计算设备。再如当第一计算设备侧实际包括多个第一计算设备时,第一计算设备侧的反向代理程序根据负
载均衡原则,将ot选择位发送给当前负载较小的一个第一计算设备。
126.步骤615:第一计算设备根据接收到的ot选择位进行选择。
127.步骤617:第一计算设备通过第一http连接,利用分块传输编码将ot选择结果发送给第二计算设备。
128.这里,如果第一计算设备侧设置有反向代理程序,该反向代理程序会被设置为支持下行方向的分块传输编码。第一计算设备需要发送的ot选择结果首先会被传输到第一计算设备侧的反向代理程序,该反向代理程序在第一http连接的下行方向上,利用分块传输编码向第二计算设备侧的反向代理程序发送ot选择结果。第二计算设备侧的反向代理程序接收到ot选择结果之后,会进行业务应用方设置的各种处理,比如对接收到的ot选择结果执行防火墙策略,在确定接收到的ot选择结果没有风险时,再将该ot选择结果发送给第二计算设备。
129.步骤619:在完成目标函数的计算后,第一计算设备与第二计算设备断开基于分块传输编码的第一http连接及第三http连接。
130.需要说明的是,在第一http连接中,可以只出现从第一计算设备至第二计算设备的基于分块传输编码的数据传输,第二计算设备不会通过第一http连接发送数据。在第三http连接中,可以只出现从第二计算设备至第一计算设备的基于分块传输编码的数据传输,第一计算设备不会通过第三http连接发送数据。
131.至此,则完成了利用上述实现方式3进行多方安全计算中的数据交互的过程。
132.在本说明书一个实施例中,还提出了一种数据交互装置,设置于多方安全计算中的第一计算设备中,参见图7,该装置700包括:
133.请求发送模块701,配置为向多方安全计算中的第二计算设备发送第一http连接建立请求;该第一http连接建立请求中包括分块传输编码指示;
134.连接建立模块702,配置为与所述第二计算设备建立基于分块传输编码的第一http连接;
135.安全执行协议模块703,配置为在针对目标函数进行计算时,通过所述第一http连接,并利用分块传输编码将第一数据发送给所述第二计算设备;接收所述第二计算设备发来的第二数据;
136.连接断开模块704,在完成了所述目标函数的计算后,断开所述基于分块传输编码的第一http连接。
137.在本说明书装置的一个实施例中,第一http连接为:在上下行方向上均基于分块传输编码的双向连接;
138.相应地,所述连接建立模块702,配置为在接收到所述第二计算设备返回的包括分块传输编码指示的http连接建立响应后,执行所述与所述第二计算设备建立基于分块传输编码的第一http连接;
139.相应地,所述安全执行协议模块703,配置为通过所述第一http连接,接收所述第二计算设备利用分块传输编码发来的第二数据。
140.在本说明书装置的一个实施例中,第一http连接为:在上行方向上基于分块传输编码的单向连接;
141.相应地,所述连接建立模块702,进一步配置为在接收到第二计算设备发来的包括
分块传输编码指示的第二http连接建立请求之后,与所述第二计算设备建立在上行方向上基于分块传输编码的第二http连接;
142.相应地,所述安全执行协议模块703,配置为通过所述第二http连接,接收所述第二计算设备利用分块传输编码发来的第二数据。
143.在本说明书装置的一个实施例中,第一http连接为:在下行方向上基于分块传输编码的单向连接;
144.相应地,所述请求发送模块701,配置为在接收到所述第二计算设备发来的不包括分块传输编码指示的第三http连接建立请求之后,执行所述向第二计算设备发送第一http连接建立请求;以及,向所述第二计算设备发送不包括分块传输编码指示的第四http连接建立请求;
145.相应地,所述连接建立模块702,进一步配置为在接收到第二计算设备发来的包括分块传输编码指示的第五http连接建立请求之后,与所述第二计算设备建立在下行方向上基于分块传输编码的第三http连接;
146.相应地,所述安全执行协议模块703,配置为通过所述第三http连接,接收所述第二计算设备利用分块传输编码发来的第二数据。
147.本说明书一个实施例提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机执行说明书中任一个实施例中的方法。
148.本说明书一个实施例提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现执行说明书中任一个实施例中的方法。
149.可以理解的是,本说明书实施例示意的结构并不构成对本说明书中装置的具体限定。在说明书的另一些实施例中,该装置可以包括比图示更多或者更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件、软件或者软件和硬件的组合来实现。
150.上述装置、系统内的各模块之间的信息交互、执行过程等内容,由于与本说明书方法实施例基于同一构思,具体内容可参见本说明书方法实施例中的叙述,此处不再赘述。
151.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
152.本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、挂件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
153.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
转载请注明原文地址:https://doc.8miu.com/index.php/read-1722205.html

最新回复(0)