CN113449336B - 一种在区块链中基于安全多方隐私保护的共享数据处理方法 - Google Patents
一种在区块链中基于安全多方隐私保护的共享数据处理方法 Download PDFInfo
- Publication number
- CN113449336B CN113449336B CN202110653620.5A CN202110653620A CN113449336B CN 113449336 B CN113449336 B CN 113449336B CN 202110653620 A CN202110653620 A CN 202110653620A CN 113449336 B CN113449336 B CN 113449336B
- Authority
- CN
- China
- Prior art keywords
- data
- node
- chain
- block
- enc
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/176—Support for shared access to files; File sharing support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种在区块链中基于安全多方隐私保护的共享数据处理方法,利用了基于POW共识机制的区块链生成过程帮助分组,保证既能挑选出计算力强的节点能承担复杂的计算任务,也保证计算力强的节点能得到相应的奖励来补偿算力的消耗。在计算交集的过程中,使用的是加密数据进行求解,所以不会泄露其中的消息。这就保证了整个过程中参与方到最后只能得到所有数据的交集,而得不到其他参与方的数据。整个过程中都使用了区块链进行存储,所以利用区块链的不可篡改的特性可以防止数据被恶意的修改。本发明有效帮助各数据拥有方之间在保证隐私的前提下共享数据。
Description
技术领域
本发明涉及区块链技术,具体涉及区块链中共享数据处理技术。
技术背景
随着信息设备以及网络技术的普及和发展,互联网上的数据在成倍的增长,从个人信息到国家信息,涉及方方面面。各个数据拥有方利用云计算、数据挖掘等处理技术创造自身所有数据的价值,为社会提供了巨大的便利。并且如今是一个数据共享的时代,企业公司之间也渴望能共享一部分的数据来实现数据的联合计算,其中就包含了求解多方数据交集来寻求不同数据集合之间的共同点,从而帮助数据分析。然而与此同时,隐私泄露问题已经层出不穷,数据安全以及第三方可信问题已经得到社会的广泛关注,公司担忧求交集的过程中可能会泄露公司机密信息,这使得传统的多方计算方法难以实现。如何能以没有可信第三方下保护各方隐私数据为前提求解及存储多方数据交集,成为了推进数据共享创造新价值的当务之急。
发明内容
本发明所要解决的技术问题是,提供一种能够以没有可信第三方下保护各方隐私数据为前提求解及存储多方数据交集的方法。
本发明为解决上述技术问题所采用的技术方案是,一种在区块链中基于安全多方隐私保护的共享数据处理方法,包括以下步骤:
1)n个数据拥有方共同获取满足加法同态的公私钥对,公钥(n,g)公开,私钥(λ,μ)采用(n,t)阈值秘钥分享机制分成n份分别分给n个参与方,当参与方人数达到阈值t能共同还原出私钥;一个参与方作为一个节点;
2)分布式完成计算任务:
2-1)在一个区块链平台上设置一条基于工作量证明POW共识的区块链,所有节点能参与打包上链,且该链最长不超过n/2;每个节点将自己的数据集序列化用数据集合{x1,x2,…,xm},然后计算出一个m次的多项式m为数据集合中元素总个数,ai表示多项式P(y)的第i阶系数;再用公钥对多项式P(y)的系数加密得到集合{Enc(a1),Enc(a2)…,Enc(am)}作为打包上链的数据集;
2-2)当所述区块链长度达到n/2则所有节点停止计算,生成的长度为n/2的区块链称为强节点链;将自己数据成功上链的n/2个节点集合为强节点集;其余n/2个节点集合为弱节点集;对弱节点集进行随机从1到n/2进行编号;
2-3)对弱节点集中所有节点执行下列操作:序号为i的弱节点读取链上第i个区块的数据Enc(ai),计算出加密多项式再自己生成随机数r,然后代入n个私钥μ的生成值y1,y2,…,yn计算出得到集合{Enc(r*P(y1)+y1),Enc(r*P(y2)+y2),…,Enc(r*P(yn)+yn)},再将集合内元素打乱顺序后打包成一个区块;弱节点集将自己这些区块按照自己的序号的顺序生成一条弱节点链;
2-4)按照生成强节点链中区块的顺序给节点排序1到n/2;对所有强节点集中的所有节点按照顺序执行下列操作:第一个强节点读取弱节点链中第一个和第二个区块的数据,然后找出其中的共同数据集,形成一个新的区块后打包到弱节点链最新区块后;后续的第i个强节点读取弱节点链上第i+1个区块和最新的区块,找到其中的共同数据集再打包上链到最新区块;当弱节点链前n/2个区块数据都被读取后就停止;
3)当有达到阈值t的参与方还原出私钥后,即可对弱节点链上存储的数据交集的加密结果进行解密,并对解密的结果进行反序列化,从而得到多方数据交集的结果。
满足加法同态加密算法生成的密钥对具有以下性质:
使用满足加法同态的公钥对原文进行加密,然后加密后的密文相加结果与原文直接相加再加密的结果是相等的。即E(A)+E(B)=E(A+B),其中A和B代表原文信息,E()代表满足加法同态的加密函数。
(n,t)阈值密钥分享机制具有以下性质:
将一个秘密信息x分为n份交给n个参与方,只有不小于阈值t个参与方愿意还原才能够的得到完整的秘密信息,少于t个则不能够还原出秘密信息。
本发明的安全性分析中,首先没有引入任何的第三方来参与这次多方计算,也就直接避免了不可信第三方的威胁。而没有第三方的集中计算,所以需要所有节点来共同参与计算工作。由于利用了基于POW共识机制的区块链生成过程帮助分组,保证既能挑选出计算力强的节点能承担复杂的计算任务,也保证计算力强的节点能得到相应的奖励来补偿算力的消耗。其次在交互过程中,由于各个参与方都无法直接得到私钥,也就没法直接把对方发来的加密数据进行解密,所以也无法得知对方的除了数据交集部分以外的其他数据。在计算交集的过程中,使用的是加密数据进行求解,所以不会泄露其中的消息。这就保证了整个过程中参与方到最后只能得到所有数据的交集,而得不到其他参与方的数据。
整个过程中都使用了区块链进行存储,所以利用区块链的不可篡改的特性可以防止数据被恶意的修改。计算过程中的存储的数据可以作为存证,而最终结果也不会被恶意篡改。并且由于使用了阈值密钥分享技术来保管私钥,所以即使其中任意一个参与方不小心丢失了自己那部分的密钥也不会直接泄露整个私钥,并且只要剩余持有密钥的参与方超过阈值t仍可以还原出私钥,从而解密出最终的结果。
本发明的有益效果是,有效帮助各数据拥有方之间在保证隐私的前提下共享数据。
附图说明
图1为系统结构示意图。
图2为求解多方数据交集流程图。
图3为获取多方数据交集流程图。
具体实施方式
本文所提方案可以在比特币私有链上进行实施,使用Paillier加密算法作为满足加法同态的加密算法生成公私钥对,利用Shamir阈值密钥分享方法将私钥分为n份交给参与方保管。
现在有n个公司为了进一步的合作,希望在没有第三方的情况下统计同时使用双方公司产品的用户信息(包括用户姓名和用户的电话号码),但又不暴露自己的其他用户的数据。使用该方案的流程如下:
1.双方同时在公有服务器上使用Paillier算法生成公私钥对,公钥公开给双方,而私钥使用Shamir阈值密钥分享方法分为两份交给n个公司,阈值设置为t,至少有t个公司才能够还原出私钥。
公有服务器使用Paillier算法生成公私钥对的步骤如下:
1)随机选择两个大素数p,q,使得他们相互独立,即满足gcd(pq,(p-1)(q-1))=1;gcd表示求最大公约数;
2)计算n=pq,λ=lcm(p-1,q-1),其中lcm代表求最小公倍数;
5)得到公钥(n,g),私钥为(λ,μ)。
公有服务器使用Shamir的(n,t)阈值密钥分享将私钥分为n份的步骤如下:
1)服务器随机生成t-1个随机数a1,a2,…,at-1,设a0为中的私钥λ,然后利用这t个数生成一个t-1次的多项式f(x)=a0+a1x+a1x2…+at-1xt-1,x为多项式f的变量。
2)在服务器上求得当x分别为1至n时n个私钥λ的生成值:x1=f(1),x2=f(2)…xn=f(n)。
3)服务器重新随机生成t-1个私钥随机数并设a0为私钥中的μ,重复上述两步重新生成一个新的多项式g(y),y为多项式g的变量,求得y分别为1至n时n个私钥μ的生成值y1=g(1),y2=g(2)…yn=g(n)。
4)服务器将(x1,y1),(x2,y2),…,(xn,yn)分别分发给n个参与方。
2.由于没有可信第三方来集中式计算,所以后续的计算任务将在各个节点上分布式完成。为了提升效率,让计算力强的节点承担更重要的任务并且能给予相应的补偿,将通过结合区块链的方式进行分组计算,如图2所示具体步骤如下:
1)在比特币平台上设置一条基于POW(Proof of Work工作量证明)共识的链,所有节点可以参与打包上链,且该链最长不超过n/2。每个节点将自己的数据集序列化用数据集合{x1,x2,…,xm}表示,然后计算出一个m次的多项式 m为数据集合中元素总个数,ai表示多项式P(y)的第i阶系数;再用Paillier算法中的公钥对P(y)的系数加密得到集合{Enc(a1),Enc(a2)…,Enc(am),},这就是节点想要打包上链的数据集。每个节点计算出合适的随机数达到阈值才能打包自己的数据上链,也就是进行“挖矿”,如果谁成功了,就可以将自己的加密数据集打包上链,并且获得一笔奖励,然后停止挖矿。这些奖励来自于一开始所有节点共同给予一笔钱生成的奖金池。
使用Paillier算法的公钥加密多项式阶数m的步骤如下:
(b)计算密文c=gmrnmodn2。
(2)等到这条区块链长度达到n/2则剩下的节点也停止计算,生成的这条链称为强节点链。将自己数据成功上链的节点集合是计算力更强的节点,命名为强节点集。而剩下的则是计算力要稍微弱的节点,命名为弱节点集。对弱节点集进行随机从1到n/2进行编号,如图1所示。
(3)对弱节点集中所有节点执行下列操作:序号为i的弱节点读取链上第i个区块的数据,利用这些加密后的系数计算出然后自己生成随机数r,然后代入{y1,y2,…,yn}利用加法同态计算出得到集合{Enc(r*P(y1)+y1),Enc(r*P(y2)+y2)…Enc(r*P(yn)+yn)},打乱顺序后打包成一个区块。弱节点集将自己这些区块按照自己的序号的顺序生成一条新的链,命名为弱节点链,这条链不设置激励机制,主要利用区块链不可篡改的特性,进行存证。
Paillier加密系统的加法同态的原理:
对于两个密文与由于 即r1和r2都是中元素,因此r1*r1也属于并且具有相同的性质,所以此处的值是r1还是r1或是ri并不重要,c1*c2可以看作是m=m1+m2加密的密文,c1*c2的解密结果为m。
(4)按照生成第一条链的顺序给节点排序1到n/2。对所有强节点集中的所有节点按照顺序执行下列操作:第一个强节点读取弱节点链中第一个和第二个区块的数据,然后找出其中的共同数据集,形成一个新的区块后打包到弱节点链最新区块之后。而后续的第i个强接节点读取弱节点链上第i+1个区块和最新的区块,找到其中的共同数据集再打包上链。当弱节点链前n/2个区块数据都被读取后就停止。
(5)弱节点链中最新的一个区块中即存储了加密后的所有节点的数据的交集数据,交集数据即为共享数据。
3.当有达到阈值t的公司节点,即可以利用Shamir方案机制还原出私钥后,然后就可以对区块链上存储的数据交集的加密结果进行解密,并对解密的结果进行反序列化,即可得到多方数据交集的结果,如图3所示。
使用Shamir的(n,t)阈值密钥分享还原私钥步骤如下:
1)t个参与方将自己所拥有的部分密钥(x,y)上传在公有服务器;
2)服务器利用t个参与方的x和y还原出t次多项式f(x)和g(y),然后计算出λ=f(0)和μ=g(y);
3)得到私钥(λ,μ)即可解出存储在区块链的加密数据;
使用Paillier算法的私钥解密密文c的步骤如下:
1)将区块链上的加密交集数据下载至公有服务器上;
2)服务器对加密数据集中的每一个元素进行解密,得到原数据m=L(cλ mod n2)*μmod n;
3)服务器将还原后的数据集后发送给参与解密的节点。
Claims (1)
1.一种在区块链中基于安全多方隐私保护的共享数据处理方法,其特征在于,包括以下步骤:
1)n个数据拥有方共同获取满足加法同态的公私钥对,公钥(n,g)公开,私钥(λ,μ)采用(n,t)阈值秘钥分享机制分成n份分别分给n个参与方,当参与方人数达到阈值t能共同还原出私钥;一个参与方作为一个节点;
2)分布式完成计算任务:
2-1)在一个区块链平台上设置一条基于工作量证明POW共识的区块链,所有节点能参与打包上链,且该链最长不超过n/2;每个节点将自己的数据集序列化用数据集合{x1,x2,…,xm}表示,然后计算出一个m次的多项式m为数据集合中元素总个数,ai表示多项式P(y)的第i阶系数;再用公钥对多项式P(y)的系数加密得到集合{Enc(a1),Enc(a2)…,Enc(am)}作为打包上链的数据集;
2-2)当所述区块链长度达到n/2则所有节点停止计算,生成的长度为n/2的区块链称为强节点链;将自己数据成功上链的n/2个节点集合为强节点集;其余n/2个节点集合为弱节点集;对弱节点集进行随机从1到n/2进行编号;
2-3)对弱节点集中所有节点执行下列操作:序号为i的弱节点读取链上第i个区块的数据Enc(ai),计算出加密多项式再自己生成随机数r,然后代入n个私钥μ的生成值y1,y2,…,yn计算出得到集合{Enc(r*P(y1)+y1),Enc(r*P(y2)+y2),…,Enc(r*P(yn)+yn)},再将集合内元素打乱顺序后打包成一个区块;弱节点集将自己这些区块按照自己的序号的顺序生成一条弱节点链;
2-4)按照生成强节点链中区块的顺序给节点排序1到n/2;对所有强节点集中的所有节点按照顺序执行下列操作:第一个强节点读取弱节点链中第一个和第二个区块的数据,然后找出其中的共同数据集,形成一个新的区块后打包到弱节点链最新区块后;后续的第i个强节点读取弱节点链上第i+1个区块和最新的区块,找到其中的共同数据集再打包上链到最新区块;当弱节点链前n/2个区块数据都被读取后就停止;
3)当有达到阈值t的参与方还原出私钥后,即可对弱节点链上存储的数据交集的加密结果进行解密,并对解密的结果进行反序列化,从而得到多方数据交集的结果,多方数据交集的结果即为共享数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110653620.5A CN113449336B (zh) | 2021-06-11 | 2021-06-11 | 一种在区块链中基于安全多方隐私保护的共享数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110653620.5A CN113449336B (zh) | 2021-06-11 | 2021-06-11 | 一种在区块链中基于安全多方隐私保护的共享数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113449336A CN113449336A (zh) | 2021-09-28 |
CN113449336B true CN113449336B (zh) | 2022-11-04 |
Family
ID=77811269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110653620.5A Active CN113449336B (zh) | 2021-06-11 | 2021-06-11 | 一种在区块链中基于安全多方隐私保护的共享数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113449336B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114513327B (zh) * | 2021-12-30 | 2022-11-08 | 电子科技大学 | 一种基于区块链的物联网隐私数据快速共享方法 |
CN114564752B (zh) * | 2022-04-28 | 2022-07-26 | 蓝象智联(杭州)科技有限公司 | 一种基于图联邦的黑名单传播方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110740033A (zh) * | 2019-08-19 | 2020-01-31 | 杭州云象网络技术有限公司 | 一种基于秘密共享技术的区块链多方数据共享方法 |
CN112862616A (zh) * | 2021-04-23 | 2021-05-28 | 北京中科金财科技股份有限公司 | 支持区块链的安全多方计算方法、设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190386814A1 (en) * | 2016-11-07 | 2019-12-19 | Sherjil Ahmed | Systems and Methods for Implementing an Efficient, Scalable Homomorphic Transformation of Encrypted Data with Minimal Data Expansion and Improved Processing Efficiency |
CN107147652B (zh) * | 2017-05-18 | 2019-08-09 | 电子科技大学 | 一种基于区块链的用户多形态身份的安全融合认证方法 |
CN108199831A (zh) * | 2017-12-27 | 2018-06-22 | 苏州同济区块链研究院有限公司 | 区块链密钥协商方法、装置与系统 |
CN109388960A (zh) * | 2018-10-24 | 2019-02-26 | 全链通有限公司 | 基于区块链的信息共享及安全多方计算模型 |
CN110197081B (zh) * | 2019-05-30 | 2021-01-15 | 北京理工大学 | 一种基于区块链的云数据共享隐私保护方法 |
CN111611609B (zh) * | 2020-04-07 | 2023-05-23 | 布比(北京)网络技术有限公司 | 基于安全多方计算与区块链的风险数据分享方法及系统 |
-
2021
- 2021-06-11 CN CN202110653620.5A patent/CN113449336B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110740033A (zh) * | 2019-08-19 | 2020-01-31 | 杭州云象网络技术有限公司 | 一种基于秘密共享技术的区块链多方数据共享方法 |
CN112862616A (zh) * | 2021-04-23 | 2021-05-28 | 北京中科金财科技股份有限公司 | 支持区块链的安全多方计算方法、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113449336A (zh) | 2021-09-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113037460B (zh) | 基于同态加密和秘密共享的联邦学习隐私保护方法 | |
Mallouli et al. | A survey on cryptography: comparative study between RSA vs ECC algorithms, and RSA vs El-Gamal algorithms | |
CN1859090B (zh) | 一种基于身份的密码方法和系统 | |
CN113449336B (zh) | 一种在区块链中基于安全多方隐私保护的共享数据处理方法 | |
US20050201555A1 (en) | System, method and apparatus for secure computation on encrypted data | |
CN114175569A (zh) | 用于在aes计数器模式加密中对用拟群运算加密的整数进行相加和比较的系统和方法 | |
Wang et al. | Verifiable threshold scheme in multi-secret sharing distributions upon extensions of ECC | |
US7062043B1 (en) | Method of elliptic curve digital signature using coefficient splitting | |
KR20240090783A (ko) | 임계 서명 체계 | |
Rastogi et al. | Cloud computing security and homomorphic encryption | |
Huang et al. | Block-Level Message-Locked Encryption with Polynomial Commitment for IoT Data. | |
US7062044B1 (en) | Method of elliptic curve cryptographic key agreement using coefficient splitting | |
Gunasekaran et al. | A review on enhancing data security in cloud computing using rsa and aes algorithms | |
CN116318696B (zh) | 一种双方无初始信任情况下代理重加密数字资产授权方法 | |
Thangavel et al. | Secure file storage and retrieval in cloud | |
JP2024534237A (ja) | 共有暗号キーを生成すること | |
Parenreng et al. | The E-mail security system using El-Gamal hybrid algorithm and AES (advanced encryption standard) algorithm | |
Backes et al. | Fully secure inner-product proxy re-encryption with constant size ciphertext | |
Harn et al. | Threshold cryptosystem with multiple secret sharing policies | |
Khudaier et al. | A Review of Assured Data Deletion Security Techniques in Cloud Storage | |
Wang et al. | Dynamic threshold multi-secret sharing scheme using elliptic curve and bilinear maps | |
Rao et al. | Secure and practical outsourcing of linear programming in cloud computing: A survey | |
CN113872757B (zh) | 一种基于sm2公钥加密算法的广播加密方法 | |
CN113141249B (zh) | 一种门限解密方法、系统及可读存储介质 | |
Kumar et al. | Web Application Security on Top of Public Cloud |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |