安全多方计算之一:什么是安全多方计算

这篇具有很好参考价值的文章主要介绍了安全多方计算之一:什么是安全多方计算。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 安全多方计算简介

安全多方计算问题(SMC,Secure Multi-party Computation)由由中国计算机科学家、2000年图灵奖获得者姚启智教授于1982年在论文《Protocols for secure computations》中以百万富翁问题(两个百万富翁Alice和Bob想知道他们两个谁更富有,但他们都不想让对方及其他第三方知道自己财富的任何信息)提出,开创了密码学研究的新领域。

安全多方计算定义:是指在一个互不信任的多用户网络中, n n n个参与者 P 1 , P 2 , . . . , P n P_1,P_2,...,P_n P1,P2,...,Pn,每个持有秘密数据 x i x_i xi,希望共同计算出函数 f ( x 1 , x 2 , . . . , x n ) = ( y 1 , y 2 , . . . , y n ) f(x_1,x_2,...,x_n)=(y_1,y_2,...,y_n) f(x1,x2,...,xn)=(y1,y2,...,yn) P i P_i Pi仅得到结果 y i y_i yi,并且不泄露 x i x_i xi给其他参与者。

半诚实模型和恶意模型,# 安全多方计算,信息安全,安全,安全多方计算
平均薪水问题是一个简单的安全多方计算问题,即某公司 n n n位职员想了解他们每月的平均薪水有多少,但又不想让任何其他人知道自己的薪水。

设公司 n n n个职员 A 1 , A 2 , … , A n A_1,A_2,…,A_n A1,A2,,An,他们的薪水分别为 x 1 , x 2 , … , x n x_1,x_2,…,x_n x1,x2,,xn。该问题可形式化描述为:对 n n n个秘密输入 x 1 , x 2 , … , x n x_1,x_2,…,x_n x1,x2,,xn,在不泄露各自秘密的情况下计算函数值: f ( x 1 , x 2 , … , x n ) = ( x 1 + x 2 + … + x n ) / n f(x_1,x_2,…,x_n)=(x_1+x_2+…+x_n)/n f(x1,x2,,xn)=(x1+x2++xn)/n执行以下协议:

  • (1) A 1 A_1 A1选择一个随机数 r r r并加上他的薪水得 r + x 1 r+x_1 r+x1发送给 A 2 A_2 A2
  • (2) A 2 A_2 A2加上他的薪水得 r + x 1 + x 2 r+x_1+x_2 r+x1+x2发送给 A 3 A_3 A3
  • (3) A 3 , A 4 , A 5 , … , A n − 1 A_3,A_4,A_5,…,A_{n-1} A3,A4,A5,,An1继续执行同样操作
  • (4) A n A_n An加上他的薪水得 r + x 1 + x 2 + … + x n r+x_1+x_2+…+x_n r+x1+x2++xn发送给 A 1 A_1 A1
  • (5) A 1 A_1 A1将其减去随机数 r r r再除以总人数 n n n便得公司职员的平均薪水 ( x 1 + x 2 + … + x n ) / n (x_1+x_2+…+x_n)/n (x1+x2++xn)/n
  • (6) A 1 A_1 A1 A 2 , A 3 , … , A n A_2,A_3,…,A_n A2,A3,,An公布平均薪水的结果

2. 基本概念

2.1 参与者

参与者指参与协议的各方,每个参与者被抽象为具有概率多项式时间算法的图灵机根据参与者在协议中的行为将其分为以下三类:

(1)诚实参与者:诚实参与者完全按照要求完成执行过程中的各个步骤,同时保密自己的所有输入、输出及中间结果。诚实参与者也会根据自己的输入、输出以及中间结果来推导其他参与者的信息,但是不会被攻击者腐败。

(2)半诚实参与者:半诚实参与者在协议的执行过程中,完全按照协议的要求完成协议的各个步骤,但同时可能将自己的输入、输出及中间结果泄露给攻击者。

(3)恶意参与者:恶意参与者在协议的执行过程中,完全按照攻击者的意志执行协议的各个步骤,他不但将自己的所有输入、输出及中间结果泄露给攻击者,还可以根据攻击者的意图改变输入信息、伪造中间及输出信息,甚至中止协议。

2.2 攻击者

安全多方计算协议中,攻击者会破坏协议安全性或正确性,通过腐败参与者的一个子集,来控制其对协议进行攻击。根据攻击者对恶意参与者的控制程度、攻击者的计算能力、网络同步与异步状态、自适应性等准则,可以对攻击者有不同的分类。其中按照对恶意参与者的控制程度,将攻击者分为以下下三类:

(1)被动攻击者:又称为半诚实攻击者。被动攻击者只是监听恶意参与者的输入、输出及中间计算结果,并不控制恶意参与者的行为(比如修改恶意参与者的输入输出)。

(2)主动攻击者:除了监听任意参与者的输入、输出及中间结果外,主动攻击者还控制恶意参与者的行为(如恶意篡改参与者的输入,按照自己的意图控制恶意参与者的输出等)。

(3)隐蔽攻击者:Aumann和Lindell于2007年提出介于被动攻击者与主动攻击者之间的攻击者类型,即隐蔽攻击者(Convert adversary)。隐蔽攻击者以被发现的概率为(称为遏制因子)危险去攻击协议,被隐蔽攻击者腐败的参与者可以进行主动的腐败行为。

3. 安全多方计算的模型

安全多方计算的模型主要有三种:半诚实模型、恶意模型与隐蔽攻击模型。

(1)半诚实模型:如果所有参与者都是半诚实或诚实的,称此模型为半诚实模型。半诚实成员完全遵守协议,但它会收集协议执行过程中的所有记录,并试图推断其他成员的输入,半诚实模型中的攻击者都是被动的。

半诚实模型下的理想模型定义:在理想模型中,存在一个诚实第三方 T T T,该第三方能够与所有参与者进行保密通信,且对对参与者发送给的所有信息保密。攻击者不能得到诚实参与者与T之间交换的任何信息。

  • 输入:参与者 A A A拥有 x x x,参与者 B B B拥有 y y y
  • 参与者发送输入至 T T T: 参与者按要求将输入发送至 T T T
  • T T T回应参与者: T T T收到输入 ( x , y ) (x,y) (x,y)后,计算 ( x , y ) (x,y) (x,y) T T T发送 f 1 ( x , y ) f_1(x,y) f1(x,y)至参与者 A A A,发送 f 2 ( x , y ) f_2(x,y) f2(x,y)至参与者 B B B
  • 输出:诚实的参与者总是输出从 T T T接收到的信息;恶意的参与者会输出任意一个多项式函数,该多项式函数跟初始输入及从 T T T得到的信息的有关。

(2)恶意模型:有恶意参与者的模型称为恶意模型。恶意参与者完全按照攻击者的意愿执行协议的各个步骤,他不但将自己的所有输入、输出以及中间结构泄露给攻击者,还可以根据攻击者的意图改变改变输入信息、伪造中间及输出信息,甚至终止协议。恶意模型中的攻击者是主动的。

恶意模型下的理想模型定义:在理想模型中,存在一个诚实第三方 T T T

  • 输入:每一个参与者都有一个输入,用 w w w表示。
  • 参与者发送输入至 T T T:恶意参与者有根据当前输入 w w w,决定拒绝发送消息或将某个发送给 T T T
    • T T T回应第一个参与者:如果 T T T收到一对输入 ( x , y ) (x,y) (x,y),他计算 ( x , y ) (x,y) (x,y),并将第一个元素 f 1 ( x , y ) f_1(x,y) f1(x,y)发回给第一个参与者。否则, T T T就向两个参与者都发送一个终止符 ⊥ \bot ,终止协议。
    • T T T回应第二个参与者:如果第一个参与这是恶意的,他会根据自己的输入以及诚实第三方 T T T的回应,决定是否让 T T T终止协议。如果他要求T终止协议, T T T就将终止符 ⊥ \bot 发送给第二个参与者来终止协议。否则 T T T将发送 f 2 ( x , y ) f_2(x,y) f2(x,y)至第二个参与者。
  • 输出:诚实的参与者总是输出从T接收到的信息;恶意的参与者会输出任意一个多项式函数,该多项式函数跟初始输入及从T得到的信息的有关。

(3)隐蔽攻击模型:有被隐蔽攻击者参与的模型称为隐蔽攻击者模型,被腐败的参与者可以进行主动的腐败行为,但仅在能小于一定概率不被发现的情况下才可实施腐败行为。

4. 安全多方计算的密码学工具

(1)秘密共享

秘密共享定义如下:将原始秘密 m m m在参与者集合中 P 1 , P 2 , . . . , P n P_1,P_2,...,P_n P1,P2,...,Pn分享, P i P_i Pi持有子秘密 m p i m_{p_i} mpi,只有特定参与者的集合才能够从他们的子秘密中恢复秘密 m m m,而其他参与者不能得到秘密 m m m的任何信息。
半诚实模型和恶意模型,# 安全多方计算,信息安全,安全,安全多方计算
常见的秘密共享方案包括:Shamir秘密共享方案、Asmuth-Bloom方案、Feldman的VSS方案、Pedersen的VSS方案以及无分发者Joint-Shamir-RSS方案(Joint Shamir Random Secret Sharing)。

(2)同态加密

R.Rivest等人1978年首次在《On data banks and privacy homomorphisms》中以隐私同态(Privacy homomorphism)的概念提出。同态性使得可以在加密数据上进行运算,从而保护用户数据隐私。Gentry, C. 于2009年在《Fully homomorphic encryption using ideal lattics》给出了全同态的定义,并基于理想格构造了一系列全同方案。

全同态加密方案是指, 对于 n n n个明文消息 m 1 , m 2 , … , m n m_{1}, m_{2}, \ldots, m_{n} m1,m2,,mn , 及对应的密文 c 1 , c 2 , … , c n c_{1}, c_{2}, \ldots, c_{n} c1,c2,,cn , 其加密算法 E E E与解密算法 D D D满足, 对于有限域上的任意可计算函数 f f f D ( f ( E ( m 1 ) , E ( m 2 ) , … , E ( m n ) ) = f ( m 1 , m 2 , … , m n ) D\left(f\left(E\left(m_{1}\right), E\left(m_{2}\right), \ldots, E\left(m_{n}\right)\right)=f\left(m_{1}, m_{2}, \ldots, m_{n}\right)\right. D(f(E(m1),E(m2),,E(mn))=f(m1,m2,,mn)
半诚实模型和恶意模型,# 安全多方计算,信息安全,安全,安全多方计算
全同态加密体制使得可以在加密数据上进行任意计算与分析,可应用于加密云存储服务,隐私信息检索,隐私数据挖据等许多重要领域。比如许多企业需要委托第三方(云计算数据中心)对数据进行处理分析,但是数据中含有商业机密等敏感信息,可以首先使用全同态加密算法对数据加密后再发送给第三方,这样云端服务器不用解密就可以直接处理数据,完成后返给用户,用户对数据解密得到处理结果。

(3) 比特承诺

比特承诺方案(Bit Commitment Scheme)解决这样的问题:Alice向Bob承诺一个预测(比特值),直到一段时间之后才揭示着预测(比特值);在这期间,Alice不能改变自己的预测(比特值)。

比特承诺的一个直观例子:Alice 把消息 M M M(承诺)放在一个箱子里(只有Alice有钥匙)并将它锁住送给Bob,等到 Alice 决定向 Bob证实消息 M M M时,Alice把消息 M M M及钥匙给 Bob,Bob 能够打开箱子并验证箱子里的消息同 Alice出示的消息是否相同,且Bob 确信箱子里的消息在他保管期间没有被篡改。

半诚实模型和恶意模型,# 安全多方计算,信息安全,安全,安全多方计算
常见的比特承诺方案有基于对称密码算法的,基于单向函数的以及基于数学难解问题的(大数分解、离散对数等)。

(4)零知识证明

零知识证明(Zero Knowledge Proof) 由S.Goldwasser、S.Micali 及 C.Rackoff于1985年在论文《The Knowledge Complexity of Interactive Proof Systems》(交互式证明系统中的知识复杂性)首次提出,是一种用于证明者在不泄露任何其他信息的情况下证明其掌握知识正确性的密码学协议。

半诚实模型和恶意模型,# 安全多方计算,信息安全,安全,安全多方计算
该协议的一方称为证明者(Prover),用 P P P表示;协议的另一方称为验证者(Verifier),用 V V V表示。零知识证明指 P P P试图使 V V V相信某个论断是正确的,但却不向V泄露任何有用的信息,即 P P P在论证的过程中 V V V得不到任何有用的信息。

(5)混合网络

1981年,Chaum首次在《Untraceable electronic mail, return addresses, and digital pseudonyms》提出混合网络(MN,Mix-Network),用于保护参与者的隐私。

混合网络是一个多方协议,协议的输入是一个密文表,该密文表中的密文与明文有一一对应的关系。混合网将这个密文表随机置换后输出另外一个密文表,称之为盲表(Blinded table)。同输入的密文表一样,输出的盲表中的密文和相同的一组明文也是一一对应的,即输出的密文表是输入密文表的随机置换。混合网络的安全性在于攻击者无法确定输出盲表中的某一条密文与输入密文表中的哪一条密文是对应的。

半诚实模型和恶意模型,# 安全多方计算,信息安全,安全,安全多方计算
M.Jakobsson和A.Juels提出了基于Mix-Match的安全多方计算协议,该类协议包括Mix与Match两个阶段:Mix阶段通过构造混合网络,生成盲表;Match阶段通过执行PET协议进行查表,得到对应的输出。最后参与者共同解密输出。

(6)不经意传输

不经意传输(OT,Oblivious Transfer)又称健忘传输或茫然传输,由Rabin于1981年提出。不经意传输是从一个消息集合秘密获取取部分消息的方法,该协议执行完毕后,接收方知道他是否收到这个秘密,但发送方却不知道(oblivious)。

考虑这样的场景:A意欲出售许多个问题的答案,B打算购买其中一个问题的答案,但又不想让A知道他买的哪个问题的答案。即B不愿意泄露给A他究竟掌握哪个问题的秘密,此类场景可通过不经意传输协议实现。

半诚实模型和恶意模型,# 安全多方计算,信息安全,安全,安全多方计算
不经意传输包括:1-out-of-2不经意传输、1-out-of-n不经意传输、m-out-of-n不经意传输。

5. 学习参考

(1)David Evans、Vladimir Kolesnikov、Mike Rosulek,《A Pragmatic Introduction to Secure Multi-Party Computation》(中文版:《实用安全多方计算导论》)

半诚实模型和恶意模型,# 安全多方计算,信息安全,安全,安全多方计算

  • 第1章 引言(Introduction)
  • 第2章 安全多方计算定义(Defining Multi-Party Computation)
  • 第3章 安全多方计算基础协议(Fundamental MPC Protocol)
  • 第4章 实现技术(Implementation Techniques)
  • 第5章 不经意数据结构(Oblivious Data Structures)
  • 第6章 恶意安全性(Malicious Security )
  • 第7章 其他威胁模型(Alternative Threat Models)
  • 第8章 总结(Conclusion)

(2)Wenliang Du,Mikhail J. Atallah,《Secure Multi-Party Computation Problems and Their Applications:A Review and Open Problems》

(3)Oded Goldreich(以色列),《Secure Multi-Party Computation》

(4)Yehuda Lindell(以色列),《Secure Multiparty Computation》

(5)冯登国, 《Concretely efficient secure multi-party computation protocols: survey and more》

(6)Facebook AI Research,《CRYPTEN: Secure Multi-Party Computation Meets Machine Learning》

(7)安全多方计算专栏密码学专栏文章来源地址https://www.toymoban.com/news/detail-704252.html

到了这里,关于安全多方计算之一:什么是安全多方计算的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第162篇 笔记-安全多方计算

    一、主要概念 安全多方计算 (Secure Multi-Party Computation):指多个参与者在不泄露各自隐私数据情况下,利用隐私数据参与保密计算,共同完成某项计算任务。 该技术能够满足人们利用隐私数据进行保密计算的需求,有效解决数据的“保密性”和“共享性”之间的矛盾。多方

    2024年02月03日
    浏览(25)
  • 隐私计算论文合集「多方安全计算系列」第一期

    当前,隐私计算领域正处于快速发展的阶段,涌现出了许多前沿的 SOTA算法 和备受关注的 顶会论文 。为了方便社区小伙伴学习最新算法、了解隐私计算行业最新进展和应用,隐语开源社区在GitHub创建了Paper推荐项目awesome-PETs(PETs即Privacy-Enhancing Technologies , 隐私增强技术 )

    2024年02月09日
    浏览(32)
  • 华为安全专家带你入门安全多方计算

    6月8日(本周四) 19:00—21:00 ,华为安全专家带你入门安全多方计算,欢迎参加! 考虑以下应用场景: Alice认为她可能患有某种遗传病,Bob有一个包含DNA模式与各类疾病的数据库。Alice可将她的DNA序列交给Bob得到诊断结果。然而,Alice不想泄露自己的DNA序列,也不想Bob及其他人

    2024年02月08日
    浏览(32)
  • 多方安全计算破解企业数据互信难题

    所谓 多方安全计算 ,最初是为解决一组互不信任的参与方之间在保护隐私信息以及没有可信第三方的前提下协同计算问题而提出的理论框架。 当企业之间进行数据相关的合作时,随之而来就涉及到数据泄露的问题。因此,如何兼顾“数据价值共享”和“隐私保护”,成为当

    2023年04月16日
    浏览(28)
  • 【安全多方计算】百万富翁问题

    ​ 百万富翁问题是姚期智先生在1982年提出的第一个安全双方计算问题,两个百万富翁街头邂逅,他们都想炫一下富,比比谁更有钱,但是出于隐私,都不想让对方知道自己到底拥有多少财富,所以要在不借助第三方的情况下,知道他们之间谁更有钱。 ①这里假设Alice和Bob就是

    2024年02月05日
    浏览(28)
  • 安全多方计算之七:门限密码系统

    门限密码系统由分布式密钥生成算法、加密算法、门限解密算法三部分构成,定义如下: (1)分布式密钥生成 :这是一个由参与者共同生成公钥 y y y 的协议,协议运行结束后,每个参与者将获得一个关于私钥 x x x 的碎片、对应于该碎片的公钥密钥 y i y_i y i ​ ,以及与私钥

    2024年01月19日
    浏览(29)
  • 联邦学习中的安全多方计算

    Secure Multi-party Computation in Federated Learning 安全多方计算就是许多参与方需要共同工作完成一个计算任务或者执行一个数学函数,每个参与方针对这个执行构建自己的数据或份额,但不想泄露自己的数据给其他参与方。 在安全多方计算中的定义包括以下几个方面: 一组有私有输

    2024年02月11日
    浏览(29)
  • 百万富翁问题--安全多方计算

    百万富翁问题—安全多方计算 是由图灵奖获得者姚期智提出的。 有A、B两个富翁,A资产i亿元,B资产j亿元,i、j均在0-10范围内,在互不让对方知道自己资产的情况下,比较A和B的资产谁多谁少。 那么如何去比较呢? 这里放十个箱子: 如果A有i亿元,那么A将第i个箱子之前的

    2024年02月04日
    浏览(23)
  • 安全多方计算之九:不经意传输

    考虑这样的场景:A意欲出售许多个问题的答案,B打算购买其中一个问题的答案,但又不想让A知道他买的哪个问题的答案。即B不愿意泄露给A他究竟掌握哪个问题的秘密,此类场景可通过不经意传输协议实现。 不经意传输(OT,Oblivious Transfer)又称健忘传输或茫然传输,由Rabin于

    2023年04月16日
    浏览(28)
  • 【多方安全计算】差分隐私(Differential Privacy)解读

    差分隐私(Differential privacy)最早于2008年由Dwork 提出,通过严格的数学证明,使用随机应答(Randomized Response)方法确保数据集在输出信息时受单条记录的影响始终低于某个阈值,从而使第三方无法根据输出的变化判断单条记录的更改或增删,被认为是目前基于扰动的隐私保护

    2024年02月06日
    浏览(31)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包