文摘
随着信息技术的快速发展,不同组织相互合作共享数据信息,充分利用数据值。不但要保证数据的完整性和私密性,而且协作计算应该进行数据共享的基础。在本文中,为了实现数据安全共享和协同计算的公平,安全数据协作计算方案提出了基于区块链。基于布隆过滤器的一个数据存储查询模型旨在提高数据查询的效率共享。MPC合同是根据具体要求设计的。参与者是理性的,对履行协议和合同鼓励参与者诚实地实现公平的计算。介绍了安全多方计算基于秘密共享。身份和在电子投票投票隐私的问题是解决了。存储扩展的方案进行了分析和讨论,anticollusion、可验证性和隐私。
1。介绍
安全多方计算(SMPC)是一种隐私协作计算,参与者不相互信任,没有信任的第三方。它适用于解决问题的相互合作和共同追求共同利益而不是完整的组织之间的信任。么计算提出了一个安全的党解决”百万富翁问题”在文献[1),延长Goldreich et al。2]。理论上建立了安全多方计算的基本模型。
具体来说,SMPC意味着参与者都有自己的数据通过计算函数 。得到了相应的计算结果, 。在这个计算过程中,计算函数使用 。在理想情况下取代一个受信任的第三方。安全多方计算协议的基本要求是确保的安全计算协议的公平性。然而,一些参与者的计算合起来披露数据信息。常见的共谋攻击可分为两种类型:semihonest参与者(被动攻击):参与者执行计算任务按照协议和攻击者可能会泄露他们的输入数据和计算结果,也就是说,攻击者可以获得数据。恶意的参与者(主动攻击):参与者执行计算任务根据攻击者的请求。它不仅揭示了输入数据和计算结果,攻击者还篡改数据甚至终止协议根据攻击者的意图。
目前,SMPC的研究,文献[3,4)关注如何防止勾结在多方计算,关注anticollusion但不注重隐私保护。同时,在SMPC存在一些问题,如频繁的参与者之间的交互,降低了效率,只有输出的一部分参与者不能实现公平。为了解决上述问题,作品(5,6]关注智能多党合作合同的设计和提出解决方案来解决具体问题,如参与者之间的勾结和合同纠纷。基于比特币网络(7- - - - - -9),一个公平SMPC协议提出了基于惩罚机制。为了解决公平和SMPC鲁棒性问题,BFR-MPC方案(10]。一种激励机制来鼓励各方合作,和那些不合作的经济将受到惩罚。计划是证明了游戏的公平理论。在[11),块分区MapReduce框架中实现数据存储、和同态加密用于直接改善过程的密文和代理reencryption用于数据共享。
为了解决公平和SMPC隐私问题,区块链已成为一种有效和可行的解决方案。它提供了一个可信执行环境SMPC和使用激励机制,以确保计算公平。然而,也有一些问题:(1)SMPC基于比特币网络在实际应用场景有一定的局限性,因为它不能提供图灵完整实现复杂的功能。(2)为了确保SMPC的公平,引入激励机制,但没有深入研究安全数据存储和查询效率。(3)为了确保交易的实时性能计算,有必要提高算法效率提高共识的共识。
针对上述问题,本文结合和SMPC区块链的关键技术。(1)根据计算事务的实际需求,计算合同设计,方便复杂的实际场景。(2)它为用户提供了灵活的数据访问使用布隆过滤器和实现高效和可行的授权访问隐私数据共享。(3)改进的共识算法用于提高一致的共识,让节点的效率很快。SMPC方案基于区块链,秘密共享是防止参与者进行密谋披露的数据信息,从而确保数据的安全。区块链的激励机制促进公平的计算。
本文的其余部分组织如下:在部分2介绍关键技术等秘密共享、数据存储访问控制和共识算法。在第三节介绍系统模型和SMPC算法基于秘密共享协议。在第四节,我们执行安全验证和性能分析建议的体系结构。第五节分析我们的解决方案是如何解决这些问题在实际应用场景。最后,我们的结论第六节。
2。相关工作
在本节中,我们介绍了秘密共享、数据存储访问结构区块链系统,和共识算法(RBFT)用于我们的架构。
2.1。密码共享
沙米尔的密钥共享方案详细描述基于陷阱门(12]。假设有参与者不相互信任但遵守秘密共享协议。协议分为两个过程:秘密分发和重建。
秘密分布:选择一个秘密分享中参与者。每个参与者有一个秘密和一个可核查的公共身份 。参与者随机选择一个多项式 加密自己的秘密 ,在哪里 。发送其他参与者的秘密 。让 ;然后,每个参与者可以计算 。
秘密重建:当参与者恢复秘密谈判 ,一个阈值需要达到,只有这样我们才能重建。假设有 参与者可以计算 ,的秘密通过拉格朗日插值公式。如果参与者的数量小于阈值 ,是不可能得到任何信息 。
2.2。区块链
2.2.1。数据存储访问
Manuskin et al。13)使用分散Ostraka节点块存储容量限制的解决问题,提高了查询效率,而不影响基本一致的安全机制。贾et al。14)提出了一个高效的查询方法ElasticQM区块链存储容量的扩展模型。通过扩展存储结构和改进的搜索算法,提高查询效率。在[15),我们使用布隆过滤器生成关键词索引和证明它是安全的关键字搜索攻击,提高了数据查询效率的基础上减少了数据存储空间链。
在区块链碎片的存储模型中,数据存储区块链。区块链会导致同步所有存储数据块信息,增加共识算法的复杂性和占用大量的存储空间。这导致很大的浪费资源链和数据查询的成本相应增加。该计划结合链上指数和off-chain存储来解决这个问题,块难以储存大量的数据,可以更好的与传统数据库兼容。
计划,out-of-chain数据库存储的所有数据信息数据的所有者。数据所有者提取关键词和使用布隆过滤器生成关键字索引。发出询盘的公钥指定的数据是用来加密数据信息。生成的关键字索引信息存储在索引块,存储键值和相应的存储地址。如果数据发出询盘查询对应的数据,他只需要用自己的私钥解密并获得数据存储位置根据存储地址的值来获得完整的原始数据。具体的过程如图1。
2.2.2。共识的算法
由于区块链的分散的特点,很难达成共识存储节点之间的数据信息,如简单的损失和损害。尽管PBFT算法比其他共识算法具有较高的一致性,其可用性正面临挑战。如果一个节点失败因为失败和需要等待视图转换,很难恢复失败的节点。拜占庭容错冗余(RBFT)算法得到改善PBFT算法(16)有一个完整的灾难恢复机制,确保共识的过程可以改变动态节点恢复当发生数据不一致。与PBFT算法相比,它具有更高的TPS和更低的延迟。方案采用超时机制RBFT视图切换协议,可以有效地识别和处理故障的节点。
RBFT保留原(preprepare,准备和提交)过程PBFT PBFT一样的容错能力。一个重要事务计算和验证链接添加到确保上达成共识的执行事务计算顺序和块验证的结果。具体的过程如图2。
RBFT共识过程步骤如下:(1)交易转发阶段:客户端发送交易任何节点,节点接收并广播到其他节点。(2)Preprepare阶段:事务到主节点包块根据自我界定的超时机制和最大的块大小策略和验证交易。最后,交易信息和验证结果写入消息准备广播。(3)准备阶段:收到主节点发送的消息后,奴隶节点检查当前视图和批号等信息和广播后检查。(4)提交阶段:( )与preprepare消息准备消息验证,结果与验证结果书面preprepare主节点的消息。如果它是一致的,它同意验证和主节点的广播。否则,它改变了观点,宣称在主节点是一个例外。(5)写块:所有节点接收写提交消息块分类帐。
RBFT的相关变量如下:(1)RBFT限制节点的数量至少4,可以容忍恶意节点最多 (2)节点的数量需要达到的共识如下:
3所示。根据区块链SMPC方案
我们介绍系统模型结构,计算合同,和MPC协议基于秘密共享和比较和分析协议的计算复杂度算法在本节中。
3.1。系统模型
本节介绍了区块链网络、计算机网络和MPC合同计划模型,如图3。作为分布式分类帐,区块链提供了一个公平、可靠的计算环境。计算参与者应该注册在MPC合同并支付相应的存款。在计算的过程中,如果某些节点计算结果,押金扣除罚款将会进行。如果每个计算节点符合协议,得到相应的输出和支付费用。用户授权查询存储在链中的数据,实现数据共享和公平交易的计算。考虑到电子投票选举的实际应用场景的需求,有必要匿名化选民和候选人的身份和加密区块链网络投票结果公布。介绍了模型的结构如下。
首先,数据所有者提取关键字的存储数据,生成使用布隆过滤器的关键指标,并加密相应的索引信息和数据存储的地址值对应的公钥的调查者。索引链表存储在索引块,和查询使用私钥解密数据。
其次,计算请求者发送交易请求时,它将公钥的区块链和支付存款聪明的合同。改进的共识机制是用来确保节点的一致性。根据请求内容,每个节点查询联合计算的原始数据。之后,计算结果由公钥加密,并请求者接收结果并使用私钥进行解密。
最后,验证了事务交易后的验证节点计算。如果事务计算是错误的或一个参与者不得到计算结果,恶意参与者通过时间戳和追踪被聪明的合同。同时,诚实的参与者是奖励和块相应的状态改变。相反,押金会退还。
3.2。计算合同
计算合同是一种智能的合同谈判参与者和参与多方计算服务之前达成协议。它是部署在区块链平台代码的形式和自动执行而无需人工干预触发条件。该合同包括计算节点参数,初始状态,计算过程脚本,执行当前的计算任务的条件。
计算可分为几轮根据计算任务和条件。每一轮的计算在合同中有一个初始的判断条件和时间限制。在初始化阶段,参与者(计算节点或用户)在货币政策委员会注册合同,交订金。当节点参与的数量计算任务和正确的输入符合最初的判断条件,计算过程可以执行脚本。如果有一个错误提示在计算过程中,这可能是由于不确定性因素(如网络拥塞,代码漏洞,和其他因素),所以有必要检测和修改和重新制作。如果计算结果得到,在这一轮提交必须正确地发送。合同将验证节点验证提交的信息是否正确。开始下一轮的计算任务,该合同将检查所有参与者提交的信息的正确性是否继续计算。中间每一轮完成的执行在一个集成的沙箱环境中,不能发现和理解。只有在最后一轮,验证,计算节点发布他们的正确输出结果和奖励或扣除押金。
3.3。货币政策委员会协议
以确保数据完整性、隐私和计算效率,将同态加密和多党为事务隐私计算计算(17,18]。对于任意数据加密,没有区别在任何多项式时间算法,并提出了一种基于语义的同态加密安全(19- - - - - -21]。门限秘密分享解决问题的数据隐私泄漏造成的共谋参与者SPMC [20.]。假设公钥密码机制 ;加密算法和解密算法和 ,分别。加密密钥和解密密钥和 ,分别为(是公众和是秘密)。密文空间 ,和明文空间 。对于任何两个数据信息 , (是一个常数),如果 和 ,然后 ,“”和“ ,”分别代表加法同态操作符和乘法同态操作符。
同态加密方案的分析(22),将同态属性应用于矩阵运算在线性空间。假设,在线性空间 ,向量 是一个 - - - - - -在线性空间维行向量,是一个 - - - - - -维列向量。加密算法用于加密向量中每个元素 。进一步扩展它的矩阵 ,我们可以得到
3.3.1。协议设计
假设有一组参与者的计算 。每个参与者有一个矩阵和一个相应的向量 ,和相应的关系 ,在哪里是一个 - - - - - -维矩阵和是一个 - - - - - -维向量。值范围的参与者的数量相关的节点数量的价值在上面的共识机制。为了使输入参数有隐私,文献中提到的可逆矩阵(20.)是用来伪装的合作计算线性方程如下所示: 在哪里是一个随机生成的 - - - - - -可逆矩阵, 。协议的具体步骤如表所示1。
3.3.2。计算复杂度
在上面的政策委员会的协议,它是获得 在步骤1中已经执行加密操作。在计算加密矩阵 和相应的加密向量 在步骤2中,有总 加法同态操作。在步骤3中,在计算 ,有次加法同态和乘法同态。总共次加法同态和当计算乘法同态的时候进行 。在步骤4中,共有 次进行解密操作。
相比之下,计算时间y1的乘法同态和加法同态SMPC协议(23),计算时间y本协议的第2减少。因为提高共识机制至少需要4个参与者,矩阵的下限尺寸设置为4个维度,如图4和5。
4所示。安全验证和性能分析
在本节中,我们发挥了敌人(攻击者)和挑战者DBDH假设下计算参与者)游戏。它证明了该方案是安全的在特定的密文攻击,我们在anticollusion分析方案的性能、可验证性、可伸缩性和隐私。
4.1。安全证明
引理1。基于DBDH假设,我们的方案可以抵抗选择密文攻击在随机预言模型(24),所以我们的方案是IND-CCA安全。
证明。假设有一个概率多项式时间 ;给定一个公钥加密方案 ,敌人使用辅助输入函数在多项式时间玩游戏的挑战者如下:(1)密钥生成:挑战者密钥生成算法获取公共和私人密钥对 和发送的公钥来 。(2)调查1:密文解密甲骨文 : 提交密文来 ,和运行解密获取相应的信息。密钥泄漏甲骨文 :对于任何辅助输入函数 ,敌人发送来 ,和发送 来 。(3)挑战阶段:选择两条消息 并将它们发送给 。挑战者号随机选择一个字节 ,试图计算密文 ,并将其发送给对手 。(4)探究2:重复调查1。(5)猜一猜:对手提交的猜 ;当 , 赢了游戏;否则,输了这场比赛。在方案中,对手的优势为了赢得这个游戏的定义是 ,和竞争对手的优势破坏概率多项式时间的加密方案是 (是一个微不足道的小金额)。生成的密文的挑战 和 (是一种常见的参数)是无法区分;也就是说, 。因此,对手的优势在比赛中可以忽略不计。没有对手能打破我们的算法,我们的解决方案是安全的。
4.2。性能分析
4.2.1。准备预防勾结
共谋攻击是一个关键的问题在现实世界中,特别是在恶意的人勾结获取数据和信息的其他参与者寻求好处因为某些目的(例如,经济因素)。semihonest条件下的模型,我们提出SMPC方案基于区块链可以避免勾结,使参与者诚实地执行协议。区块链提供了一个可信的环境合作计算通过加密技术。参与者的数据加密并存储在链和主密钥需要重建时执行计算协议,有效地防止参与者之间的勾结。同时,因为数据是加密和存储在链上,货币政策委员会协议算法加密的随机可逆矩阵。在分析对手和挑战者的游戏过程,生成的密文的挑战是没有区别的,和对手的优势打破加密可以忽略,这证明了我们的解决方案可以抵抗选择密文攻击。其次,参与者注册并确认他们的身份信息和识别的数据块存储有独特的时间戳。同时,他们交纳投标保证金作为保证遵守合同协议,这使得noncollusion获得利益高于勾结和消除了参与者的勾结的动机。
4.2.2。可验证的
由于缺少可信第三方在现有安全多方计算,可能会有潜在的安全风险,参与者密谋篡改数据。分散的区块链为多方计算提供了一个可靠的环境,和分权化的核心是共识机制。安全多方计算基于区块链,在计算之前,节点和其他节点需要使用共识算法来生成和验证同步块,以确保有效的节点之间的一致性,然后可以进行同态加密计算确保事务的可验证性计算。
4.2.3。可伸缩的
区块链是一个分散的分类帐。信息存储在链上通过加密不能篡改。上的共识代块链都有时间戳的可追溯性。然而,由于块存储有限,不可能完全的所有信息存储在块中。为了确保安全性和存储信息的快速查询,这不是普遍采用块分区方法。在这个计划中,我们结合区块链存储和链上的索引存储原始out-of-chain数据库中的信息文件,和链上块存储地址和关键词索引很容易找到。
4.2.4。隐私
对于这个计划,有三个隐私保护措施。首先,当数据信息存储、信息加密的数据使用密码技术,数据库中的数据文件加密并存储在链之外,与存储地址和索引信息存储在块中。只有用户解密密钥或授权用户可以获得原始数据的信息。其次,在计算之前,数据信息存储在块需要共识机制达成共识链。在算法改进的共识,从节点接收到的信息核实的信息由主节点。如果信息是一致的,存储的数据是正确的。第三,门限秘密共享是用来分解的关键和分发给每个参与者。在解密,秘密需要重建恢复的万能钥匙。当参与者的注册表子项份额达到阈值时,主键可以恢复。否则,参与者不能为解密重建的关键。 Because the scheme is encrypted during the data storage and calculation phases, we performed a formal proof of the optional ciphertext attack on the entire scheme, which proved that our scheme is safe and can protect data privacy.
5。应用场景
该方案适用于应用程序与高隐私需求和简单的信息共享,例如,电子选举的典型场景。在传统的选举计划,投票的隐私和正确性取决于选民的可信度。由于投票的投票计数的权利计划,投票包含敏感的身份信息和投票选民和选民的数据信息,这可能直接导致选民无法做出真正的选择,从而影响投票结果的公平性和有效性。传统的投票方案有以下限制:(1)投票的选民知道的信息;(2)出纳可能知道选民的身份;(3)投票的结果取决于选民的正确计算;(4)选民信任出纳员不篡改选票。
解决上述问题,我们提出了多方计算电子投票选举方案基于区块链保证了身份的匿名性和投票的安全数据。整个投票过程是开放的和可核查的,投票过程中的安全和隐私问题受到保护。如果选民资格投票只有经过身份认证注册,一旦提交选民的投票,它不能被修改或删除;除了参与者(即投票。,voters and candidates), the third party cannot obtain the specific content of the vote; the voter can verify his or her own vote, including whether it is tampered with or not and whether it is included in the final result; all the people except the voter can check whether the vote is tampered with or not and whether it is included in the final result. Authorization can arbitrarily verify and supervise the voting process.
6。方案的比较
通过性能分析,比较和分析了现有SMPC基于区块链。为了防止勾结,小王和Sen-ching罗和李4,23)提高了使用以前的工作机制。预防共谋攻击的隐私偏好的影响进行了分析。我们也发现同样的限制在对称的游戏的偏好。的研究方案SMPC基于比特币网络(9)可以防止勾结和改善公平通过惩罚机制。由于它的局限性,它不能用于复杂功能的场景。参考文献(10,11)都是基于安全多方计算区块链,不依赖可信第三方。文献[10)获得正确的输出的前提下确保输入的隐私。为了解决公平和鲁棒性的问题,一个BFR-MPC计划提出。公平是提高了通过激励机制鼓励各方合作。安全数据信息共享和多党提出了计算模型(11]。数据分区扩展存储容量,和共识算法改进以确保节点之间的一致性。同态加密算法直接利用密文数据安全计算,以确保隐私。最后,性能分析和仿真结果表明,该效率显著提高。
区块链上的计划进行多方安全计算,采用链上的组合指数和off-chain指数扩大块存储,和布隆过滤器的使用提高了数据查询和验证的效率。计算智能设计的合同是合同支付存款交易计算期间为防止参与者之间的勾结。该计划具有较高的公平性和安全性。具体的性能比较如表所示2。
7所示。结束语
区块链是一个分散的分布式存储结构,不会导致数据丢失或损坏,由于单节点故障。该计划实施多党合作区块链上的计算。数据加密,以确保安全。安全多方计算可以确保多个参与者不相互信任可以执行给定的计算任务,同时保护数据隐私。此外,为了防止计算参与者共谋破坏计算结果的正确性,结合智能合同区块链,货币政策委员会的具体合同旨在鼓励参与者遵守协议诚实地参与计算。区块链的特点,如unforgeability、分散,和匿名性,结合安全多方计算,可以应用在电子拍卖、招标和医学敏感信息共享。接下来的工作是应用的结合区块链和安全多方计算在特定的实际场景中来解决现存的关键问题。与此同时,监管部门需要制定标准和完善监管政策根据实际的业务需求。
数据可用性
使用的数据来支持本研究的结果包括在本文中。
的利益冲突
作者宣称没有利益冲突。
确认
这项工作得到了国家自然科学基金(批准号61762060),甘肃省的教育委员会,中国(批准号2017 c-05),关键的基础研究和发展项目的甘肃省,中国(批准号20 yf3ga016)。