【技术实现步骤摘要】
一种基于安全多方计算的联盟链隐私保护方法
[0001]本专利技术涉及一种联盟链隐私保护方法,具体涉及一种利用安全多方计算技术的联盟链隐私保护方法,属于联盟链隐私保护
技术介绍
[0002]区块链技术作为一种去中心化的分布式账本技术,为现代信息数据的存储与传播提供了新的解决方案。同时,发展尚不完善的区块链技术也带来了和以往中心化的传统技术不同的安全难点。
[0003]目前,区块链技术仍旧存在许多安全性缺陷,其中,隐私泄露一直是难以解决的技术问题之一。联盟链是区块链技术的一种,联盟链对参与方提出准入许可的要求,只有经过审核且通过的成员才能够进入联盟链。联盟链通常被应用到多个大型企业机构之间或某个行业场景内,各个经过登记的成员通过共识机制达成交易的一致性。
[0004]联盟链技术的一个重要目标是要降低成员企业机构之间的信任成本,从而实现链上合作。因此,实现联盟链中的隐私保护对于推动企业机构间的合作十分重要。
[0005]安全多方计算技术,常用于解决多个互不信任的参与方之间的合作问题,参与方们需要在 ...
【技术保护点】
【技术特征摘要】
1.一种基于安全多方计算的联盟链隐私保护方法,首先,对相关定义进行说明:定义1:用户,即参与方是指参加安全多方计算协议的私有数据持有者,并且用户群体之间互不信任;定义2:联盟链网络是指由安全多方计算的参与方节点和服务性节点构成的区块链网络,网络中的背书节点调用智能合约来进行多方计算;定义3:智能合约是指装载了安全多方计算协议的计算机交易协议,能够被背书节点调用;定义4:代处理工具是指能够代表用户来与联盟链进行交互的客户端密码学集成部件;代处理工具能够对用户输入的私有数据进行加密,并对从区块链中得到数据进行解密。其特征在于,包括以下步骤:步骤1:用户对身份信息进行预处理,实现在联盟链上的匿名交易;步骤2:客户端对安全多方计算协议的输入数据进行密码学方面的处理,包括以下步骤:步骤2.1:代处理工具根据门限加法秘密共享算法,将参与方的私有数据切割成n个份额;步骤2.2:采用基于椭圆曲线的Pedersen承诺方法,代处理工具生成n个随机盲因子,并利用盲因子生成对每个份额的承诺;步骤2.3:代处理工具利用其它参与方的公钥,对随机盲因子进行分别加密;步骤2.4:代处理工具对n个随机盲因子进行累加,得到新的盲因子,并根据新的盲因子生成对参与方私有数据的承诺;步骤2.5:代处理工具利用其它参与方的公钥,对私有数据的每个份额进行加密;步骤2.6:代处理工具将上述所有承诺、加密形式的盲因子以及加密形式的份额,全部传送到联盟链中;步骤3:协议参与方收到输入数据后,对其进行身份验证和正确性验证;步骤4:代表安全多方计算协议的智能合约对密文数据进行线性计算,计算结果将传输给参与方节点,包括以下步骤:步骤4.1:采用线性计算函数中的双变量加法运算法,对密文形式的份额和承诺进行计算;步骤4.2:采用线性计算函数中的单变量加法运算法,对密文形式的份额、承诺和常数进行计算;步骤4.3:采用线性计算函数中的数乘运算法,对密文形式的份额、承诺和常数进行计算;步骤4.4:联盟链将上述计算结果,均传递给参与方;步骤5:协议参与方对数据进行验证,验证通过后对数据进行解密,解密后的数据将传输给其他参与方,包括以下步骤:步骤5.1:代处理工具利用Pedersen承诺方法,打开计算后的相应承诺,并判断承诺等
式是否成立,从而验证数据计算过程是否正确;如果承诺等式成立,则说明数据计算过程正确,否则说明计算过程有误;步骤5.2:验证通过后,代处理工具利用Paillier加密方法中的解密函数,结合参与方的私钥,对输出数据中的相应项进行解密操作;步骤5.3:解密完成后,代处理工具将解密后的数据传递到联盟链中进行广播,从而将数据传输给其他参与方;步骤6:计算最终结果。2.如权利要求1所述的一种基于安全多方计算的联盟链隐私保护方法,其特征在于,步骤1包括以下步骤:步骤1.1:用户生成自己的公钥和私钥,并且用户的身份ID和公钥都被联盟链的凭证管理机构妥善存储,每个用户都知道其它用户的公钥;步骤1.2:代处理工具选取随机秘密值t和随机秘密值r,并对随机秘密值t生成Pedersen承诺,其中,t和r存储在代处理工具内部,代处理工具并不知道t和r的值;然后,代处理工具使用参与方的私钥对承诺进行签名,参与方的承诺和签名均被传送到联盟链的凭证管理机构进行验证并存储;步骤1.3:代处理工具通过非交互式零知识证明方式生成证据π,从而向验证方证明交易提交者知道生成承诺所使用的随机秘密值r;步骤1.4:当参与方提交交易时,t和π随交易内容一起被提交。3.如权利要求1所述的一种基于安全多方计算的联盟链隐私保护方法,其特征在于,在步骤2.1中,用{s
i1
,s
i2
,
…
,s
in
}表示参与方的私有数据,即投票数据V
i
切割的n个份额;在步骤2.2中,利用盲因子生成对每个份额的承诺,方法如下:根据cm
ij
=ElCommit(s
ij
,b
ij<...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。