基于环签名和代理重加密的区块链隐私保护方法和系统技术方案

技术编号:26845861 阅读:17 留言:0更新日期:2020-12-25 13:08
本发明专利技术公开一种基于环签名和代理重加密的区块链隐私保护方法和系统,解决区块链技术在使用过程中的用户隐私泄露问题,在实现区块链用户隐私保护的同时,实现交易发送者对交易内容的密文控制,防止攻击者分析出交易双方地址关系,用于当前区块链系统中实现加密数据的细粒度共享。其技术方案为:使用代理重加密技术在保护授权者与被授权者之间的交易内容的同时,引入代理节点作为中间方传递交易密文,使得攻击者难以取得交易双方地址的链接性。为了防止中间方节点可分析出交易双方地址的关系,本发明专利技术使用环签名技术保护交易发送者的地址信息,避免中间方节点的作弊行为,从而保护区块链系统的身份信息与交易信息。

【技术实现步骤摘要】
基于环签名和代理重加密的区块链隐私保护方法和系统
本专利技术涉及区块链隐私保护的
,具体涉及一种基于环签名和代理重加密的区块链隐私保护方法和系统。
技术介绍
区块链在本质上就是一个去中心化防篡改的分布式数据库,通过密码学等技术实现各个环节的安全性。区块链具有去中心化、防篡改、匿名性、公开可验证性等特点,是比特币、以太坊等数字加密货币的核心技术,通过使用P2P网络、数据加密、时间戳、分布式共识和激励机制等方式,区块链系统中的节点可以完成点对点的交易,从而解决中心化系统存在的高信任、低效率及数据存储不安全等问题。区块链优质的技术特点使其广泛应用于各数字加密货币以外的其它领域。在金融领域,各国中央银行高度重视区块链技术,通过借鉴研究或直接应用来设计各自的法定数字货币,通过区块链技术改善传统金融系统中对账清算时间长、跨境结算效率低、中心账本数据维护成本高等问题。在物联网领域,利用区块链技术的点对点交易、智能验证等特点,实现物联网设备间不同类型的交易。在知识产权领域,利用区块链的时间戳、数据难以篡改和难以伪造特性,实现数据存证、著作产权保护、作品鉴定等功能。此外,供应链、司法、信息认证等领域也逐渐应用区块链技术改善现存行业问题。随着研究的深入,区块链展现出蓬勃生命力的同时,自身的安全性问题逐渐显露。在区块链的系统中,因为没有中心化的机构去处理和维护数据,所以,为了各个节点快速地达成共识,系统中所有交易均是公开透明的,从而带来了数据隐私泄露问题。2016年6月17日,通过众筹得到的超过1.5亿美元分布式自治组织TheDao中的1/3的以太币被黑客偷取,导致了项目的失败。2017年12月18日,朝鲜黑客攻击了韩国的加密货币交易所,导致当时价值76亿韩元(约合669万美元)的加密货币被盗,并且造成了大量用户隐私泄漏。区块链的公开透明特性使用户可以获取所有交易信息及物资供应信息,包括金额、合约内容等,从而对个人安全和国家安全造成威胁。在隐私保护领域,加密技术是研究人员最常使用的解决方案。因此,在使用区块链技术的同时,如何使用加密技术为区块链隐私问题提供良好的解决方案,从而保证用户的信息安全,是目前业界亟待解决的问题。
技术实现思路
以下给出一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或多个方面的一些概念以为稍后给出的更加详细的描述之序。本专利技术的目的在于解决上述问题,提供了一种基于环签名和代理重加密的区块链隐私保护方法和系统,解决了当前区块链技术在使用过程中涉及的用户隐私泄露问题,在实现区块链用户隐私保护的同时,实现交易发送者对交易内容的密文控制,防止攻击者分析出交易双方地址的关系,可用于当前区块链系统中实现加密数据的细粒度共享。本专利技术的技术方案为:本专利技术揭示了一种基于环签名和代理重加密的区块链隐私保护方法,方法包括:步骤一:选定系统安全参数,并将安全参数向所有用户进行广播;步骤二:交易发送方获取交易接收方的公钥,然后通过重加密算法生成重加密密钥rki→j;步骤三:交易发送方选择若干用户的公钥,生成环签名σ,然后通过加密算法加密交易明文m,生成第一层密文Ci,再将第一层密文Ci和重加密密钥rki→j发送给代理节点;步骤四:代理节点首先验证环签名,若不满足要求则交易发起失败,否则,通过重加密密钥rki→j将第一层密文Ci转换成第二层密文Cj,同时对第二层密文Cj进行签名后发送给交易接收方;步骤五:交易接收方通过自己的私钥对第二层密文Cj进行解密,若不同意则交易失败,否则,完成交易,并将交易结果发送给矿工节点;步骤六:矿工节点验证交易有效性后将交易打包存入区块中,再通过挖矿将区块上链。根据本专利技术的基于环签名和代理重加密的区块链隐私保护方法的一实施例,在步骤一中,所要设定的系统安全参数为:明文空间为k0小于k,输入安全参数1k,输出2个阶数为p的乘法有限循环群G1、G2,p为素数,g,h,u,v是G1的生成元,g2是G2的生成元,并且映射出一个双线性配对映射e:G1×G1→G2,存在同构映射ψ:G1→G2,并且有ψ(g)=g2,选取一个目标防碰撞的散列函数H:{0,1}*→G1,则系统参数产生函数输出一个全局公开的参数par(p,G1,G2,g,h,u,v,e,H)。根据本专利技术的基于环签名和代理重加密的区块链隐私保护方法的一实施例,步骤二包括:区块链系统里的用户Ui(1≤i≤n)随机选择计算用户的公钥定义为pki∈G2,私钥为ski=xi∈Zp;交易发送方Ui获取交易接收方Uj的公钥pkj,生成重加密密钥根据本专利技术的基于环签名和代理重加密的区块链隐私保护方法的一实施例,步骤三包括:(1)区块链的特定用户即指定的交易发送方Um(i=m),选择节点的信用行为可信度相似的用户为环成员,其中信用行为可信度公式为:其中,wi表示节点i所有的操作行为,其中bi表示节点i所有的违规操作行为,其中ri表示节点i所有的举报操作行为;(2)交易发送方Um对交易明文Tx={0,1}*进行签名,环成员随机选择,令输出环签名发送给代理节点,其中tx=H(Tx)∈G1,H为一个目标防碰撞的散列函数,H:{0,1}*→G1,ψ:G1→G2为同构映射,并且有ψ(g)=g2,{0,1}*表示任意长度的0、1字符串,Zp是乘法群;发送方根据安全参数和交易发送方的公钥,进行哈希函数以及双线性对运算,随机选择r∈Zp,输出第1层密文Ci=(C1,C2,C3,C4,C5,C6,σ),其中,C1=gr,C2=pkir,C3=(Tx||r1)·e(g,g)r,C4=e(pks·u,hr·v)r,C5=(hr·v)r,C6=H(Tx||r1),其中:G1、G2为2个阶数为p的乘法有限循环群,p为素数,g,h,u,v是G1的生成元,g2是G2的生成元,e:G1×G1→G2为一个双线性配对映射,H:{0,1}*→G1为一个目标防碰撞的散列函数,e(g,g)表示双线性运算,||表示级联操作。根据本专利技术的基于环签名和代理重加密的区块链隐私保护方法的一实施例,步骤四进一步包括:代理节点通过验证是否成立,若不成立则拒绝该签名,否则进入以下操作:1)首先验证是否成立,如果不成立,输出错误的符号⊥,否则进行2);2)计算C2′=e(C2,rki→j)=e(pkj,g)r并输出针对公钥pkj的第二层密文Cj=(C1′,C2′,C3′,C4′,C5′,C′6,σ),其中,C1′=C1,C2′=e(pkj,g)r,C3′=C3,C4′=C4,C5′=C5,C6′=C6。根据本专利技术的基于环签名和代理重加密的区块链隐私保护方法的一实施例,步骤五进一步包括:1)验证是否成立,如果不成立则输出错误的符号⊥,否则进行如下计算:...

【技术保护点】
1.一种基于环签名和代理重加密的区块链隐私保护方法,其特征在于,方法包括:/n步骤一:选定系统安全参数,并将安全参数向所有用户进行广播;/n步骤二:交易发送方获取交易接收方的公钥,然后通过重加密算法生成重加密密钥rk

【技术特征摘要】
1.一种基于环签名和代理重加密的区块链隐私保护方法,其特征在于,方法包括:
步骤一:选定系统安全参数,并将安全参数向所有用户进行广播;
步骤二:交易发送方获取交易接收方的公钥,然后通过重加密算法生成重加密密钥rki→j;
步骤三:交易发送方选择若干用户的公钥,生成环签名σ,然后通过加密算法加密交易明文m,生成第一层密文Ci,再将第一层密文Ci和重加密密钥rki→j发送给代理节点;
步骤四:代理节点首先验证环签名,若不满足要求则交易发起失败,否则,通过重加密密钥rki→j将第一层密文Ci转换成第二层密文Cj,同时对第二层密文Cj进行签名后发送给交易接收方;
步骤五:交易接收方通过自己的私钥对第二层密文Cj进行解密,若不同意则交易失败,否则,完成交易,并将交易结果发送给矿工节点;
步骤六:矿工节点验证交易有效性后将交易打包存入区块中,再通过挖矿将区块上链。


2.根据权利要求1所述的基于环签名和代理重加密的区块链隐私保护方法,其特征在于,在步骤一中,所要设定的系统安全参数为:
明文空间为k0小于k,输入安全参数1k,输出2个阶数为p的乘法有限循环群G1、G2,p为素数,g,h,u,v是G1的生成元,g2是G2的生成元,并且映射出一个双线性配对映射e:G1×G1→G2,存在同构映射ψ:G1→G2,并且有ψ(g)=g2,选取一个目标防碰撞的散列函数H:{0,1}*→G1,则系统参数产生函数输出一个全局公开的参数par(p,G1,G2,g,h,u,v,e,H)。


3.根据权利要求2所述的基于环签名和代理重加密的区块链隐私保护方法,其特征在于,步骤二包括:
区块链系统里的用户Ui(1≤i≤n)随机选择计算用户的公钥定义为pki∈G2,私钥为ski=xi∈Zp;
交易发送方Ui获取交易接收方Uj的公钥pkj,生成重加密密钥


4.根据权利要求3所述的基于环签名和代理重加密的区块链隐私保护方法,其特征在于,步骤三包括:
(1)区块链的特定用户即指定的交易发送方Um(i=m),选择节点的信用行为可信度相似的用户为环成员,其中信用行为可信度公式为:



其中,wi表示节点i所有的操作行为,其中bi表示节点i所有的违规操作行为,其中ri表示节点i所有的举报操作行为;
(2)交易发送方Um对交易明文Tx={0,1}*进行签名,环成员随机选择,令输出环签名发送给代理节点,
其中tx=H(Tx)∈G1,H为一个目标防碰撞的散列函数,H:{0,1}*→G1,ψ:G1→G2为同构映射,并且有ψ(g)=g2,{0,1}*表示任意长度的0、1字符串,Zp是乘法群;
发送方根据安全参数和交易发送方的公钥,进行哈希函数以及双线性对运算,随机选择输出第1层密文Ci=(C1,C2,C3,C4,C5,C6,σ),其中,C1=gr,C2=pkir,C3=(Tx||r1)·e(g,g)r,C4=e(pks·u,hr·v)r,C5=(hr·v)r,C6=H(Tx||r1),
其中:G1、G2为2个阶数为p的乘法有限循环群,p为素数,g,h,u,v是G1的生成元,g2是G2的生成元,e:G1×G1→G2为一个双线性配对映射,H:{0,1}*→G1为一个目标防碰撞的散列函数,e(g,g)表示双线性运算,||表示级联操作。


5.根据权利要求4所述的基于环签名和代理重加密的区块链隐私保护方法,其特征在于,步骤四进一步包括:
代理节点通过验证是否成立,若不成立则拒绝该签名,否则进入以下操作:
1)首先验证是否成立,如果不成立,输出错误的符号上,否则进行2);
2)计算C2′=e(C2,rki→j)=e(pkj,g)r并输出针对公钥pkj的第二层密文Cj=(C1′,C2′,C3′,C4′,C5′,C′6,σ),其中,C1′=C1,C2′=e(pkj,g)r,C3′=C3,
C4′=C4,C5′=C5,C6′=C6。


6.根据权利要求5所述的基于环签名和代理重加密的区块链隐私保护方法,其特征在于,步骤五进一步包括:
1)验证是否成立,如果不成立则输出错误的符号上,否则进行如下计算:
2)计算
3)解析Tx‘为(Tx||r1),Tx为k0bit,r1为(k-k0)bit;
4)验证C6=H1(Tx||r1)是否成立,如果不成立,输出错误的符号⊥,否则输出Tx。


7.一种基于环签名和代理重加密的区块链隐私保护系统,...

【专利技术属性】
技术研发人员:谭书华朱元亮李潇孙莎莎任何晶梅育荣孙知信孙哲
申请(专利权)人:圆通速递有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1