一个完全公平的安全多方计算协议
- 格式:pdf
- 大小:556.84 KB
- 文档页数:3
什么是安全多方计算?在现实生活中,我们时常需要通过挖掘数据来辅助生产活动、利用有用数据信息开展工作,而在进行数据信息深挖的同时,隐私保护问题日渐引起了人们的关注和忧虑,如何在保护隐私的前提下进行数据信息共享应用已经成为一个亟需解决的问题,安全多方计算则为解决上述问题提供了一种可行性方案。
一、什么是安全多方计算?下面就用具体案例来为大家解释,当两个制造厂商因为资源互补决定合作一个项目,从各自利益角度出发,他们都想保证自己数据信息不被对方利用,也不想第三方参与进来,也就是说,真正可信的合作环境在这种要求下无法搭建起来。
于是问题就来了,他们应如何实现在保护数据私密性的前提下共同合作?这就是典型的安全多方计算问题。
1、多个参与方一起进行协同计算,参与方互不信任。
2、而且他们都不想其他方知道自己的输入信息。
3、即使有参与方被恶意攻击,计算结果依然不受影响。
安全多方计算起源于1982年姚期智的百万富翁问题,是解决一组互不信任的参与方之间保护隐私的协同计算问题,要确保输入的独立性,计算的正确性,同时不泄露各输入值给参与计算的其他成员。
其主要研究问题是针对无可信第三方的情况下,如何安全地计算一个约定函数的问题。
一个安多方模型由4个方面组成:参与方、安全性定义、通信网模型、信息论安全与密码安全。
二、安全多方计算的实际应用安全多方计算是电子选举、门限签名以及电子拍卖等诸多应用得以实施的密码学基础,具有丰富的研究价值和广阔的应用前景。
涵盖范围包括认证协议、在线支付协议、公平交换协议、拍卖协议、选举协议、密文数据库查询与统计等等。
1、电子选举协议。
在电子选举中,完整计票、选票保密、投票过程可证实等特殊要求可通过安全多方计算来实现,这也是典型的安全多方计算应用场景。
2、医疗领域。
由于医学研究需要经过严谨的临床试验和专家论证,医院间时常需要共享一些医疗信息,但在此过程中,又想确保供研究的单个患者的隐私不被泄露。
通过安全多方计算,可进行双盲设计,以此维护医疗数据的真实可信。
一种实用高效的安全多方排序协议王宁;顾昊旻;郑彤【摘要】安全多方排序问题是保护用户隐私的多方协作计算中最为重要的核心问题之一.为避免基于比较的排序方法,借鉴计数排序和桶排序的思想,把多方排序问题简化为多方求和问题.采用数据压缩及巧妙的编码方法,结合安全多方求和技术,发挥蒙特卡罗算法的优势,构造了一个安全实用的多方排序协议.该协议保证了解决安全多方排序问题的安全性、有效性、公平性.【期刊名称】《计算机应用与软件》【年(卷),期】2018(035)010【总页数】7页(P305-311)【关键词】安全多方计算;安全多方排序;安全多方求和;计算排序;桶排序【作者】王宁;顾昊旻;郑彤【作者单位】国网河南省电力公司信息通信公司河南郑州450052;安徽继远软件有限公司基础运维分部安徽合肥230088;安徽继远软件有限公司基础运维分部安徽合肥230088【正文语种】中文【中图分类】TP30 引言安全多方计算研究一组互不信任的参与方之间保护隐私的合作计算问题,最早由图灵奖得主姚期智先生于1982年提出[1]。
文献[1]构造了这样一个问题(简称百万富翁问题):两个百万富翁Alice和Bob在街头相遇,其中Alice拥有财富a,Bob拥有财富b。
他们希望在不泄露自身财富信息的前提下比较出他们谁更富有,即两方秘密比较a和b的大小。
此后,出现了很多解决百万富翁问题的安全方案[2-3]。
安全多方排序问题是百万富翁问题(两方秘密比较)的自然推广:假定有n个参与者P1,P2,…,Pn分别拥有隐私秘密x1,x2,…,xn(令X={x1,x2,…,xn}),他们希望在不泄露各自隐私秘密的前提下得到各自秘密在有序序列X′中的位置p(xi),其中X′是X 中n个秘密按从小到大排序的序列。
排序问题是计算机科学领域最为重要并得到广泛研究的核心问题之一,它是求解许多复杂问题的基本构成单元。
同样地,安全多方排序在保护用户隐私的多方协作计算领域有着很重要的应用价值,是很多复杂协议的基础协议。
简易的安全多方计算协议作者:杨阳来源:《硅谷》2011年第10期摘要:罗文俊等利用安全两方和多方矩阵乘积协议,给出解线性方程组和求解矩阵特征值的安全多方矩阵计算协议,两协议频繁使用安全两方矩阵乘积协议,不但协议过程复杂,计算效率也很低。
利用矩阵求和的安全多方计算协议,给出新的解线性方程组的安全多方矩阵计算协议,协议过程简单,计算效率很高。
在某些资源受限的网络环境中,该协议有重要应用。
关键词:密码协议;安全多方计算;矩阵分解;两方矩阵乘积协议中图分类号:TP309 文献标识码 A 文章编号:1671-7597(2011)0520161-010 引言多方安全计算就是拥有秘密输入的多方,希望用各自的秘密输入共同计算一个函数,计算要求每方都能接收到正确的输出(正确性),并且每方只能了解自己的输出(保密性)。
研究特殊的多方安全计算问题,已经成为多方安全计算研究的一个新的重要内容,美国普渡大学的Du博士在他的学位论文[1-4]中,已经研究、总结了一些值得研究的两方安全计算问题,如矩阵特征值与特征向量、方差分析、矩阵乘积和矩阵分解等.同时,Du博士指出如何把两方安全计算推广到多方安全计算,如何把半诚实模型推广到恶意模型不是一件容易的工作,但却是一个非常有意义的工作。
罗文俊等在文献[5]中研究了在科学计算方向上Du博士提出的矩阵乘积的安全多方计算问题,并应用该协议给出了解线性方程组,计算特征值问题的安全多方计算协议,两协议频繁的使用了安全两方矩阵乘积协议,不但协议本身较为复杂,计算效率也很低。
安全多方求和协议[9]是安全多方计算的一个基本操作,它同样适用于矩阵的求和,本文利用安全多方矩阵求和协议,给出了简单高效的解线性方程组、求特征值和特征向量的安全多方计算协议。
1 准备知识1.1 相关概念保密性(privacy)。
任何一方都只能了解自己的信息。
在实际过程中,其他方的信息只能从自己的输入和输出中去推得。
半诚实方(semi-honest party)。
多方安全计算协议甲方(数据提供方):公司名称:________________________________________________________________法定代表人:______________________________________________________________地址:____________________________________________________________________联系方式:_______________________________________________________________乙方(计算方):公司名称:________________________________________________________________法定代表人:______________________________________________________________地址:____________________________________________________________________联系方式:_______________________________________________________________鉴于甲方和乙方希望通过多方安全计算技术共享数据资源并进行数据分析与计算,确保数据的隐私与安全,双方在平等自愿的基础上,达成如下协议:一、协议目的1.1本协议旨在通过多方安全计算技术(Secure Multi-Party Computation,SMPC),在保护数据隐私和安全的前提下,推动双方在数据共享和计算合作方面的深入发展。
1.2本协议的主要目的是为甲方提供数据,乙方在甲方的授权下进行计算,并且在保障各方数据安全的基础上,达成共识结果。
二、服务内容2.1乙方提供多方安全计算技术服务,确保计算过程中的数据不会被任何一方单独访问或泄露。
安全可靠的多方计算协议研究随着信息技术的快速发展和互联网的广泛应用,大量敏感信息的存储和处理已经成为了人们生活和工作中的必须要面对的挑战。
无论是金融、医疗、国防等行业,都需要处理大量敏感信息,因此需要在信息处理的过程中保证数据的安全性和可靠性。
而多方计算(MPC)技术在这方面具有优异的优势,成为了数据处理中的重要技术之一。
多方计算技术的核心是多个参与者计算同一结果的问题,但是在不暴露各自私有信息的前提下,即使部分计算者是不可信的或者存在风险,也可以达到正确的计算结果。
在现实场景中,各个参与者可能分别拥有不同的计算资源,并且有可能存在恶意的攻击行为,因此如何在这样的背景下实现安全的多方计算,是亟待解决的研究问题。
近年来,学术界和工业界对于多方计算协议的研究和发展成果众多。
其中最重要的成果是差异隐私(Differential Privacy)技术,该技术能够在保证数据隐私的同时,对外提供可信的分析结果。
在具体实现中,一些先进的协议已经被提出,例如Garble Circuit、MPC协议等等。
Garble Circuit协议是一种基于加密算法和逻辑电路相结合的协议,可以构建一个保证安全的计算环境,对于各类应用场景和各种数据类型都有适配性。
而MPC协议是一种基于密码学的协议,其中常用的协议有基于秘密共享的Shamir's SecretSharing(SSS)协议、基于同态加密的Paillier、Boneh-Franklin以及基于加密算法执行的Yao's Garbled Circuit等协议。
这些协议的实现,既能保证数据的秘密性,也能保证不同参与者计算结果的可靠性,并且能够在不同的场景下使用。
当前,多方计算技术已经得到了广泛的应用。
例如,在金融领域中,多方计算技术可以帮助银行在不暴露客户隐私的前提下,共享客户资产和交易信息,以提高金融机构的风险管理能力;在医疗领域中,多方计算技术可以协助医疗机构和研究团队在不暴露病患隐私信息的前提下,共享医学数据并开展相关研究。
安全多⽅计算安全多⽅计算是解决在⼀个互不信任的多⽤户⽹络中,两个或多个⽤户能够在不泄漏各⾃私有输⼊信息时,协同合作执⾏某项计算任务的问题。
它在密码学中拥有相当重要的地位,是电⼦选举、门限签名以及电⼦拍卖等诸多应⽤得以实施的密码学基础。
研究现状安全多⽅计算(secure multi-party computation,简称 SMPC)是由姚期智于 1982 年为解决百万富翁问题提出,⽽后经过Goldreich、Micali 和 Wigderson 等⼈的不断的研究给出了实质性的描述,称为 GMW 协议。
现实中考虑到协议的实际应⽤和协议参与者的⾏为,对于协议安全问题,主要研究半诚实模型和恶意模型两种情况,通常以半诚实模型为主研究⾼效的 SMPC 协议。
Garg S 等⼈在半诚实的情况下,讨论了构建两轮 SMPC 协议的⼏个扩展,在两轮不经意传输(OT)条件下,给出了新的两轮多⽅安全计算(SMPC)协议。
证明了任何 SMPC 协议都可以在保持其正确性和安全性的同时转换成符合标准的协议。
Benhamouda F等⼈提出了基于半诚实模型的 OT 协议的轮⾼效或者是轮优化的多⽅计算协议的构造。
并证明了⽤于构造 SMPC 协议的乱码交互电路可以⽤ OT 实现。
在半诚实条件下对 SMPC 协议的讨论都基于混淆交互电路的框架。
并在有限轮数下,对 k 轮半诚实 OT 和 k 轮恶意通⽤可组合协议进⾏了分析。
以上协议只对半诚实模型下的安全问题进⾏了较为详细的研究,但没有对恶意模型下的安全问题深⼊的描述,⽽ SPDZ 协议主要探讨了在恶意模型下的安全问题,SPDZ 表⽰预处理模型中基于某种同态加密的多⽅计算⽅案,并且是最为实⽤的 SMPC 协议。
Keller M等⼈提出的⽅案在存在恶意对⼿的情况下,需要保证各⽅确实加密了他们应该加密的信息。
Spini G等⼈重新讨论了基于 SPDZ 多⽅计算协议,在不诚实者存在的情况下安全地计算⼀个函数。