文章目录

  • 什么是多方计算multi-party computation (MPC)
    • MPC和TEE比较
    • 外包计算
    • 安全模型
    • MPC问题分类
  • 其他参考

什么是多方计算multi-party computation (MPC)

安全多方计算(英文:Secure Multi-Party Computation)的研究主要是针对无可信第三方的情况下,如何安全地计算一个约定函数的问题。

安全多方计算于1986 年由姚期智院士通过姚氏百万富翁问题提出:两个百万富翁街头邂逅,他们都想炫一下富,比一比谁更有钱,但是出于隐私,都不想让对方知道自己到底拥有多少财富,如何在不借助第三方的情况下,让他们知道谁更有钱。姚氏“百万富翁问题”后经发展,成为现代密码学中非常活跃的研究领域,即安全多方计算。

多个持有各自私有数据的参与方,共同执行一个计算逻辑计算逻辑(如,求最大值计算),并获得计算结果。但过程中,参与的每一方均不会泄漏各自数据的计算,被称之为MPC计算。
  举个例子,Bob和Alice想弄清谁的薪资更高,但因为签署了保密协议而不能透露具体薪资。如果Bob和Alice分别将各自的薪资告诉离职员工Anne,这时Anne就能知道谁的薪资更高,并告诉Bob和Alice。这种方式就是需保证中间人Anne完全可信。
  而通过MPC则可以设计一个协议,在这个协议中,算法取代中间人的角色,Alice和Bob的薪资以及比较的逻辑均交由算法处理,参与方只需执行计算协议,而不用依赖于一个完全可信的第三方。

安全多方计算所要确保的基本性质就是:在协议执行期间发送的消息中不能推断出各方持有的私有数据信息,关于私有数据唯一可以推断的信息是仅仅能从输出结果得到的信息。

多方计算的目标就是对一组计算的参与者,每个参与者拥有自己的数据,并且不信任其它参与者和任何第三方,在这种前提下,如何对各自私密的数据计算出一个目标结果的过程。

安全多方计算是安全可信计算中的一个分支。安全可信计算主要有两大类:外包计算和多方计算。

MPC和TEE比较

基于安全多方计算(MPC)的隐私计算技术(一)
参考URL: https://www.sohu.com/a/420874374_722184

TEE是通过硬件的方式保护参与计算数据的隐私性,但基于TEE的隐私计算并不是建立在参与方间完全无信任环境下的,实际上会有一个各参与方都认可的可信根,一般而言,这个可信根是TEE的制造厂商。

现在比较成熟的TEE技术就是英特尔的SGX,如果是通过SGX做隐私计算,由于要去英特尔的服务器上做远程认证,则需要各个参与方都信任英特尔。因此基于TEE的隐私计算对于某些安全性要求更高场景并不适用。

除了基于TEE的隐私计算外,安全多方计算技术(MPC或SMPC,Secure multi-party computation)也可以做隐私计算。安全多方计算技术则是基于密码学的多种技术纯软件实现的隐私计算。各参与方之间无需可信根,更加安全。但由于包含了复杂的密码学操作,相较于基于TEE的隐私计算而言,效率会低一些。

外包计算

为了与多方计算做区分,先简要介绍一下外包计算。外包计算就是一方拥有数据并想获取该数据的计算结果,另一方接收这份数据的一个加密格式,并对加密数据进行计算,得到一份加密的计算结果,并将该结果返回给第一方。过程中,另一方不会获得任何没有加密的信息。

其中 Homomorphic encryption (同态加密)就是外包计算中一种常用的技术,同态加密的思路比较直观:直接将原文加密,然后在密文上进行各种运算,最终得到结果的密文。 一个典型的应用场景是:数据持有者想对其持有的大量数据进行计算,奈何其拥有的计算资源不足,想借助云服务器的算力完成该计算。如果按照现在流行的做法,那当然是将数据传输到云服务器,然后运行事先写好的程序进行计算。但如此一来,敏感数据便在云服务器上暴露无遗。同态加密正好解决了此问题,数据持有者传输数据前先将数据加密,云服务器在接收到数据后照例计算,只不过这次是在密文上进行的,云服务器啥都看不到。待得到结果后再将结果的密文返还给数据持有者,数据持有者解开后即得最终结果。

安全模型

在安全多方计算中,根据参与方的可信程度可以建立几种安全模型。

  • Real-Ideal Paradigm(理想模型) :在理想模型中,每一个参与方都是可信的,一方将其信息发送给另一方,另一方不会去查看这份信息,只会根据规定计算出结果,并发送给下一方或者所有参与方。
  • Semi-Honest Security(半诚实模型) :半诚实模型就是参与方会诚实的运行协议,但是他会根据其它方的输入或者计算的中间结果来推导额外的信息。
  • Malicious Security(恶意模型) :恶意模型则可能不会诚实的运行协议,甚至会搞破坏。

在现实世界中,理性模型是不存在的,但相比于恶意模型,参与方如果真的想获取到同时对自己有用的信息,多数情况下符合半诚实模型。

MPC问题分类

根据计算参与方个数不同,可分为只有两个参与方的2PC和多个参与方(≥3)的通用MPC。

安全两方计算所使用的协议为Garbled Circuit(GC)+Oblivious Transfer(OT);而安全多方计算所使用的协议为同态加密+秘密分享+OT。

在安全多方计算中,安全挑战模型包括半诚实敌手模型和恶意敌手模型。市场大部分场景满足半诚实敌手模型,也是JUGO技术产品所考虑的敌手模型。
半诚实敌手模型:计算方存在获取其他计算方原始数据的需求,但仍按照计算协议执行。半诚实关系即参与方之间有一定的信任关系,适合机构之间的数据计算;
恶意敌手模型:参与方根本就不按照计算协议执行计算过程。参与方可采用任何(恶意)方式与对方通信,且没有任何信任关系。结果可能是协议执行不成功,双方得不到任何数据;或者协议执行成功,双方仅知道计算结果。更多适用于个人之间、或者个人与机构之间的数据计算。

其他参考

安全多方计算从入门到精通:MPC简介&JUGO平台
参考URL: https://blog.51cto.com/13701316/2136084
Secure multi-party computation (MPC) 介绍
参考URL: https://zhuanlan.zhihu.com/p/100648606
基于安全多方计算(MPC)的隐私计算技术(一)
参考URL: https://www.sohu.com/a/420874374_722184

什么是多方计算multi-party computation (MPC)相关推荐

  1. mpc 安全多方计算协议_HashKey:说透安全多方计算 MPC 技术方案、挑战与未来

    链闻 ChainNews 安全多方计算对网络信息安全与数据市场的发展具有重要价值. 撰文:钱柏均,就职于 HashKey Capital Research审校:邹传伟,万向区块链.PlatON首席经济 ...

  2. 安全多方计算与证券业数据生态

    区块链技术的出现,使得各方事务在去中心化的方式下协调执行,数据在不可篡改.公开验证的方式下共享,这种特性天然适合用以解决证券行业信息共享的问题.但是,在传统区块链系统中,事务涉及数据会为全体成员所公开 ...

  3. (九)隐私计算--安全多方计算

    目录 安全多方计算 安全多方计算的技术架构 安全挑战敌手模型 安全多方计算关键技术 安全多方计算主要特点 安全多方计算应用 安全多方计算与区块链 JUGO平台 参考: https://blog.csd ...

  4. Cointelegraph| 安全多方计算对早期隐私格局的影响

    原标题:What Will Be the Early Privacy Impact of Secure Multiparty Computation? 本文由著名区块链科技媒体Cointelegrap ...

  5. 隐私计算 — 安全多方计算 — Overview

    目录 文章目录 目录 前言 百万富翁问题 多方安全计算 MPC 的发展历程 MPC 的适用场景 数据可信交换 数据安全查询 联合数据分析 MPC 的逻辑架构 MPC 的特性 MPC 模型组成部分 协议 ...

  6. 安全多方计算之二:一文搞懂百万富翁问题

    百万富翁问题 1. 解决方案 2. 协议描述 3. 协议说明 4. 协议举例 两个百万富翁Alice和Bob想知道他们两个谁更富有,但他们都不想让对方及其他第三方知道自己财富的任何信息,这是由中国计算 ...

  7. 有限理性建模的方法和计算机平台,有限理性假设下的多方计算协议建模与仿真...

    有限理性假设下的多方计算协议建模与仿真 始于2004年的理性多方计算(Rational Multiparty Computation,RMPC)是密码学的新兴研究方向,在多方隐私保护合作计算.电子商务 ...

  8. 安全多方计算的根基——Yao’s两方协议

    作者:Annchain (本文一切著作权归annchain技术团队所有,未经许可,不得转载.若需转载请联系页尾二维码.) 安全多方计算(Secure Multi-Party Computation,S ...

  9. mpc 安全多方计算协议_BNC公链 | 不看到数据却能进行计算?一文了解安全多方计算...

    今天,数据可以用来分析复杂问题,提供解决方案,甚至解决无法回答的问题.但是,当涉及到利用数据为公众服务时,数据共享和数据保护之间往往存在着许多矛盾.而安全多方计算(MPC)如何在不泄露隐私数据的情况下 ...

最新文章

  1. bzoj 4602: [Sdoi2016]齿轮
  2. OpenCV3如何使用SIFT和SURF Where did SIFT and SURF go in OpenCV 3?
  3. 19、Java Swing JToolBar:工具栏组件
  4. java样式是什么_java css样式 css样式的种类 选择器 文本相关样式 背景相关样式 边框 盒子模式...
  5. Java源码阅读PriorityQueue
  6. 网络安全之等级保护问题集
  7. boost学习之BOOST_FOREACH
  8. Smarty学习笔记(二)
  9. git merge和git merge --no-ff有什么区别?
  10. Oracle 插入时间时 ,报错:ORA-01861: 文字与格式字符串不匹配
  11. SpringCloud实现集群和负载均衡
  12. 自抗扰控制的入门学习(一)—— 前言
  13. 1032: 员工薪水 Python
  14. 今日头条是怎么挣钱的
  15. Xilinx 7系列FPGA收发器架构之接收器(RX)(十一)
  16. 20届春秋招数据分析面筋分享
  17. 说说如何在项目中引入 jBPM4 工作流框架以及遇到的坑儿
  18. Android的根证书颁发机构列表
  19. 在比特大陆SE5边缘计算盒上运行PaddleOCR轻量级预测模型
  20. 端口监控软件-Device Monitoring Studio

热门文章

  1. linux命令后台执行方式
  2. 重磅!李飞飞、颜宁等9位华人当选美国艺术与科学院院士,DeepMind创始人也成新晋院士!
  3. RosettaFold如何媲美AlphaFold?
  4. 益智游戏网开发之路二(网址yzyx.info)
  5. linux环境下配置apache ,mysql,php,超简单
  6. 国际布线标准电缆色谱
  7. wms仓库管理软件的七大产品特点
  8. 仓库管理怎么做?这5大仓库管理软件能帮到你
  9. bzoj 3811: 玛里苟斯【线性基+期望dp】
  10. 深度学习入门笔记(十八):卷积神经网络(一)