System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 使用多方计算和可信执行环境进行安全计算制造技术_技高网

使用多方计算和可信执行环境进行安全计算制造技术

技术编号:41435398 阅读:6 留言:0更新日期:2024-05-28 20:30
方法、系统和装置,包括在计算机存储介质上编码的计算机程序,用于使用密码学、安全MPC和TEE以保持数据隐私和保护计算过程中涉及的每一方的数据安全性的方式来执行计算。在一个方面,MPC系统集群中的第一MPC系统从计算处理系统接收输入数据的第一秘密份额。第一MPC系统向在与MPC系统集群分离的TEE中运行的应用发送至少部分地基于输入数据的第一秘密份额生成的数据项集合的第一秘密份额。应用被配置为生成应用输出数据的秘密份额。第一MPC系统与集群的一个或多个第二MPC系统协作执行一个或多个安全多方计算。

【技术实现步骤摘要】
【国外来华专利技术】

该说明书涉及密码学和数据安全。


技术介绍

1、安全多方计算(mpc)是一系列加密协议,其通过跨多方分布计算来防止对数据的访问,使得没有单独的一方能够访问另一方的数据或中间计算值,而输出仅被发布给指定方。mpc计算处理系统通常使用秘密份额或其他加密形式的数据以及各方之间的安全信息交换来执行计算。

2、可信执行环境(tee)是其中执行的代码和正在访问的数据在机密性和完整性方面得到隔离和保护的计算环境。能够使用计算机硬件和软件这两者来实现tee。例如,tee能够包括硬件隔离机制和在硬件隔离机制上执行的软件,例如操作系统。


技术实现思路

1、一般而言,本说明书中描述的主题的一个创新方面能够体现在包括以下操作的方法中:从计算处理系统并且由多方计算(mpc)系统集群的第一mpc系统接收输入数据的第一秘密份额;由第一mpc系统向在与mpc系统集群分离的可信执行环境(tee)中运行的应用发送至少部分地基于输入数据的第一秘密份额而生成的数据项集合的第一秘密份额,其中,应用被配置为生成应用输出数据的秘密份额,所述应用输出数据的秘密份额是基于使用数据项集合的明文值的一个或多个计算而生成的,数据项集合的明文值是使用(i)数据项集合的第一秘密份额和(ii)由集群的一个或多个第二mpc系统提供的数据项集合的相应第二秘密份额而生成的;由第一mpc系统与集群的一个或多个第二mpc系统协作,使用以下各项来执行一个或多个安全多方计算:(i)输入数据的第一秘密份额,(ii)由一个或多个第二mpc系统中的每一个接收到的输入数据项的相应第二秘密份额,(iii)由第一mpc系统从应用接收到的输出数据的第一秘密份额,以及(iv)由一个或多个第二mpc系统中的每一个从应用接收到的输出数据的相应第二秘密份额;以及由第一mpc系统将从一个或多个安全多方计算产生的结果数据的第一秘密份额发送到以下至少一项:(i)计算处理系统或(ii)与计算处理系统不同的一个或多个附加计算处理系统。该方面的其他实施方式包括被配置为执行在计算机存储设备上编码的方法的各方面的对应装置、系统和计算机程序。

2、这些和其他实施方式能够各自可选地包括以下特征中的一个或多个。在一些方面,计算处理系统通过将结果数据的第一秘密份额与从一个或多个第二mpc系统中的每一个接收到的结果数据的相应秘密份额进行组合来生成明文结果数据。

3、在一些方面,应用被配置为通过将数据项集合的第一秘密份额与从一个或多个第二mpc系统接收到的数据项集合的相应第二秘密份额进行组合来计算数据项集合的明文值;至少使用数据项第二集合的明文值来执行一个或多个计算;基于一个或多个计算来生成应用输出数据的秘密份额;向第一mpc系统提供应用输出数据的第一秘密份额;以及向每个第二mpc系统提供第二mpc系统的应用输出数据的相应第二秘密份额。

4、在一些方面,第一mpc系统从计算处理系统接收用于一个或多个第二mpc系统中的每一个的输入数据的相应加密的第二秘密份额,以及向每个第二mpc系统提供用于第二mpc系统的输入数据的相应加密的第二秘密份额。

5、在一些方面,第一mpc系统在从计算处理系统发送的复合请求中接收输入数据的第一秘密份额和用于一个或多个第二mpc系统中的每一个的输入数据的相应加密的第二秘密份额。

6、在一些方面,由第一mpc系统将从一个或多个安全多方计算产生的结果数据的第一秘密份额发送到计算处理系统包括发送复合消息,所述复合消息包括结果数据的第一秘密份额和从一个或多个第二mpc系统接收到的结果数据的相应加密的第二秘密份额。

7、在一些方面,由第一mpc系统将数据项集合的第一秘密份额发送到应用包括向应用发送复合消息,所述复合消息包括数据项集合的第一秘密份额和从一个或多个第二mpc系统接收到的数据项集合的相应加密的第二秘密份额。

8、在一些方面,第一mpc系统从应用接收应用输出数据的第一秘密份额和用于一个或多个第二mpc系统中的每一个的应用输出数据的相应加密的第二秘密份额,以及向每个第二mpc系统提供应用输出数据的相应加密的第二秘密份额。

9、在一些方面,在将数据项的第一集合的第一秘密份额发送到应用之前,验证在tee中运行的应用的可信度。

10、在一些方面,由应用执行一个或多个计算包括(i)一个或多个向量点积计算,(ii)一个或多个排序(sorting)操作,或(iii)(i)和(ii)的组合。

11、在一些方面,基于输入数据的第一秘密份额和由第一mpc系统存储的附加数据来生成数据项集合的第一秘密份额。

12、能够实现本说明书中描述的主题的特定实施例以便实现以下优点中的一个或多个。本文档中描述的系统和技术将安全mpc与在tee内执行的操作相组合,这能够确保机密或敏感数据受到保护,同时提高整个计算过程的性能并且减少整个计算过程的时延。安全mpc技术能够确保,只要在mpc集群中的一个计算处理系统是诚实的,计算处理系统或另一方中的任何一个都无法以明文获得敏感数据。然而,相对于使用明文值而不是在安全mpc过程中使用的秘密份额的计算技术,mpc过程能够是计算上昂贵的,尤其是对于一些操作,诸如对数据进行排序。例如,一些操作可能需要涉及在mpc系统之间发送数据的秘密份额以及使用秘密份额在每个mpc系统处执行操作的多次往返计算。mpc系统能够例如以防止在传输期间访问数据的安全方式将计算上昂贵的任务转移到可信执行环境,而不是使用安全mpc过程来执行这些计算。在tee中运行的应用能够组合秘密份额以获得明文数据,并且在tee的安全环境中使用明文值来执行计算,并且将结果的秘密份额发送回mpc系统。这提供了与单独的安全mpc过程相同的安全和隐私保证,同时提高了执行计算的速度,减少了在计算机之间发送的数据量,其减少了带宽消耗并且改进了网络性能,以及减少了执行计算所需的处理器周期的数量。换句话说,mpc系统与tee的组合提供了保持数据安全和机密性的协同效应,同时提高了计算的速度和在执行计算中所涉及的计算资源的性能。

13、将数据的秘密份额发送到mpc系统的客户端设备能够通过使用接收者的相应公钥对旨在用于至少一些接收者的相应秘密份额进行加密来将秘密份额组合成复合请求。以该方式,只有预期的接收者才能够解密他们的秘密份额,从而维持隐私保证,同时还减少了如果客户端设备向每个mpc系统传输分离的请求所需的带宽量和功率/电池消耗。类似地,mpc系统中的一个能够将带有加密秘密份额的复合消息发送到在tee中运行的应用,并且在mpc系统集群与tee之间传输数据时,应用能够将加密秘密份额发送回mpc系统中的一个以获得类似的性能优势。

14、本说明书中描述的主题的一个或多个实施例的细节在附图和下面的描述中阐述。本主题的其他特征、方面和优点将从说明书、附图和权利要求中变得显而易见。

本文档来自技高网...

【技术保护点】

1.一种计算机实现的方法,包括:

2.根据权利要求1所述的计算机实现的方法,其中,所述计算处理系统通过将所述结果数据的所述第一秘密份额与从所述一个或多个第二MPC系统中的每一个接收到的所述结果数据的相应秘密份额进行组合来生成明文结果数据。

3.根据权利要求1或2所述的计算机实现的方法,其中,所述应用被配置为:

4.根据权利要求1至3中任一项所述的计算机实现的方法,进一步包括:

5.根据权利要求4所述的计算机实现的方法,其中,所述第一MPC系统在从所述计算处理系统发送的复合请求中接收所述输入数据的所述第一秘密份额和用于所述一个或多个第二MPC系统中的每一个的所述输入数据的所述相应加密的第二秘密份额。

6.根据任一前述权利要求中所述的计算机实现的方法,其中,由所述第一MPC系统将从所述一个或多个安全多方计算产生的结果数据的第一秘密份额发送到所述计算处理系统包括发送复合消息,所述复合消息包括所述结果数据的所述第一秘密份额和从所述一个或多个第二MPC系统接收到的所述结果数据的相应加密的第二秘密份额。

7.根据任一前述权利要求中所述的计算机实现的方法,其中,由所述第一MPC系统将所述数据项集合的所述第一秘密份额发送到所述应用包括向所述应用发送复合消息,所述复合消息包括所述数据项集合的所述第一秘密份额和从所述一个或多个第二MPC系统接收到的所述数据项集合的相应加密的第二秘密份额。

8.根据权利要求7所述的计算机实现的方法,进一步包括:

9.根据前述权利要求中任一项所述的方法,进一步包括在将数据项的第一集合的第一秘密份额发送到所述应用之前验证在所述TEE中运行的所述应用的可信度。

10.根据前述权利要求中任一项所述的方法,其中,由所述应用执行所述一个或多个计算包括(i)一个或多个向量点积计算,(ii)一个或多个排序操作,或(iii)(i)和(ii)的组合。

11.根据前述权利要求中任一项所述的方法,进一步包括基于所述输入数据的所述第一秘密份额和由所述第一MPC系统存储的附加数据来生成所述数据项集合的所述第一秘密份额。

12.一种系统,包括:

13.一种承载指令的计算机可读存储介质,当所述指令由一个或多个处理器执行时,使所述一个或多个处理器执行根据权利要求1至11中任一项所述的方法。

14.一种包括指令的计算机程序产品,当所述指令由计算机执行时,使所述计算机执行根据权利要求1至11中任一项所述的方法的步骤。

...

【技术特征摘要】
【国外来华专利技术】

1.一种计算机实现的方法,包括:

2.根据权利要求1所述的计算机实现的方法,其中,所述计算处理系统通过将所述结果数据的所述第一秘密份额与从所述一个或多个第二mpc系统中的每一个接收到的所述结果数据的相应秘密份额进行组合来生成明文结果数据。

3.根据权利要求1或2所述的计算机实现的方法,其中,所述应用被配置为:

4.根据权利要求1至3中任一项所述的计算机实现的方法,进一步包括:

5.根据权利要求4所述的计算机实现的方法,其中,所述第一mpc系统在从所述计算处理系统发送的复合请求中接收所述输入数据的所述第一秘密份额和用于所述一个或多个第二mpc系统中的每一个的所述输入数据的所述相应加密的第二秘密份额。

6.根据任一前述权利要求中所述的计算机实现的方法,其中,由所述第一mpc系统将从所述一个或多个安全多方计算产生的结果数据的第一秘密份额发送到所述计算处理系统包括发送复合消息,所述复合消息包括所述结果数据的所述第一秘密份额和从所述一个或多个第二mpc系统接收到的所述结果数据的相应加密的第二秘密份额。

7.根据任一前述权利要求中所述的计算机实现的方法,其中,由所述第一mpc系统将所述数据项集合的所述第一秘密份额发送...

【专利技术属性】
技术研发人员:王刚马塞尔·M·莫蒂·扬
申请(专利权)人:谷歌有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1