隐私计算迎来千亿级风口,一文讲清它的技术理论基础。

【文末送书】今天推荐一本网安领域优质隐私计算书籍《隐私计算:开源架构实战》,十分适合行业入门者。

安全多方计算

在讨论安全多方计算(下文使用 MPC) 之前,我们先讨论安全多方计算的设定,在MPC 的所有参与者中,某些参与者可能会被一个敌手 (攻击者) 控制,在敌手控制下的参与者被称为被腐化方,它在协议执行过程中会遵循敌手的指令对协议进行攻击。一个安全的协议应经得起任何敌手的攻击。为了正式描述和证明一个协议是“安全”的,我们需要对MPC的安全性进行精准定义。

1.安全性

安全多方计算的安全性规范是通过一种理想世界/现实世界的范式 (Ideal/Real Paradigm)来定义的。在理想世界中,存在一个可信的第三方 (Trusted Third Party,TTP),每个参与方将各自的秘密数据通过安全信道提供给可信第三方,由第三方在联合的数据上进行函数的计算,在完成计算后,可信第三方把输出发给各个参与方。由于在计算过程中,每个参与者唯一可执行的动作是将秘密数据发送给可信第三方,因此,攻击者唯一可执行的是选择被腐化参与者的输入,且攻击者除能获得计算结果以外,不能得到其他任何信息。

与理想世界相对应的是现实世界,现实世界中不存在可信第三方,参与者在没有任何外部节点帮助下参与协议执行,且部分参与者可能被攻击者“腐化”或存在合谋。因此,现实世界中的一个安全协议,需要经受它在现实世界的任竟敌手的攻击,当在理想世界中存在同样敌手攻击时,敌手与诚实参与者在理想世界执行中的输入/输出数据的联合分布与现实世界执行中的输入/输出数据的联合分布在计算上不可区分,即在理想世界中模拟了现实世界的协议执行。
理想世界/现实世界范式是为了确保满足“安全性”所隐含的多个属性。

1)隐私:任何一方都不应该获取超过它规定的输出,特别是不应该从输出信息中获取其他合作方的输入信息。攻击者在理想世界中获取不到任何除被腐化方输出以外的其他信息,那么在现实世界中也同样如此。

2)正确性:保证每一方收到的输出都是正确的。诚实参与者在现实世界所得到的输出与理想世界从可信第三方得到的输出是相同的。

3)输入独立性:被腐化的参与者所选择的输入必须与诚实参与者输人无关。在理想世界的协议执行中,被腐化参与者在发送输入给可信第三方时,无法获取诚实参与者的任何输入信息。

4)保证输出:被腐化的参与者不应当具备阻止诚实参与者获取输出的能力。

5)公平性:当且仅当诚实参与者获取输出时,被腐化的参与者才能获取输出,即不存在被腐化参与者获取了输出而诚实参与者未获取输出的情况。在理想世界中,可信第三方总是将输出返回给所有参与者。因此可以保证输出和公平性。这也意味着在现实世界中,诚实参与者得到与理想世界同样的输出。

2.参与者

我们需要对 MPC 的参与者进行定义:MPC 的参与者是指参与协议的各方,每个参与者可被抽象为具有概率多项式时间算法 (Probabilistic Polynomial Time Algorithm,PPT Algorithm)的交互图灵机。根据协议执行过程中的敌手对参与者的控制能力/权利,可将被腐化参与者分为三种敌手类型。

1)半诚实敌手:这类参与者会按照协议的要求执行各个步骤。然而,半诚实敌手会设法获取所有协议执行过程中的信息 (包括执行脚本和所有接收到的消息),并试图推导额外的隐私信息。

2)恶意敌手:这类参与者在执行协议过程中,完全按照攻击者的指令执行协议的各个步骤,不仅会将所有的输入、输出,以及中间结果泄露给攻击者,还会根据攻击者的意图改变输入信息、伪造中间及输出信息,甚至终止协议。

3)秘密敌手:这种类型的敌手可能对协议进行恶意攻击,一旦它发起攻击,有一定的概率会被检测到。如果没有被检测到,那么它就可能完成了一次成功的攻击 (发起攻击是为了获取额外的信息)。

因此,根据安全多方计算协议中的不同参与者在现实世界的攻击行为,可将协议的安全模型进行如下划分。

1)半诚实模型 (The Semi-Honest Model):在协议执行时,参与者按照协议规定的流程执行,但是可能会被恶意攻击者监听并获取到在协议执行过程中自己的输入、输出,以及在协议运行过程中获得的信息。

2)恶意模型 (The Malicious Model):在协议执行时,攻击者可以利用在其控制下的参与者,通过不合法的输入或者恶意篡改输入等方法来分析诚实参与者的隐私信息,还可以通过提前终止和拒绝参与等方式导致协议终止。

另外,根据敌手何时及如何控制参与方,可以将敌手的腐化策略分为下列三种模型。

1)静态腐化模型 (Static Corruption Model):在该模型中,在协议开始之前,由敌手固定控制一组合作方。诚实的合作方始终是诚实的,腐化的合作方始终是腐化的。

2)自适应腐化模型 (Adaptive Corruption Model):敌手能够自主决定什么时间对哪个参与者进行腐化,需要注意的是,一旦一个参与者被腐化,它将始终保持腐化状态。

3)主动安全模型(Proactive Security Model):诚实参与者可能在某一段时间被腐化,被腐化参与者也可能在某一段时间变为诚实参与者。主动安全模型是从一个可能存在入侵网络、服务或设备的外部敌手的角度来讲的,当网络被修复时,敌手失去了对机器的控制,被腐化的参与者变为诚实参与者。

在现实世界中,MPC 协议不是孤立运行的,通常是对协议进行模块序列化组合或与其他协议并行 (运行) 组合得到一个更大的协议来运行。

有研究证明,如果一个 MPC 协议在一个更大的协议中按序列运行,则它仍然遵守现实/理想世界范式,即存在一个可信第三方执行该协议并输出对应结果。这个理论被称为“模块化组合

  • 56
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 101
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 101
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋说

感谢打赏,祝你平安喜乐。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值