基于盲签名的许可区块链隐私保护方法技术

技术编号:20224440 阅读:43 留言:0更新日期:2019-01-28 22:28
本发明专利技术公开一种基于盲签名的许可区块链隐私保护方法,对于交易内容,通过Hash函数将交易信息m整体盲化加密,然后利用交易双方地址私钥对交易进行签名,保证交易信息只有交易双方可以查看,然后只将数字资产唯一DAID和交易的盲签名以及背书节点的背书公钥记录在区块链之上;对于交易用户的身份信息,通过写入区块链的信息只有盲签名和提供盲签名的第三方公钥地址以及数字资产的ID,后两者与交易信息和用户信息无关,而盲签名具有不可伪造性和不可提取性,所以用户的身份信息隐私可以受到保护。本发明专利技术能够让许可区块链在交易的时候不仅交易双方的身份信息隐私保护,而且使得交易的信息得到隐私保护。

Privacy Protection Method of Permission Block Chain Based on Blind Signature

The invention discloses a method of privacy protection based on blind signature of license block chain. For the transaction content, the transaction information m is encrypted blindly by Hash function, and then the transaction is signed by the address private key of both sides of the transaction to ensure that the transaction information can only be viewed by both sides of the transaction, and then only the blind signature of the unique DAID of the digital asset and the transaction and the endorsement public key of the endorsement node are used. For the identity information of the transaction user, only the blind signature and the third party public key address providing the blind signature and the ID of the digital assets are recorded on the block chain. The latter two have nothing to do with the transaction information and the user information, while the blind signature is unforgeable and non-extractable, so the privacy of the user's identity information can be protected. The invention can not only protect the identity information privacy of both sides of the transaction, but also protect the information of the transaction.

【技术实现步骤摘要】
基于盲签名的许可区块链隐私保护方法
本专利技术涉及隐私保护
,具体涉及一种基于盲签名的许可区块链隐私保护方法。
技术介绍
区块链作为比特币的底层技术,在近些年掀起一股研究热潮。本质上区块链是一种去中心化的数据库,由于其防篡改,良好的开放性,以及自治性匿名等特征,与当前社会模式截然不同,广受人们的追捧,更是被人誉为“第四次工业革命”。区块链解决的是当前社会的信任问题,利用一定的密码学技术和共识机制,解决在不可信的环境完成公平可信的操作。但是当前区块链还有着相当严重的隐私泄露问题。特别是区块链的交易层,包含了大量的敏感交易信息,比如用户的身份公钥,交易信息等,特别是许可区块链上的交易信息,可能涉及到商业机密。以区块链的第一个公有链应用比特币为例,每个参与者可以获得完整的数据备份,所有的数据都是公开透明的,这是区块链的优势特点,但是也是比特币的一个致命弱点。不法攻击者以特定的方法分析比特币的账本数据,可以将公钥地址与比特币用户的真实地址对应起来。当前用在以比特币为代表的公有链隐私保护方法主要有零知识证明、混币、环签名等方法。再以许可区块链超级账本Fabric为例,Fabric以细粒度保护隐私,即账本网络中若干成员可以协商构建一个专属通道与外部隔离,通道外的节点无法看到其中的账本和交易数据,极大地提高了隐私性。但是这样就不能跨通道(跨链)进行交易,即使在通道内部的peer节点也能看到与自己无关的全部交易数据。综上所述,无论是公有链还是许可区块链,都存在一定的隐私保护问题,造成这些问题的原因主要有两个:(1)交易可追溯性。当前的区块链交易往往是以上一笔交易的输出,做为下一笔交易的输入,每一笔交易都能追溯到上一笔交易。区块链攻击者可以通过一定的社会工程学的办法,利用区块链的可追溯性,将地址公钥和用户的真实身份对应起来。(2)账本全局性。为了达到数字资产的不可篡改和不可伪造,区块链的每一个节点都拥有包含所有数据的全局账本,通过分析这些数据,可以得到用户的隐私信息。
技术实现思路
本专利技术所要解决现有的许可区块链在隐私保护的不足的问题,提供一种基于盲签名的许可区块链隐私保护方法,其能够让许可区块链在交易的时候不仅交易双方的身份信息隐私保护,而且使得交易的信息得到隐私保护。为解决上述问题,本专利技术是通过以下技术方案实现的:基于盲签名的许可区块链交易层隐私保护方法,包括步骤如下:步骤1、用户A和用户B对数字资产DA进行交易,交易前,用户A是数字资产的拥有者;步骤2、用户A和用户B分别对交易t=(DA,yA,yB,TX)进行普通签名,得到普通签名后的交易t1=(DA,δA,δB,H(t)P,yA,yB);其中用户A的普通签名方式为:其中用户B的普通签名方式为:步骤3、用户A和用户B对交易内容进行普通签名之后,用户A将普通签名后的交易t1提交给背书节点;步骤4、背书节点提取普通签名后的交易t1中的信息,并分别验证用户A和用户B对交易签名的有效性,验证通过之后将经过背书的交易返回交易双方;其中用户A验证通过的条件为:e(H(t)P+yA,δA)=e(P,P)其中用户B验证通过的条件为:e(H(t)P+yB,δB)=e(P,P)步骤5、用户A随机选择一个随机数α,并计算隐藏因子ω和用户A的秘密因子sA:ω=αPsA=H1(yA,yB)α步骤6、用户A通过线下可靠途径将二元组(ω,sA)发给用户B;步骤7、用户B计算用户B的秘密因子sB:步骤8、用户A通过申请的方式向背书节点申请盲化临时密钥对(x′M,y′M)和背书公钥yM;同时用户B也通过申请的方式向背书节点申请盲化临时密钥对(x″M,y″M)和背书公钥yM;步骤9、用户A和和用户B分别对交易进行盲签名,得到盲签名后的交易其中用户A的盲签名方式为:其中用户B的盲签名方式为:步骤10、盲签名生成之后,用户A将用户A对交易的普通签名δA、用户A对交易的盲签名公钥yA和盲化临时密钥对(x′M,y′M)通过可靠途径发给用户B;步骤11、用户A将盲签名后的交易T发给排序节点,排序节点收集一段时间内的交易,并将交易打包成区块后发送给主节点和记账节点,主节点和记账节点通过共识机制将区块加入到区块链当中;步骤12、当包含交易T的区块成功加入区块链之后,交易正式完成,用户B变成数字资产DA的拥有者;步骤13、当用户B需要对数字资产DA再次交易时,用户B同时通过以下两个公式的验证,即可认领数字资产DA,将其再次交易:其中,δA表示用户A对交易的普通签名,δB表示用户B对交易的普通签名,表示用户A对交易的盲签名,表示用户B对交易的盲签名;(xA,yA)表示用户A的密钥对,xA表示用户A的私钥,yA表示用户A的公钥,(xB,yB)表示用户B的密钥对,xB表示用户B的私钥,yB表示用户B的公钥,(x′M,y′M)表示用户A向背书节点申请的盲化临时密钥对,(x″M,y″M)表示用户B向背书节点申请的盲化临时密钥对,H(*)表示普通哈希函数,H1(*)表示专门针对双线性对的哈希函数,e(*)表示一个双线性对函数,yM表示背书节点的公钥,P表示循环加法群的生成元,t表示交易内容,α表示随机数,ω表示隐藏因子,sA表示用户A的秘密因子,sB表示用户B的秘密因子,DA表示数字资产,TX表示交易的相关信息。与现有技术相比,本专利技术具有如下特点:1、交易内容。在区块链的第一个应用比特币项目中,交易数据是完全公开的,其中包括付款人地址、收款人地址、交易金额等敏感隐私信息,虽然这些信息通过Hash加密,但是通过社会工程学的方法,可以将这些信息与用户的真实身份对应起来。假如许可区块链直接采取这样的方式,这将是灾难性。例如许可区块链公司与公司之间的数字资产交易,如果采取同样的方式,一旦被人破解了,就很有可能泄露商业机密。在本专利技术中,我们通过Hash函数将交易信息m整体盲化加密,然后利用交易双方地址私钥对交易进行签名,保证交易信息只有交易双方可以查看,然后只将数字资产唯一DAID和交易的盲签名以及背书节点的背书公钥记录在区块链之上。2、交易用户的身份信息。在现有的区块链项目中,多数采取的使用密钥的公钥做为地址公钥。区块链地址是用户在区块链系统中使用的假名,通常作为交易的输入账号或者输出账号。区块链系统中地址是由用户自行生成,与用户身份信息无关,用户创建和使用地址不需要第三方参与。因此,相对于传统的账号(例如银行卡号),区块链地址具有较好的匿名性。但是,用户在使用区块链地址参与区块链业务时,有可能泄露一些敏感信息,例如区块链交易在网络层的传播轨迹,这些信息有可能被用于推测区块链地址对应的真实身份。在本专利技术当中,我们写入区块链的信息只有盲签名和提供盲签名的第三方公钥地址以及数字资产的ID,后两者与交易信息和用户信息无关,而盲签名具有不可伪造性和不可提取性,所以用户的身份信息隐私可以受到保护。附图说明图1为许可区块链结构示意图。图2为交易流程图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实例,并参照附图,对本专利技术进一步详细说明。如图1,假设在某条许可区块链中,含有n个节点,这些节点中分别有背书节点,排序节点,主节点,记账节点。背书节点负责将交易进行背书验证,排序节点负责收集交易,并将交易打包成块,记本文档来自技高网
...

【技术保护点】
1.基于盲签名的许可区块链隐私保护方法,其特征是,包括步骤如下:步骤1、用户A和用户B对数字资产DA进行交易,交易前,用户A是数字资产的拥有者,用户A和用户B均知晓交易内容;步骤2、用户A和用户B分别对交易进行普通签名,得到用户A对交易的普通签名和用户B对交易的普通签名;步骤3、普通签名之后,用户A将普通签名后的交易提交给背书节点;步骤4、背书节点提取普通签名后的交易中的信息,并分别验证用户A和用户B对交易签名的有效性,验证通过之后将经过背书的交易返回交易双方;步骤5、用户A生成隐藏因子和用户A的秘密因子:步骤6、用户A通过线下可靠途径将隐藏因子和用户A的秘密因子发给用户B;步骤7、用户B根据用户A发来的隐藏因子和用户A的秘密因子,生成用户B的秘密因子;步骤8、用户A通过申请的方式向背书节点申请背书公钥和用户A的盲化临时密钥;同时用户B也通过申请的方式向背书节点申请背书公钥和用户B的盲化临时密钥;步骤9、用户A和和用户B分别对交易进行盲签名,得到用户A对交易的盲签名和用户B对交易的盲签名;步骤10、盲签名之后,用户A将用户A对交易的普通签名、用户A对交易的盲签名、用户A的公钥、以及用户A的盲化临时密钥通过可靠途径发给用户B;步骤11、用户A将盲签名后的交易发给排序节点,排序节点收集一段时间内的盲签名后的交易,并将盲签名后的交易打包成区块后发送给主节点和记账节点,主节点和记账节点通过共识机制将区块加入到区块链当中;步骤12、当包含盲签名后的交易的区块成功加入区块链之后,交易正式完成,用户B变成数字资产的拥有者。...

【技术特征摘要】
1.基于盲签名的许可区块链隐私保护方法,其特征是,包括步骤如下:步骤1、用户A和用户B对数字资产DA进行交易,交易前,用户A是数字资产的拥有者,用户A和用户B均知晓交易内容;步骤2、用户A和用户B分别对交易进行普通签名,得到用户A对交易的普通签名和用户B对交易的普通签名;步骤3、普通签名之后,用户A将普通签名后的交易提交给背书节点;步骤4、背书节点提取普通签名后的交易中的信息,并分别验证用户A和用户B对交易签名的有效性,验证通过之后将经过背书的交易返回交易双方;步骤5、用户A生成隐藏因子和用户A的秘密因子:步骤6、用户A通过线下可靠途径将隐藏因子和用户A的秘密因子发给用户B;步骤7、用户B根据用户A发来的隐藏因子和用户A的秘密因子,生成用户B的秘密因子;步骤8、用户A通过申请的方式向背书节点申请背书公钥和用户A的盲化临时密钥;同时用户B...

【专利技术属性】
技术研发人员:李先贤李春培刘鹏
申请(专利权)人:广西师范大学
类型:发明
国别省市:广西,45

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

1