论文:《Secure Multiparty Computation》
作者:Yehuda Lindell
SMPC的基本概念
-
概念:SMPC协议使多个参与方能够使用各自私有的输入,计算一个联合函数,并且他们除了计算结果什么也得不到。
-
SMPC协议的目标:使多个参与方以安全的方式,共同执行分布式的计算任务。
-
SMPC协议中的角色:
- 安全的参与方(honest parties)
- 攻陷的参与方(corrrupted parties)
-
SMPC的两种场景:
- 理想环境(ideal)
- 真实环境(real)
-
SMPC协议的重要需求特性:
- 隐私性 privacy
- 正确性 correctness
- 输入独立性 independence of inputs
- 输出可达性 guaranteed output delivery
- 公平性 fairness
-
SMPC模型的其他关注点
- 敌手(Adversarial power)的模型——被动/主动攻击?
- 允许敌对的行为(Allowed adversarial behaviour)——与敌手的类型(3种)有关
- 半诚实敌手(Semi-honest adversaries)
- 恶意敌手(Malicious adversaries)
- 秘密敌手(Covert adversaries)
- 腐化策略(Corruption strategy)——关注参与方何时/如何被腐化?
- 静态腐化(Corruption strategy)
- 适应性腐化(Adaptive corruption model)
- 主动腐化(Proactive security model)
- 允许敌对的行为(Allowed adversarial behaviour)——与敌手的类型(3种)有关
- 模块化顺序和并发组合(Modular sequential and concurrent composition)
考虑MPC协议与其他协议同时运行时的安全性
- 敌手(Adversarial power)的模型——被动/主动攻击?
-
SMPC协议中明确的含义
- The ideal model and using MPC in practice
- Any inputs are allowed
- MPC secures the process, but not the output
-
SMPC的可行性
理论上,任何分布式的计算任务都存在安全的多方协议
- 当攻陷的参与方的数量少于参与方总数的1/3时:
安全的多方协议能够对任意功能的函数,做到公平性及输出可达。这在同步点对点网络和认证信道下,是计算安全的;如果信道同时是秘密的,则也是信息论安全的。 - 当攻陷的参与方的数量少于参与方总数的1/2时:
安全的多方协议能够对任意功能的函数,做到公平性及输出可达。这在参与方具备接入广播信道能力的条件下,是计算安全的。 - 当攻陷的参与方的数量大于等于参与方总数的1/2时:
安全的多方协议能够做到公平性及输出可达。
- 当攻陷的参与方的数量少于参与方总数的1/3时:
SMPC的相关技术
秘密分享技术
- Shamir Secret Sharing
秘密共享方案解决了销售商希望在n个参与方之间共享秘密s的问题,这样t+1或更多参与方的任何子集都可以重构秘密,但t或更少的参与方的子集不能学习关于秘密的任何东西。
称之为 (t+1)-out-of-n-threshold secret-sharing scheme