【技术实现步骤摘要】
区块链隐私保护方法、电子设备及存储介质
[0001]本专利技术属于区块链
,尤其涉及一种基于去中心化监督委员会的区块链隐私保护方法、电子设备及存储介质。
技术介绍
[0002]为了实现去中心化以及第三方验证,区块链上的所有数据对共识节点都是公开透明且可验证的。这种公开透明性必然会产生用户数据泄露及隐私被侵犯的风险,其中包括身份隐私以及交易信息隐私等。恶意节点可以观察到区块链中所有用户交易过程并将重要信息出售给第三方以获得经济效益,甚至骚扰威胁用户的现实身份。因此,如何在保证区块链去中心化与可验证性不被破坏的前提下,实现用户身份隐私信息保护是区块链架构所追求的特性。
[0003]目前许多过于注重隐私保护的加密货币却成为犯罪份子违法的温床。用户身份隐私保护性为毒品交易、洗钱以及敲诈勒索提供了躲避法律惩罚的可能。比如著名的wannaCry事件,犯罪者利用多种加密的比特币地址索要赎金而难以被追踪,最后造成了近40亿美元的经济损失。Monero币也因为极致的隐私保护性被多国政府拒之门外。因此,设计一种可以在用户隐私信息保 ...
【技术保护点】
【技术特征摘要】
1.一种区块链隐私保护方法,其特征在于,所述方法包括以下步骤:在初始化阶段,第三方认证机构随机生成公共安全参数,并基于所述公共安全参数生成RC公钥和RC私钥、监督委员会TC的私钥和公钥、以及秘钥分割智能合约的公钥和私钥;基于所述公共安全参数,所述秘钥分割智能合约生成监督委员会TC各成员的子秘钥;基于所述公共安全参数,用户生成用户公钥和用户私钥;所述用户向第三方认证机构RC注册加入到区块链网络中,以完成用户链上虚拟身份与链下真实身份的链接;所述用户根据用户公钥、监督委员会TC的公钥进行二次匿名,得到一次性公私钥对;所述用户根据公共安全参数、监督委员会TC的公钥、一次性公私钥对计算第一交易信息,并向第三方认证机构RC发布所述第一交易信息;所述第三方认证机构RC根据接收到的第一交易信息生成数字证书,并将所述数字证书发送给用户;所述用户将接收到的数字证书与所述第一交易信息打包生成第二交易信息,并将所述第二交易信息广播到区块链网络中;所述区块链网络对接收到的所述第二交易信息进行认证,当认证通过后,等待新的区块生成;所述监督委员会TC实时检查区块链网络中的第二交易信息,当发现可疑交易时,所述TC成员会通知其他成员进行判断和回复,激活秘钥恢复智能合约;调用秘钥恢复智能合约解密出用户的长期公钥,监督委员会TC根据用户的长期公钥和第三方认证机构RC追溯用户的真实身份;优选地,所述公共安全参数为:pp={E,G,P,p,q,a,b,H}其中,p,q为不相等的质数;E是由定义的椭圆曲线,a,b为椭圆曲线随机生成的系数;G为椭圆曲线E中所有点的集合,是一个循环群;P为椭圆曲线基点;q为椭圆曲线阶数;H为哈希函数;为元素个数为p的有限域。2.根据权利要求1所述的区块链隐私保护方法,其特征在于,所述第三方认证机构RC生成RC公钥和RC私钥的具体实现过程为:随机选择实数sk
RC
=x
RC
作为RC私钥,其中,sk
RC
为RC私钥,x
RC
为随机选择的实数,为随机选择的实数,为小于p的正整数;利用所述公共安全参数中的椭圆曲线基点P以及实数x
RC
计算出RC公钥pk
RC
=x
RC
*P;所述第三方认证机构RC生成监督委员会TC的私钥和公钥的具体实现过程为:当所述第三方认证机构RC完成区块链的创世块的建成时,随机选择实数sk
TC
=x
TC
作为监督委员会TC的私钥,其中,sk
TC
为TC的私钥,x
TC
为随机选择的实数,利用所述公共安全参数中的椭圆曲线基点P以及实数x
TC
计算出监督委员会TC的公钥pk
TC
=x
TC
*P;所述第三方认证机构RC生成秘钥分割智能合约的公钥和私钥的具体实现过程为:随机选择实数sk
CT
=x
CT
作为秘钥分割智能合约的私钥,其中,sk
CT
为秘钥分割智能合约的私钥,x
CT
为随机选择的实数,利用所述公共安全参数中的椭圆曲线基点P以及实数x
CT
计算出秘钥分割智能合约的公
钥pk
CT
=x
CT
P;所述用户生成用户公钥和用户私钥的具体实现过程为:随机选择实数sk
user
=x
user
作为用户私钥,其中,sk
user
为用户私钥,x
user
为随机选择的实数,利用所述公共安全参数中的椭圆曲线基点P以及实数x
user
计算出用户公钥pk
user
=x
user
P。3.根据权利要求1所述的区块链隐私保护方法,其特征在于,所述秘钥分割智能合约生成监督委员会TC各成员的子秘钥,具体实现过程为:获取监督委员会TC的参数,所述参数记为n,t,{address
i
}
i=1,2,
…
,n
,其中,n为监督委员会TC的成员数量,t为秘钥分割的门限值,address
i
为第i个成员在区块链网络中的地址,有address
i
=tpk
user
;将每个地址address
i
进行哈希操作得到数据x
i
,将数据x
i
代入到t
‑
1阶函数f(x),得到值s
i
,即s
i
为各个成员的子秘钥;其中,t
‑
1阶函数f(x)是由所述第三方认证机构RC随机选取t
‑
1个随机数{a
i
}
i=1,2,
…
,t
‑1∈GF(p)来生成的,f(x)=a0+a1x+
…
+a
t
‑2x
t
‑2+a
t
‑1x
t
‑1,a0=sk
TC
,GF(p)为元素个数为p的有限域;将每个地址address
i
、对应的值s
i
以及时间戳timestamp拼接后进行哈希操作,得到随机值r
i
,即r
i
=H(address
i
||s
i
||timestamp);利用随机值r
i
以及公共安全参数以及成员的地址address
i
将值s
i
加密,得到对应成员的子秘钥的加密值,所述子秘钥加密值ss
i
具体公式为:ss
i
={r
i
*P,s
i
+r
i
*address
i
}监督委员会成员收到子秘钥加密后的ss
i
,利用自己的私钥tsk
user
进行解密得到真正的子秘钥tsk
TCi
,具体解密公式为:tsk
TCi
=s
i
+r
i
*address
i
‑
tsk
useri
(r
i
*P)=s
i
其中,tsk
useri
为第i个监督委员会成员的私钥。4.根据权利要求1所述的区块链隐私保护方法,其特征在于,所述用户根据用户公钥、监督委员会TC的公钥进行二次匿名的具体实现过程为:随机选择实数并根据实数r
u
、用户公钥pk
user
、监督委员会TC的公钥pk
TC
计算二次匿名后用户产生的一次性公私钥对,具体计算公式为:tpk
user
=(tpk1,tpk2),tsk
user
=(r
u
,x
user
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。