第十二章 安全多方计算
安全多方计算定义
安全多方计算定义安全多方计算是一种重要的密码学技术,旨在保护参与者的隐私和数据安全。
它通过将数据分散存储在多个节点上,并使用密钥和协议来确保数据的安全性和机密性。
本文将从多方计算的概念、安全性、应用领域和发展趋势等方面进行介绍。
一、多方计算的概念多方计算(Secure Multi-Party Computation,简称SMPC)是一种分布式计算模型,它允许多个参与者在不相互信任的情况下进行计算,同时保护各方的隐私和数据安全。
在多方计算中,参与者可以是个体、组织或机构,它们通过交换加密后的数据和使用密码学协议来进行计算,从而实现数据的安全处理和共享。
二、安全多方计算的安全性安全多方计算的核心目标是保护参与者的隐私和数据安全。
它通过以下几个方面来实现安全性:1. 零知识证明:参与者可以通过零知识证明来验证自己的计算结果的正确性,同时不泄露任何关于计算数据的信息。
2. 加密技术:安全多方计算使用加密技术来保护数据的机密性,参与者只能获得加密后的数据,无法获取原始数据。
3. 分布式存储:数据在多个节点上分散存储,即使某个节点被攻击或泄露,也不会导致数据的完全暴露。
4. 密钥管理:安全多方计算使用密钥来对数据进行加密和解密,密钥的管理和分发需要具备高度的安全性。
三、安全多方计算的应用领域安全多方计算具有广泛的应用领域,主要包括以下几个方面:1. 保护个人隐私:在数据共享和处理过程中,参与者可以通过安全多方计算来保护自己的隐私,确保个人敏感信息不被泄露。
2. 保护商业机密:安全多方计算可以帮助企业在合作和竞争中保护商业机密,确保重要数据的安全性和机密性。
3. 数据分析和挖掘:安全多方计算可以实现多个数据拥有者之间的数据共享和分析,从而发掘数据中的有价值的信息,而不需要将数据集中在一处。
4. 云计算安全:安全多方计算可以解决云计算中的数据隐私和安全问题,保护用户数据在云端的安全性。
四、安全多方计算的发展趋势随着数据的不断增长和云计算的普及,安全多方计算作为一种保护数据隐私和安全的重要技术,也在不断发展和完善。
什么是安全多方计算
什么是安全多方计算?在现实生活中,我们时常需要通过挖掘数据来辅助生产活动、利用有用数据信息开展工作,而在进行数据信息深挖的同时,隐私保护问题日渐引起了人们的关注和忧虑,如何在保护隐私的前提下进行数据信息共享应用已经成为一个亟需解决的问题,安全多方计算则为解决上述问题提供了一种可行性方案。
一、什么是安全多方计算?下面就用具体案例来为大家解释,当两个制造厂商因为资源互补决定合作一个项目,从各自利益角度出发,他们都想保证自己数据信息不被对方利用,也不想第三方参与进来,也就是说,真正可信的合作环境在这种要求下无法搭建起来。
于是问题就来了,他们应如何实现在保护数据私密性的前提下共同合作?这就是典型的安全多方计算问题。
1、多个参与方一起进行协同计算,参与方互不信任。
2、而且他们都不想其他方知道自己的输入信息。
3、即使有参与方被恶意攻击,计算结果依然不受影响。
安全多方计算起源于1982年姚期智的百万富翁问题,是解决一组互不信任的参与方之间保护隐私的协同计算问题,要确保输入的独立性,计算的正确性,同时不泄露各输入值给参与计算的其他成员。
其主要研究问题是针对无可信第三方的情况下,如何安全地计算一个约定函数的问题。
一个安多方模型由4个方面组成:参与方、安全性定义、通信网模型、信息论安全与密码安全。
二、安全多方计算的实际应用安全多方计算是电子选举、门限签名以及电子拍卖等诸多应用得以实施的密码学基础,具有丰富的研究价值和广阔的应用前景。
涵盖范围包括认证协议、在线支付协议、公平交换协议、拍卖协议、选举协议、密文数据库查询与统计等等。
1、电子选举协议。
在电子选举中,完整计票、选票保密、投票过程可证实等特殊要求可通过安全多方计算来实现,这也是典型的安全多方计算应用场景。
2、医疗领域。
由于医学研究需要经过严谨的临床试验和专家论证,医院间时常需要共享一些医疗信息,但在此过程中,又想确保供研究的单个患者的隐私不被泄露。
通过安全多方计算,可进行双盲设计,以此维护医疗数据的真实可信。
【密码学】安全多方计算
【密码学】安全多⽅计算历史背景1. A.C. Yao于1982年⾸次提出安全多⽅计算的概念,其主要研究在私有信息不被泄漏的前提下,多个互不信赖的参与者如何协作进⾏计算2. Goldwasser:“安全多⽅计算所处的地位就如同公钥密码学10年前所处的地位⼀样重要,它是计算科学⼀个极其重要的⼯具,⽽实际应⽤才刚起步。
”3. 1987年,Goldreich等⼈设计出通⽤的安全多⽅计算协议解决普遍存在的安全多⽅计算问题4. 1998年,Goldreich将安全多⽅计算进⾏了较为全⾯的概括。
但使⽤通⽤协议会是的协议的复杂度较⾼,效率较低。
因此他指出安全多⽅计算应该具体问题具体分析,设计特定的安全多⽅计算协议5. 2001年,Du等⼈在前⼈⼯作的基础上,更深⼊地研究了包括科学计算、集合计算、统计分析等具体的安全多⽅计算问题及其应⽤安全多⽅计算的场景很多,只要是⽤户需要保护隐私的合作计算都能划归于此。
即安全多⽅计算解决的是多个互不信任的参与者在⼀个分布式环境中,分别输⼊⾃⼰的保密信息进⾏写作计算,进⽽得到各⾃所需要的正确结果,并在计算结束后每个参与⽅没有把⾃⼰的私有信息泄漏给其他⽅。
它是⽬前国际密码学界的研究热点之⼀。
问题引⼊1. 甲化⼯⼚拥有含有A,B,C三种成分的物质η1,η2,⼄化⼯⼚含有A,B,C三种成分的物质η1,η3。
现在甲、⼄两化⼯⼚处于⾃⼰的利益考虑,想要在互相不泄露⾃⼰私有信息的情况下,判断能不能⽤η2,η3的混合物来代替η12. ⽼板拖⽋⼯⼈⼯资。
假设⽼板每个⽉固定⽇期回数次公司,⽽⼯⼈们会根据⽼板回公司的时间要⼯资。
对⽼板来说,他不想让⼯⼈知道每个⽉⼏号回公司,对⼯⼈来说,也不想让⽼板知道他们会在⼏号去公司。
这种情况下,⼯⼈们如何能顺利地要到⾃⼰被拖⽋的⼯资?分析:问题⼀,能不能替换就是看最终ABC三种成分是不是⼀样的。
假设以A,B,C为坐标轴画三维坐标系,η1,η2,η3分别是这个三维坐标系中的点。
安全多方计算的概念
安全多方计算的概念
安全多方计算(Secure Multi-Party Computation,SMC)是解决一组互不信任的参与方之间保护隐私的协同计算问题,SMC要确保输入的独立性、计算的正确性、去中心化等特征,同时不泄露各输入值给参与计算的其他成员。
主要是针对无可信第三方的情况下,如何安全地计算一个约定函数的问题,同时要求每个参与主体除了计算结果外不能得到其他实体任何的输入信息。
安全多方计算在电子选举、电子投票、电子拍卖、秘密共享、门限签名等场景中有着重要的作用。
安全多方计算的特点是什么呢
去中心化:多方安全计算各个数据的输入方,在不泄露各自数据的情况下,完成相应的计算,各参与方地位平等,不存在任何有特权的参与方;这个原理与区块链的理念比较类似,避免了大型的中心化节点,也就防止了数据被几家巨头所垄断,而数据的拥有者成为了数据交换的主体;
计算高效:过去复杂的密码学策略,并不适用于海量数据,但随着近年来越来越多的人参与进来,提升了相关算法的效率,使得一些算法的复杂度能够达到线性,已经能够适应当今大数据的海量计算需求;
输入隐私:多方安全计算包括了很多种类型的加密协议和算法,基于不同的加密学原理而得到,理论上,安全性与我们熟悉的加密算法,没有什么不同。
安全多方计算阅读笔记
《安全多方计算》阅读笔记一、安全多方计算概述与背景随着信息技术的飞速发展,大数据、云计算和人工智能等技术的广泛应用带来了数据处理的巨大变革。
在这样的时代背景下,多方的数据合作与处理变得越来越普遍。
数据合作中涉及到的隐私泄露、信息安全等问题也日益突出。
为了解决这些问题,安全多方计算(Secure Multiparty Computation,简称MPC)技术应运而生。
安全多方计算是一种密码学技术,它允许多个互不信任的参与者在无需透露各自私有输入信息的情况下,共同进行某种计算并得到计算结果。
它提供了强大的隐私保护和安全保障,确保参与者的数据在合作处理过程中不被泄露或被滥用。
这种技术的出现,为大数据时代下的隐私保护和信息安全管理提供了新的解决方案。
安全多方计算的背景在于信息化社会中数据价值的不断挖掘和信息安全需求的日益增长。
随着各行各业数据的日益庞大和复杂,数据的共享与合作成为提升数据处理效率和价值的重要手段。
在实际的数据合作过程中,如何保证数据的隐私性和安全性成为了一个巨大的挑战。
安全多方计算技术的出现,正是为了解决这一挑战,为数据的合作处理提供安全可信的环境。
它不仅在理论上满足了信息安全领域的研究需求,也在实际应用中展现出了广阔的前景。
在金融、医疗、社交网络等领域,安全多方计算都有着广泛的应用前景。
安全多方计算作为一种新兴的技术手段,对于保障数据安全、促进数据的共享与合作具有重要的意义。
在接下来的阅读中,我们将深入了解安全多方计算的基本原理、技术方法和应用实例,以期更好地理解和应用这一技术。
1. 计算机科学与技术领域的发展随着信息技术的飞速发展,计算机科学和技术领域日新月异,特别是在数据处理和分析方面取得了显著进步。
计算机科学与技术领域的发展为安全多方计算提供了坚实的基础和广阔的前景。
安全多方计算作为密码学的一个分支,在这种背景下逐渐崭露头角。
随着云计算、物联网、大数据等技术的普及,数据的安全处理和交换变得越来越重要。
安全多方计算
安全多方计算安全多方计算(Secure Multi-Party Computation,SMPC)是一种在多方参与的情况下进行计算的方法,其特点是在不泄露私密信息的前提下,完成涉及多方数据的计算过程。
这种计算方式在信息安全领域有着重要的应用,可以有效保护个体隐私,同时实现数据共享和计算。
本文将对安全多方计算的原理、应用和发展进行探讨。
首先,安全多方计算的原理是基于密码学的技术实现的。
在多方参与的情况下,每个参与方都会将自己的私密信息进行加密,并通过协议进行安全的通信和计算。
这样,即使有部分参与方是不可信的,也不会泄露其他参与方的私密信息。
安全多方计算的核心在于保护数据隐私,确保计算结果的正确性和安全性。
其次,安全多方计算在实际应用中有着广泛的需求和应用场景。
比如在医疗领域,不同医院之间需要共享患者的医疗数据进行研究和诊断,但又需要保护患者的隐私信息;在金融领域,不同银行之间需要进行风险评估和信用评级,但又需要保护客户的财务数据。
安全多方计算可以有效解决这些场景下的数据共享和计算问题,为各行各业提供了更加安全和可靠的数据处理方式。
最后,安全多方计算在近年来得到了广泛的关注和研究,其发展势头迅猛。
随着计算机技术和密码学技术的不断进步,安全多方计算的效率和安全性得到了大幅提升,各种新的安全多方计算协议和算法不断涌现。
同时,各大科研机构和企业也在积极投入资源进行安全多方计算的研究和应用。
可以预见,安全多方计算将在未来得到更广泛的应用,并为信息安全领域带来新的突破和进步。
综上所述,安全多方计算作为一种重要的信息安全技术,具有广泛的应用前景和发展空间。
通过对其原理、应用和发展的深入了解,可以更好地推动安全多方计算技术的发展和应用,为信息安全领域的发展贡献力量。
希望本文能够为读者提供一些有益的信息和思路,引起对安全多方计算的关注和思考。
安全多方计算技术的原理与应用
安全多方计算技术的原理与应用安全多方计算(Secure Multiparty Computation,简称SMC)是一种保障数据隐私和安全的计算方法,它可以实现在多方参与的情况下,对数据进行计算和分析,同时不泄露数据的具体内容。
SMC技术可以在保持数据隐私的前提下,实现数据协同分析、隐私保护数据挖掘等应用,具有重要的理论价值和实际应用意义。
一、SMC技术的基本原理SMC技术的基本原理是通过多方之间进行安全协议运算,使得每个参与方只能获得计算结果,而无法获取其他参与方的私有输入。
具体而言,SMC技术采用了以下核心技术手段:1.1. 安全协议安全协议是实现SMC技术的重要手段之一,它包括了协议设计、协议分析和协议实现等多个方面。
安全协议可以保证在计算过程中不泄露私密信息,并且可以检测和防止各种攻击手段,如拜占庭故障等。
1.2. 零知识证明零知识证明是SMC技术中常用的密码学工具,它可以证明某个主体拥有某种知识,而无需向其他主体透露具体的知识内容。
在SMC中,零知识证明可用于验证参与方的输入正确性,同时保护其隐私。
1.3. 安全多方计算协议安全多方计算协议是实现SMC技术的实质性方法,它可以实现在多方之间进行保密计算,同时保护每个参与方的输入和输出。
常见的安全多方计算协议包括秘密共享、加密算法和特殊的比特操作等。
二、SMC技术的应用领域与案例SMC技术具有广泛的应用领域,可以应用于数据隐私保护、安全云计算、隐私保护数据挖掘等多个领域。
以下介绍几个具体的应用案例:2.1. 数据隐私保护在数据隐私保护方面,SMC技术可以实现多方之间的数据合作计算,而无需泄露具体的数据内容。
例如,在医疗领域,多个医院可以通过SMC技术对医院之间的疾病数据进行统计分析,而无需共享敏感的病人信息。
2.2. 安全云计算在云计算方面,SMC技术可以实现在云服务提供商和用户之间进行安全计算,保护用户数据的隐私。
例如,用户可以通过SMC技术将加密的数据上传到云服务器,并在云服务器上进行安全计算,从而保护用户数据的隐私。
第十二章安全多方计算
安全多方计算:平均工资问题
平均工资问题的一种有效解决方案
比特承诺可以解决“Alice谎报”缺陷
运用比特承诺协议让Alice向Bob传送他的随机数 协议结束后,Bob可以获知Alice的工资
yky_wenfeng@
安全多方计算:终身伴侣问题
如果未看见的硬币与她看到的两枚硬币相同
▪ 说“不同”的密码学家是付账者
如果未看见的硬币与她看到的两枚硬币不同
▪ 说“相同”的密码学家是付账者
yky_wenfeng@
安全多方计算:密码学家晚餐问题
假设密码学家Alice试图弄清其他哪个密码学家在付账
无论如何Alice都需要知道Bob与Carol抛掷硬币的结果
在不泄露市场地区位置信息的情况下知道市场是否有重叠
yky_wenfeng@
安全多方计算:其它几个经典应用场景
示例三
两个金融组织计划为了共同的利益决定互相合作一个项目 每个组织都想自己的需求获得满足
他们的需求都是他们自己专有的数据,没人愿意透露给其它方,甚至是 “信任”的第三方
yky_wenfeng@
安全多方计算:平均工资问题
平均工资问题的一种有效解决方案
Alice生成一个随机数,将其与自己的工资相加,用Bob的公钥加密发 送给Bob
Bob用自己的私钥解密,加进自己的工资,然后用Carol的公钥加密发 送给Carol
Carol用自己的私钥解密,加进自己的工资,然后用Dave的公钥加密 发送给Dave
Coin(2)
Crypt(1)
Crypt(2)
Coin(1)
yky_wenfeng@
安全多方计算:密码学家晚餐问题
“晚餐问题”的延伸
安全多方计算和联邦计算
安全多方计算和联邦计算## 一、安全多方计算安全多方计算(Secure Multi-Party Computation,简称SMC)是一种安全的计算技术,它可以让多个参与者在不披露他们的数据的情况下,安全地进行计算。
它可以让多方参与者在不披露他们的数据的情况下,安全地进行计算,从而解决了传统计算中的隐私泄露问题。
安全多方计算的基本原理是,参与者将自己的数据分割成多个部分,然后将这些部分分发给其他参与者,每个参与者只接收到一部分数据,而不知道其他参与者接收到的数据。
然后,参与者们使用安全的算法,将自己接收到的数据与其他参与者接收到的数据进行计算,最终得到最终的结果。
安全多方计算的安全性取决于它的安全算法,它的安全算法可以分为两类:密码学算法和数论算法。
密码学算法是基于密码学原理的,它可以保证参与者之间的通信安全,以及参与者之间的数据安全;而数论算法是基于数论原理的,它可以保证参与者之间的计算安全。
## 二、联邦计算联邦计算(Federated Computing)是一种分布式计算技术,它可以让多个参与者在不披露他们的数据的情况下,安全地进行计算。
它可以让多方参与者在不披露他们的数据的情况下,安全地进行计算,从而解决了传统计算中的隐私泄露问题。
联邦计算的基本原理是,参与者将自己的数据分割成多个部分,然后将这些部分分发给其他参与者,每个参与者只接收到一部分数据,而不知道其他参与者接收到的数据。
然后,参与者们使用分布式算法,将自己接收到的数据与其他参与者接收到的数据进行计算,最终得到最终的结果。
联邦计算的安全性取决于它的安全算法,它的安全算法可以分为两类:密码学算法和分布式算法。
密码学算法是基于密码学原理的,它可以保证参与者之间的通信安全,以及参与者之间的数据安全;而分布式算法是基于分布式原理的,它可以保证参与者之间的计算安全。
## 三、安全多方计算与联邦计算的比较安全多方计算和联邦计算都是安全的计算技术,它们都可以让多个参与者在不披露他们的数据的情况下,安全地进行计算,从而解决了传统计算中的隐私泄露问题。
应用密码学安全多方计算介绍课件
应用领域拓展
A
金融领域:安全多方计算在金融领域的应用,如支付、信贷、保险等
B
医疗领域:安全多方计算在医疗领域的应用,如医疗数据共享、医疗数据分析等
C
物联网领域:安全多方计算在物联网领域的应用,如设备身份认证、数据安全传输等
D
政府领域:安全多方计算在政府领域的应用,如政务数据共享、电子政务等
法律法规的完善
02
安全多方计算通过密码学技术,如秘密共享、零知识证明、同态加密等,实现数据的安全保护。
03
安全多方计算在许多领域都有广泛的应用,如金融、医疗、物联网等。
04
安全多方计算的应用场景
金融领域:多方参与金融交易,保护数据安全和隐私
医疗领域:多方参与医疗数据共享,保护患者隐私和医疗数据安全
政府领域:多方参与政府数据共享,保护政府数据和公民隐私安全
应用密码学安全多方计算介绍课件
演讲人
01.
02.
03.
04.
目录
安全多方计算的概念
安全多方计算的技术原理
安全多方计算的应用案例
安全多方计算的发展趋势
安全多方计算的概念
安全多方计算的定义
安全多方计算是一种允许多个参与方在保护各自数据隐私的前提下,共同完成特定计算任务的技术。
01
安全多方计算旨在解决传统计算中数据共享带来的隐私泄露问题。
2
设备访问控制:限制未经授权的访问和操作
3
隐私保护:保护用户隐私和数据安全,防止泄露和滥用
4
安全多方计算的发展趋势
技术挑战与突破
隐私保护:如何在多方计算中保护数据隐私,防止信息泄露
01
计算效率:如何提高多方计算的效率,降低计算成本
应用密码学 12 安全多方计算
12.3 一般安全多方计算协议
• 目录
12.3.1
基于可验证秘密共享的SMPC协议
12.3.2 基于不经意传输的SMPC协议
12.3.3
12.3.4
基于同态加密的SMPC协议
基于Mix-Match的SMPC协议
12.3.2 基于不经意传输的SMPC协议
基于OT的安全多方计算协议
• 两方计算情形
xy : 这时需要用到OT 协议.A随机选择za F2 , 令 d1 za xa ya , d 2 z a xa d 3 z a xa 1 ya , d 4
ya 1 , z a xa 1 ya
如果能找到一个双方都信任的第三方,则问题很容易解决。
那么如何在不借助任何第三方的情况下比较他们财富的大小?
12.1 安全多方计算问题
问题提出
安全多方计算最早由A. C. Yao(姚期智)(2000年图灵奖获得者)在
1982年提出,他通过“姚氏百万富翁问题”提出安全两方计算问题。
12.1 安全多方计算问题
两方计算协议就用到了OT协议。
12.3.2 基于不经意传输的SMPC协议
不经意传输协议
通常一个OT 协议有两个参与者,发送方S 和接收方R. S 掌握n个秘密m1 , m2 , , mn , R掌握一个整数i 1, , n . 一个OT 协议要满足下面的要求:
1 如果S 和R忠实执行协议,那么最后R得到秘密mi , 可以把R掌握的i理解
②每个参与者任取t 1个子秘密,并验证其承诺yi = H i , i . 如果正确,则利用Lagrange插值公式由t 1个点构造 t次多项式f x 和r x .
安全多方计算技术在金融领域的应用
安全多方计算技术在金融领域的应用随着金融行业的发展和互联网技术的不断进步,金融数据的安全性和隐私保护越来越受到重视。
在金融领域,安全多方计算技术(Secure Multi-party Computation,简称SMC)因其强大的数据保护能力而备受关注。
本文将探讨安全多方计算技术在金融领域的应用。
一、安全多方计算技术简介安全多方计算技术是一种保护数据隐私的方法,它允许多个参与方在不公开私密数据的情况下进行计算,并最终获得计算结果。
这项技术通过使用密码学协议和分布式系统架构,确保在计算过程中没有任何一方能够获取到其他参与方的原始输入数据。
二、数据隐私保护在金融领域的重要性在金融领域,数据隐私保护是至关重要的。
金融机构处理各种敏感数据,包括个人身份信息、财务数据等等,如果这些数据泄露或被滥用,将对客户和机构本身造成巨大的损失。
因此,金融行业需要寻求一种安全可靠的方法,来保护数据隐私。
三、安全多方计算技术在金融领域的应用案例1. 交易数据分析金融机构需要对客户的交易数据进行分析,以识别潜在的欺诈行为或洗钱活动。
然而,由于数据隐私的限制,金融机构无法直接共享客户的敏感数据。
通过使用安全多方计算技术,各金融机构可以在不彼此暴露交易数据的情况下进行协同分析,以发现潜在的风险。
2. 风险评估金融行业在进行风险评估时,通常需要访问不同金融机构和相关方的数据。
然而,由于各方之间的数据隔离和隐私保护,数据共享变得非常困难。
通过使用安全多方计算技术,各方可以在不公开原始数据的情况下,进行风险模型的协同计算,确保数据隐私的同时,获得准确的风险评估结果。
3. 私密数据共享金融机构之间需要共享一些敏感数据,比如黑名单信息、欺诈行为等等。
然而,出于数据隐私和竞争等原因,这种数据共享往往面临困境。
通过使用安全多方计算技术,各机构可以在不泄露自身私密数据的情况下,实现黑名单信息的共享,提高整个金融体系的风险防范能力。
四、安全多方计算技术的挑战与展望虽然安全多方计算技术在金融领域的应用前景广阔,但其本身也存在一些挑战。
安全多方计算定义
安全多方计算定义
安全多方计算是一种利用多方之间的相互信任关系来实现安全计算的技术。
它允许多个机构,如企业、政府机构、金融机构和大学,在不直接发布和传递机密数据的情况下共同运行一个计算。
例如,如果一家公司拥有客户的金融数据,而另一家公司有客户的购买记录,两家公司可以通过安全多方计算来联合分析这两组数据,而不会发布任何机密的数据。
安全多方计算是一种“安全计算”技术,可以为安全计算的原则添加独特的技术,可以支持用户之间低保密的混合计算。
它主要包括加密数据处理、同态加密、数据划分/聚集和认证/授权等。
安全多方计算技术可以保证客户的私有数据在多方间传递的过程中不被泄露,从而改善保密性和安全性。
安全多方计算技术也可以作为一种改善安全性和数据隐私的方法。
它可以帮助企业预防未经许可的访问或修改私有数据,保护客户的隐私,并提供认证、授权和审计功能。
- 1 -。
多方安全计算是什么?浅谈对多方安全计算的理解
多方安全计算相关说明一、多方安全计算的含义多方安全计算与中心是相互对立的两个概念,中心是指所有的信息资源都掌握于某一方所有,它可以悄无声息地进行某个操作,而不被其余人察觉。
在SaaS云平台中,平台服务器就是一个中心,它存储着用户所有的资源,包括本应由用户本人持有的私钥、签名图样、合同文档等,可以在不经过用户知晓的情况下,任意调取用户的私钥以用户的名义进行合同的签署。
理解多方安全计算,首先要弄清楚“多方”及“安全”的概念,多方是指实施一个行为必须由多个参与人共同完成,安全是指行为必须由用户本人实施,其余人没有办法代替他完成。
通过该技术,用户可以安全事实施某项行为,不必担心他人冒充、代替甚至跨越自己实施某个行为,实现用户一直追求的安全。
二、多方安全计算及中心化的形象理解以及各自效果图1 中心化形象示意图通俗来说,中心化相当于一个装满了用户物品的仓库,而管理者管理控制仓库内的任何物品。
针对房间内的甲物品、乙物品或者其他物件分别跟物品的所有者甲、乙商量好进入房间取回物品各自的暗号,暗号验证成功后,管理者将物品递给用户。
比如,管理者与甲约定好,若甲前来取回甲物品,需敲门三声后大喊“芝麻开门”,验证成功后,管理者将门打开并将甲物品交回至甲处。
但,取出甲物品这件事情并非只有甲可以做到,管理者本身在仓库内,他完全有能力监守自盗;又或者是“芝麻开门”这个暗语被他人知道,管理者不明所以将甲物品交给了其他人……存在上述可能性,将无法保证甲物品的顺利取出,这套管理模式存在风险性就不言而喻了。
此前发生的“中信银行事件”,就是中心化管理所滋生的弊端,2020年5月,中信银行发布道歉信,称其内部员工违规盗取并泄露客户信息,引发网友们的高度关注。
银行这样的权威机构都存在私自窃取信息的现象,原因就在于传统的中心化存储方式,所有数据都由几大数据中心巨头统一管理,所以,当个人数据被私自查看,用户却一无所知。
图2 多方计算形象示意图而多方计算,可以参考图2来理解,仓库中仍然存有甲物品、乙物品、丙物品,但是仓库里并没有任何人,钥匙并不是存储在某个人身上,而是由双方各自持有一部分,只有两个人共同完成了钥匙的解锁过程才能够打开库门,这在很大程度上能够避免管理者监守自盗情况的发生,也在无形中对保管人甲起到了一定的约束作用,甲必须妥善保管所持有的部分钥匙。
安全多方计算与数据隐私实现隐私保护的计算
安全多方计算与数据隐私实现隐私保护的计算数据隐私保护一直是计算领域中的重要议题。
随着互联网及大数据时代的到来,个人信息的泄露和滥用问题日益突出,如何在数据共享和计算过程中保护用户的隐私成为一个急需解决的问题。
安全多方计算(Secure Multi-Party Computation, SMPC)作为一种重要的隐私保护计算模型,通过在多方之间共同计算,并在不泄露私密输入的情况下获得计算结果,成为了保护数据隐私的一种有效手段。
一、安全多方计算的原理与实现安全多方计算是一种目标是保护参与者隐私的计算模型。
它的基本原理是将参与者的输入转化为密码学形式,并在密码学的保护下在不泄露原始输入的情况下进行计算。
安全多方计算通过密码学协议和算法实现,其中主要的密码学技术包括零知识证明、同态加密、秘密共享等。
在安全多方计算中,参与者可以分为两类:有限理性参与者和恶意参与者。
有限理性参与者遵循协议并且诚实地执行计算,而恶意参与者可能会试图获取其他参与者的隐私信息。
为了应对这一问题,安全多方计算采用了一系列的安全机制,如可验证计算、通信保密、拜占庭容错等。
二、数据隐私保护的计算方法1. 同态加密技术同态加密是一种重要的密码学技术,它可以在不解密密文的情况下进行计算。
利用同态加密,参与者可以将敏感数据加密后传输给其他参与者,其他参与者可以在密文的基础上进行计算,并将结果返回给数据所有者,最终获得计算结果。
同态加密技术有效保护了数据的隐私,同时实现了计算的功能。
2. 安全多方计算协议安全多方计算协议是实现安全多方计算的核心。
根据参与者之间的通信方式和计算顺序,可以将安全多方计算协议分为两类:并行协议和串行协议。
并行协议允许多个计算同时进行,而串行协议需要等待前一轮计算结果才能进行下一轮的计算。
根据具体的应用场景和需求,可以选择合适的安全多方计算协议来实现数据隐私的计算。
三、安全多方计算的应用安全多方计算在许多领域都有着广泛的应用。
第十二章安全多方计算
Crypt(1)
Crypt(2)
Coin(1)
第十二章安全多方计算
安全多方计算:密码学家晚餐问题
o “晚餐问题”的延伸
n 两个密码学家的“晚餐问题”协议
o 他们会知道谁付的账 o 旁观者只知道其中某个人付账或者NSA付账,不能精确定位
n 任意数量的密码学家“晚餐问题”协议
o 全部坐成一个圈并在他们中抛掷硬币
安全多方计算:其它几个经典应用场景
o 示例二
n A公司决定扩展在某些地区的市场份额来获取丰厚的回报 n A公司也注意到B公司也在扩展一些地区的市场份额 n 两个公司都不想在相同地区互相竞争
o 信息的泄露可能会导致公司很大的损失
n 比如另一家对手公司知道A和B公司的扩展地区,提前行动占领市场 n 又比如房地产公司知道A和B公司的扩展计划,提前提高当地的房租等等
o Alice、Bob都在寻找终身伴侣——相亲(非诚勿扰、我们约会吧)
n 业务需求(兴趣爱好)
o Alice:KTV、逛街、劲乐团 o Bob:NBA、足球、聚会、宅
n 系统目标
o 对自己的择偶要求难为情——含蓄表达、意会、不表达 o 找一个趣味相投的终身伴侣
第十二章安全多方计算
安全多方计算:终身伴侣问题
第十二章安全多方计算
安全多方计算:密码学家晚餐问题
o “晚餐问题”的应用——匿名消息广播
接无 受条
n 用户把他们自己排进一个逻辑圆圈方件Biblioteka o 构造饭桌不的 可发
n 在一定的时间间隔内,相邻的每对用户对他们之间抛掷硬币 追 送
o 使用一些公正的硬币抛掷协议防止窃听者
n 在每次抛掷之后每个用户说“相同”或“不同”
踪方 性和
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
有留言,则配对成功
安全多方计算:终身伴侣问题 终身伴侣问题
终身伴侣问题的一种有效解决方案
Bob可以进行“选择明文攻击”
可以HASH一般的择偶要求 拨打所得的电话号码,以窃听留言
只有在不可能得到足够多的明文消息的情况下该协议安全
安全多方计算:其它几个经典应用场景 其它几个经典应用场景
场景描述
Alice、Bob都在寻找终身伴侣——相亲 非诚勿扰、我们约会吧 相亲(非诚勿扰 我们约会吧) 相亲 非诚勿扰、
业务需求(兴趣爱好) 业务需求
Alice:KTV、逛街、劲乐团 Bob:NBA、足球、聚会、宅
系统目标
对自己的择偶要求难为情——含蓄表达、意会、不表达 找一个趣味相投的终身伴侣
安全多方计算:终身伴侣问题 终身伴侣问题
示例一
Alice认为自己得了某种遗传疾病,想验证自己的想法 她知道Bob有一个关于疾病的DNA模型的数据库
如果她把自己的DNA样品寄给Bob
Bob可以给出她的DNA的诊断结果 Alice又不想别人知道——这是她的隐私
安全多方计算:其它几个经典应用场景 其它几个经典应用场景
示例二
A公司决定扩展在某些地区的市场份额来获取丰厚的回报 A公司也注意到B公司也在扩展一些地区的市场份额 两个公司都不想在相同地区互相竞争
安全多方计算:平均工资问题 平均工资问题
平均工资问题的一种有效解决方案
Dave用自己的私钥解密,加进自己的工资,然后用Alice的公钥加密发 送给Alice Alice用自己的私钥解密,减去原来的随机数得到工资总和 Alice将工资总和除以人数得到平均工资,宣布结果
协议假定所有的参与者是诚实的, 协议假定所有的参与者是诚实的,如果不诚实则平均工资错误 Alice可以谎报结果(她作为了“名义上”的集成者) 可以谎报结果(她作为了“名义上”的集成者) 可以谎报结果
如果她看见两个不同的硬币
那么另外两个密码学家或者都说“相同”、或者都说“不同”
付账者是最靠近与未看见的硬币不同的那枚硬币的密码学家
如果她看见两个相同的硬币
那么另外两个密码学家一个说“相同而另一个说“不同”
如果未看见的硬币与她看到的两枚硬币相同
说“不同”的密码学家是付账者
如果未看见的硬币与她看到的两枚硬币不同
安全多方计算问题在一个分布网络上计算基于任何输入的任何概率函数
每个输入方在这个分布网络上都拥有一个输入
该分布网络要确保输入的独立性、计算的正确性
除了各自的输入外,不透露其它任何可用于推导其它输入和输出的信息
任意数量的密码学家“晚餐问题” 任意数量的密码学家“晚餐问题”协议
全部坐成一个圈并在他们中抛掷硬币
安全多方计算:密码学家晚餐问题 密码学家晚餐问题
“晚餐问题”的应用——匿名消息广播 晚餐问题”的应用 晚餐问题 匿名消息广播
用户把他们自己排进一个逻辑圆圈
构造饭桌
接 受 方 不 可 追 踪 性
无 条 件 的 发 送 方 和
引入安全因素
其中每个人都知道这个函数的值 除了函数的输出外,没有人知道关于任何其它成员输入的任何事情
安全多方计算:基本概念 基本概念
来自于经典应用场景的启发
安全多方计算的基本特征
两方或多方参与者基于他们各自私密输入的计算 彼此都不想其它方知道自己的输入信息
问题变成了在保护输入数据私密性的前提下如何实现这种计算? 问题变成了在保护输入数据私密性的前提下如何实现这种计算
信息的泄露可能会导致公司很大的损失
比如另一家对手公司知道A和B公司的扩展地区,提前行动占领市场 又比如房地产公司知道A和B公司的扩展计划,提前提高当地的房租等等
在不泄露市场地区位置信息的情况下知道市场是否有重叠
安全多方计算:其它几个经两个金融组织计划为了共同的利益决定互相合作一个项目 每个组织都想自己的需求获得满足
在一定的时间间隔内,相邻的每对用户对他们之间抛掷硬币
使用一些公正的硬币抛掷协议防止窃听者
在每次抛掷之后每个用户说“相同”或“不同”
恶意的参与者不能读出报文,但他能通过在第三步撒谎来破坏系统 恶意的参与者不能读出报文,但他能通过在第三步撒谎来破坏系统 第三步撒谎
安全多方计算:平均工资问题 平均工资问题
系统目标
如何确定三者之一在付账同事又要保护付账者的匿名性?????
安全多方计算:密码学家晚餐问题 密码学家晚餐问题
David Chaum的密码学家晚餐问题 的密码学家晚餐问题
一个简单有效的解决方案
每个密码学家将菜单放置于左边而互相隔离开来
每个人只能看到自己和右边密码学家的结果
每个密码学家在他和右边密码学家之间抛掷一枚硬币 每个密码学家广播她能看到的两枚硬币是同一面还是不同的一面
说“相同”的密码学家是付账者
安全多方计算:密码学家晚餐问题 密码学家晚餐问题
假设密码学家Alice试图弄清其他哪个密码学家在付账 试图弄清其他哪个密码学家在付账 假设密码学家
无论如何Alice都需要知道Bob与Carol抛掷硬币的结果
Crypt(i),Coin(i)分别表示密码学家和掷币结果
Crypt(i) Crypt(i)付款输出 = Coin(i-1) ⊕Coin(i) Coin(i) Crypt(i)没付款输出 = Coin(i-1) ⊕Coin(i) ⊕1
安全多方计算:密码学家晚餐问题 密码学家晚餐问题
Crypt(0)
Coin(0)
Coin(2)
Crypt(1)
Crypt(2)
Coin(1)
安全多方计算:密码学家晚餐问题 密码学家晚餐问题
“晚餐问题”的延伸 晚餐问题” 晚餐问题
两个密码学家的“晚餐问题” 两个密码学家的“晚餐问题”协议
他们会知道谁付的账 旁观者只知道其中某个人付账或者NSA付账,不能精确定位
终身伴侣问题的一种有效解决方案
使用一个单向函数,Alice将她的择偶要求m,HASH得到一个8位数字 的字符串h(m) Alice用这8位数字作为电话号码拨号,并留言
如果电话号码无效,Alice给这个电话号码申请一个单向函数直到她找到 一个与她有相同择偶要求的人
Alice告诉Bob她为她的择偶要求申请一个单向函数的次数 Bob用和Alice相同次数的HASH他的择偶要求
平均工资问题
场景描述
Alice、Bob、Carol和Dave四人在一起组织工作
业务需求
他们想了解平均工资 无仲裁者
系统目标
任何人不想让其他人知道自己的工资
安全多方计算:平均工资问题 平均工资问题
平均工资问题的一种有效解决方案
Alice生成一个随机数,将其与自己的工资相加,用Bob的公钥加密发 送给Bob Bob用自己的私钥解密,加进自己的工资,然后用Carol的公钥加密发 送给Carol Carol用自己的私钥解密,加进自己的工资,然后用Dave的公钥加密 发送给Dave
第十二章 安全多方计算
杨秋伟 湖南大学 计算机与通信学院
安全多方计算:密码学家晚餐问题 密码学家晚餐问题
David Chaum的密码学家晚餐问题 的密码学家晚餐问题
场景描述
三个密码学家(Alice Bob Carol)坐在他们最喜欢的三星级餐馆准备吃晚餐
业务逻辑
侍者通知他们晚餐需匿名支付账单
其中一个密码学家可能正在付账 可能已由美国国家安全局NSA付账 他们彼此尊重匿名付账的权利,但又需要知道是不是NSA在付账
安全多方计算:平均工资问题 平均工资问题
平均工资问题的一种有效解决方案
比特承诺可以解决“ 谎报” 比特承诺可以解决“Alice谎报”缺陷 可以解决 谎报
运用比特承诺协议让Alice向Bob传送他的随机数 协议结束后,Bob可以获知Alice的工资
安全多方计算:终身伴侣问题 终身伴侣问题
终身伴侣问题
如果有一个密码学家付账,则他说相反的结果
判定结果
桌上说“不同”的人数为奇数——某个密码学家在付账 桌上说“不同”的人数为偶数——NSA在付账 如果某个密码学家在付账,另两人不能精确定位到该密码学家
安全多方计算:密码学家晚餐问题 密码学家晚餐问题
假设密码学家Alice试图弄清其他哪个密码学家在付账 试图弄清其他哪个密码学家在付账 假设密码学家
他们的需求都是他们自己专有的数据,没人愿意透露给其它方,甚至是 “信任”的第三方
那么他们如何在保护数据私密性的前提下合作项目呢?
安全多方计算:基本概念 基本概念
多方计算问题
一组参与者希望共同计算某个约定的函数
函数的输入参数有多个
每个参与者提供函数的一个输入
安全多方计算问题( 安全多方计算问题 Secure Multi-party Computation)