基于标签加密与零知识证明的联盟链交易隐私保护方法技术

技术编号:33550724 阅读:14 留言:0更新日期:2022-05-26 22:46
本发明专利技术公开了一种基于标签加密与零知识证明的联盟链交易隐私保护方法,属于区块链隐私保护技术领域。本方法采用标签加密与零知识证明的方式,解决了联盟链中用户身份信息泄漏问题,以及联盟链中存在恶意交易的问题。本方法提出了一种特殊的交易机制,能够在支持审计的条件下有效保护用户身份隐私数据。本方法不仅允许用户在联盟链中进行匿名交易,而且实现了对可疑交易的分布式高效追踪,同时达到有效监管和身份隐私保护,实现两方面的平衡。实现两方面的平衡。实现两方面的平衡。

【技术实现步骤摘要】
基于标签加密与零知识证明的联盟链交易隐私保护方法


[0001]本专利技术涉及一种联盟链交易隐私保护方法,具体涉及一种基于标签加密与零知识证明的联盟链交易隐私保护方法,属于区块链隐私保护


技术介绍

[0002]随着联盟链技术广泛应用于金融、医疗、供应链等行业,企业级联盟链应用层出不穷。联盟链区别于一般区块链的地方在于,联盟链在一般区块链的基础上附加了身份管理层,只有持有被联盟许可的合法身份的用户才可以加入联盟链网络,用户产生交易时需提供合法的身份信息。这意味着联盟链用户身份存在着泄露风险,攻击者可以轻易获取联盟链用户身份信息,根据身份信息分析该用户交易轨迹,导致联盟链用户隐私受到严重威胁。
[0003]为了解决联盟链用户身份信息泄漏问题,近年来有不少针对联盟链用户身份隐私保护的方案被提出。但是,现有的方案普遍侧重于用户身份的匿名隐藏,但并未考虑到完全匿名交易所带来的其它风险。例如,恶意的联盟链用户会利用交易的匿名性产生恶意的交易,对现实造成不良影响,却无法被追踪。
[0004]因此,寻找一种能够平衡联盟链用户交易匿名性及交易可追溯性的方案,是非常必要的。

技术实现思路

[0005]本专利技术的目的是针对现有技术存在的不足,为解决联盟链中用户身份信息泄漏问题,以及联盟链中存在恶意交易的问题,创造性地提出一种基于标签加密与零知识证明的联盟链交易隐私保护方法。
[0006]本专利技术的创新点在于:采用标签加密与零知识证明的技术手段,实现联盟链交易隐私保护。不仅允许用户在联盟链中进行匿名交易,而且实现了对可疑交易的分布式高效追踪。
[0007]本专利技术采用以下技术方案实现。
[0008]基于标签加密与零知识证明的联盟链交易隐私保护方法,包括以下步骤:
[0009]步骤1:对联盟链系统进行初始设置,审计用户审计私钥分配。
[0010]具体地,步骤1包括以下步骤:
[0011]步骤1.1:认证机构CA设置验证发放公钥证书所需要的公私钥对(PK,SK),PK表示公钥、SK表示私钥,并在联盟链系统中广播其公钥PK。
[0012]其中,认证机构CA代表一个获得授权的认证中心,负责账号的注册和管理。
[0013]步骤1.2:联盟链系统根据参数t和m,设置生成基于标签的公钥加密的公钥PKT、m个私钥v
i
和m个验证公钥vk
i
(i=1,..,m)。其中,t为阈值,t≤m。
[0014]步骤1.3:CA将m个私钥v
i
通过安全方式发送给m个审计用户AU
i
并由AU
i
保存,联盟链系统只保存公钥PKT和m个验证公钥vk
i

[0015]其中,审计用户是联盟链系统中账本追溯问责的参与者,可以由联盟链系统指定
或由所有交易用户选举获得。通过所有审计用户的合作,完成联盟链系统可疑账本的追溯认证,从而达到问责的目的。
[0016]步骤1.4:联盟链系统设置零知识证明的相关参数,如安全参数、时间参数等。
[0017]步骤1.5:CA设置针对初始交易用户认证的公私钥对PKI和SKI,PKI表示公钥、SKI表示私钥,并由联盟链系统来保存并公布PKI。
[0018]步骤2:交易用户进行账号初始注册与认证。
[0019]具体地,步骤2包括以下步骤:
[0020]步骤2.1:当交易用户U首次加入联盟链系统时,其向CA发送认证消息、相关身份资料和身份pk
u

[0021]步骤2.2:CA认证通过后,向交易用户U发送一个针对其身份pk
u
的证书CA
u
和一个利用CA私钥SKI对交易用户U的身份pk
u
生成的一个认证码CAI
u

[0022]其中,认证码CAI
u
的作用是区别于假名身份认证,防止在联盟链系统中攻击者伪造身份。
[0023]步骤3:交易用户假名身份注册。
[0024]具体地,步骤3包括以下步骤:
[0025]步骤3.1:交易用户U根据联盟链系统设置,随机选择n个数字作为私钥集Usk=sk
i
,i=1,..,n。然后,计算出所有私钥sk
i
对应的公钥pk
i
,组成随机密钥对集Um=(pk
i
,sk
i
)。
[0026]步骤3.2:交易用户U通过CA认证完成假名身份认证。
[0027]具体地,步骤3.2包括以下步骤:
[0028]步骤3.2.1:交易用户U向CA发送首次注册时的身份pk
u
和对应证书CA
u
,向CA验证自己的身份,并向CA发送要认证的假名数n。
[0029]步骤3.2.2:CA认证通过后,给交易用户U发送认证通过消息;
[0030]步骤3.2.3:交易用户U首先从自己生成的密钥对集合Um中选择一个pk
i
,并将设置消息m为pk
i
,然后与CA进行交互签名生成,其中,U作为签名中的接收方,CA作为签名者。交互完成后,交易用户U为pk
i
获得一个认证的S
i
,S
i
是CA的签名。
[0031]步骤3.2.4:对所有假名重复执行步骤3.2.3,从而为n个假名pk
i
获得系统认证证书S
i

[0032]步骤4:用户进行交易。
[0033]具体地,步骤4包括以下步骤:
[0034]步骤4.1:交易用户U首先从密钥对集合Um中选择一个公钥pk
i
和其对应证书S
i
,作为本次交易的发起方。
[0035]步骤4.2:利用基于标签的公钥加密方式,加密用户的pk
u
,得到密文C
u
,加密的公钥为PKT,标签为pk
i

[0036]步骤4.3:通过基于非交互式零证明方式,调用零知识证明prove算法输入(prove,x,w)产生证据π,其中,x=(C
u
,PK,PKI),w=(pk
i
,S
i
,CAI
u
),x为公开输入参数,w为秘密证据。
[0037]步骤4.4:利用私钥sk
i
基于签名算法生成对(tx,π,C
u
,pk
i
)的签名σs,其中,tx为交易的具体内容。
[0038]步骤4.5:将TX=(tx,π,C
u
,pk
i
,σs)作为完整的交易,发送到联盟链系统。
[0039]步骤4.6:联盟链系统验证TX交易合法性,如果合法就将交易记录在链上账本,交易结束;否则,交易失败本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于标签加密与零知识证明的联盟链交易隐私保护方法,其特征在于,包括以下步骤:步骤1:对联盟链系统进行初始设置,审计用户审计私钥分配;具体地,步骤1包括以下步骤:步骤1.1:认证机构CA设置验证发放公钥证书所需要的公私钥对(PK,SK),PK表示公钥、SK表示私钥,并在联盟链系统中广播其公钥PK;其中,认证机构CA代表一个获得授权的认证中心,负责账号的注册和管理;步骤1.2:联盟链系统根据参数t和m,设置生成基于标签的公钥加密的公钥PKT、m个私钥v
i
和m个验证公钥vk
i
,i=1,..,m;其中,t为阈值,t≤m;步骤1.3:CA将m个私钥v
i
通过安全方式发送给m个审计用户AU
i
并由AU
i
保存,联盟链系统只保存公钥PKT和m个验证公钥vk
i
;其中,审计用户是联盟链系统中账本追溯问责的参与者,通过所有审计用户的合作,完成联盟链系统可疑账本的追溯认证;步骤1.4:联盟链系统设置零知识证明的相关参数,包括安全参数和时间参数;步骤1.5:CA设置针对初始交易用户认证的公私钥对PKI和SKI,PKI表示公钥、SKI表示私钥,并由联盟链系统来保存并公布PKI;步骤2:交易用户进行账号初始注册与认证,包括以下步骤:步骤2.1:当交易用户U首次加入联盟链系统时,其向CA发送认证消息、相关身份资料和身份pk
u
;步骤2.2:CA认证通过后,向交易用户U发送一个针对其身份pk
u
的证书CA
u
和一个利用CA私钥SKI对交易用户U的身份pk
u
生成的一个认证码CAI
u
;其中,认证码CAI
u
的作用是区别于假名身份认证,防止在联盟链系统中攻击者伪造身份;步骤3:交易用户假名身份注册,包括以下步骤:步骤3.1:交易用户U根据联盟链系统设置,随机选择n个数字作为私钥集Usk=sk
i
,i=1,..,n;然后,计算出所有私钥sk
i
对应的公钥pk
i
,组成随机密钥对集Um=(pk
i
,sk
i
);步骤3.2:交易用户U通过CA认证完成假名身份认证;步骤4:用户进行交易,包括以下步骤:步骤4.1:交易用户U首先从密钥对集合Um中选择一个公钥pk
i
和其对应证书S
i
,作为本次交易的发起方;步骤4.2:利用基于标签的公钥加密方式,加密用户的pk
u
,得到密文C
u
,加密的公钥为PKT,标签为pk
i
;步骤4.3:通过基于非交互式零证明,调用零知识证明prove算法输入(prove,x,w)产生证据π,其中,x=(C
u
,PK,PKI),w=(pk
i
,S
i
...

【专利技术属性】
技术研发人员:盖珂珂汤昊坤郭云伟徐蕾蒋芃祝烈煌
申请(专利权)人:北京理工大学
类型:发明
国别省市:

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

1