一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种区块链系统用户身份匿名方法、追踪方法和系统与流程

2021-10-27 13:57:00 来源:中国专利 TAG:身份 追踪 匿名 方法 用户


1.本发明属于信息安全技术领域,具体为一种区块链系统用户身份匿名方法、追踪方法和系统,可实现用户身份的匿名和认证,只有监管机构有权追踪到其身份。


背景技术:

2.区块链作为比特币系统的核心技术,受到企业、科研机构、政府的广泛关注和研究。目前对于区块链没有统一的定义,一般认为区块链是一种分布式的公开数据库,具有防伪、防篡改、交易可追溯、去信任化等特点。区块链的诸多优点吸引了不少企业开发基于区块链的应用。区块链技术目前主要应用在金融领域,另外在保险行业、物流、版权保护等领域已初步有一些应用。
3.到目前为止,比特币仍然是区块链最典型的应用,比特币系统中通过用户大量自由生成交易地址来实现用户真实身份的保密,即实现了匿名性。区块链上的交易内容包括用户的地址、转账金额等都是公开透明的,可以让所有参与节点对交易进行验证和记录。区块链账本公开透明的特点方便了节点对交易的验证,但同时带来了用户的隐私保护问题。在e.felten等人所著的“bitcoin and cryptocurrency technologies:a comprehensive introduction.in princeton university pres,2016.”中提到,由于区块链数据的公开透明性,通过大量分析交易和网络数据,可以设计去匿名方案。在实际应用中,企业或用户可能不希望自己的交易信息被公开的放在链上,包括交易双方的身份、交易金额、交易事由等内容。隐私问题对于个人和企业都至关重要,尤其在很多金融系统、军事领域更是如此。那么该如何保证区块链上用户身份和数据的机密性是区块链走向实际应用面临的一项重要挑战。在此基础上的监管问题也受到大家的关注,因为隐私保护可能会助长恶意用户的行为。本发明针对区块链用户身份保护和监管进行研究,提出了区块链用户匿名与可追踪技术,在保护用户身份的同时,只有监管机构可以追踪用户的身份。
4.目前区块链隐私保护方法大致可分为三类:基于混合技术、基于环签名和基于零知识证明。下面分别对这三类进行介绍。
5.1)基于混合技术:1981年,chaum首次提出了混合网络的概念并给出基本的混合协议“untraceable electronic mail,return addresses,and digital pseudonyms.”混合技术目的是为了打乱输入和输出之间的对应关系,使得其他用户不知道一笔钱来自哪个用户,即实现了发送者的匿名性。在这方面有很多相关的工作,其中又分为带中心的混合和去中心的混合。混合技术适用于多个节点同时有交易任务且交易金额一样的情况下。
6.2)基于环签名:2001年,rivest,shamir和tauman三位密码学家首次提出了环签名“ring signatures of sub-linear size without random oracles[c]”。环签名是一种简化的群签名,环签名中只有环成员没有管理者,不需要环成员间的合作。其他用户只知道签名是由环中的用户所签,但不知道是具体是哪个用户。cryptonote就采用环签名方案实现了发送者身份的隐藏,采用隐身地址的方法实现了接收者的身份隐藏。隐身地址的方法具体来说就是发送方通过接收方的公开信息生成一个随机地址作为接收方的地址,接收方可
以通过自己的秘密信息恢复出相应的私钥。因此每次接收者的地址在变化,使得其他节点不能链接哪些交易是发向同一个接收者的,实现了交易的不可关联性。门罗币在cryptonote基础上实现,后续提出了金额隐藏的方案,且实现了交易可链接的性质,采用了可链接的环签名技术。环签名和隐身地址方法相结合能够保证发送者和接收者的匿名性,发送交易的用户只需要知道环中其他成员的公钥,不像混合技术需要其他用户同时参与交易。
[0007]
3)基于零知识证明:为了提供更好的匿名性,miers等人在所著的论文“zerocoin:anonymous distributed e-cash from bitcoin.”中基于零知识证明设计了一种扩展的比特币系统zerocoin,使得输入的比特币地址与输出的比特币地址之间没有直接关系。zerocoin中币值金额是固定的,无法实现金额的拆分。ben-sasson等人在2014年所著的的论文“zerocash:decentralized anonymous payments from bitcoin.”提出了一种新的匿名数字货币zerocash。zerocash建立在zerocoin的基础上并对其进行了改进。它采用简洁的非交互零知识证明(zk-snarks)和同态承诺等密码工具,被称为是一种完全匿名的货币。这种方法提供了很好的隐私保护,不过目前来看证明的实现比较复杂,产生证明效率较低,离实际应用还有一段距离。
[0008]
上述三类技术关注隐私保护问题的研究,都没有考虑用户身份的监管问题。后续有一些工作研究用户身份的追踪问题,2014年,ateniese等人在所著的论文“certified bitcoins”中设计了一个比特币的认证系统,使得用户可以获得可信机构颁发的证书,从而提升其地址的可信度,用户的身份可以被可信机构追踪。el defrawy等人在所著的论文“founding digitalcurrency on secure computation”中基于安全多方计算设计了多个服务器协同存储账本和监管的方案。多个服务器拥有用户身份的秘密分享份额,只有大于门限个数的服务器才可以恢复用户身份。zheng等人在做著的论文“linkable group signature for auditing anonymous communication”设计了可链接的群签名方案,用于实现用户身份的可追踪,交易内容的可审计。群签名方案满足匿名性和可追踪性。验证者可以验证群签名的确是由群中的成员所签,但不知道是谁。群管理者能够获得签名者的身份(这里公钥即身份)。ateniese等人和zheng等人的工作都是将用户公钥和证书绑定,监管中心通过证书来追踪公钥即可知道用户身份。然而目前大多区块链系统中(比特币、以太坊、门罗币等),用户公钥不断更新变化,依据ateniese等人和zheng等人的方法,用户每产生一对密钥都需要去中心注册,增加了用户和监管中心的负担。


技术实现要素:

[0009]
本发明的目的在于提供一种区块链系统中用户身份匿名和可追踪的方法,使得用户只需要到监管中心注册一次获得相应的证书。该方法保持区块链用户的匿名性质,在此基础上增加了可追踪的功能,同时不增加原系统的负担,用户产生证明简洁、证明验证高效,监管中心的追踪简单。
[0010]
本发明采用的技术方案如下:
[0011]
一种区块链系统用户身份匿名方法,适用于区块链网络中的用户端,包括以下步骤:
[0012]
将用户的标签属性和用户的身份发送至区块链网络中的监管中心,以获取证书;
[0013]
采用监管中心的公钥加密用户的标签属性,并进行随机化,得到用户的公钥;
[0014]
将从监管中心获取的证书进行随机化;
[0015]
根据用户的公钥和随机化后的证书产生交易并上传至区块链中。
[0016]
进一步地,所述证书由监管中心采用以下步骤产生:
[0017]
随机选择r

z
p*
,计算a=f-r
,b=(u
i
·
h)
r
z,证书cert:=(a,b);
[0018]
其中,z
p*
表示模p的乘法群,u
i
表示用户的标签属性,f,h,z为随机选择的群元素,a为证书前半部分,b为证书后半部分。
[0019]
进一步地,所述采用监管中心的公钥加密用户的标签属性,并进行随机化,得到用户的公钥,包括:
[0020]
随机选择r

z
p
,计算密文c1=g
r
,c2=u
i
a
r
;其中a为监管中心的公钥,u
i
表示用户的标签属性,g为群g的生成元;
[0021]
将用户的公钥设置为pk=(c1,c2)。
[0022]
进一步地,所述将从监管中心获取的证书进行随机化,包括:
[0023]
随机选择ρ

z
p
,计算随机化之后的证书记为cert'=(a',b'),并计算r=a'
r
;其中tag
i
表示用户的私密标签。
[0024]
进一步地,通过证明π保证用户的公钥pk是认证过的,且用户有公钥所对应的秘密(r,tag
i
),其中证明π采用关于知识的签名技术实现。
[0025]
进一步地,所述根据用户的公钥和随机化后的证书产生交易,生成的交易为tx=(pk,a',b',r,m,π),其中m表示交易内容。
[0026]
一种区块链系统用户身份追踪方法,适用于区块链网络中的监管中心,包括以下步骤:
[0027]
接收区块链网络中的用户端发送的用户的标签属性和用户的身份,并保存到注册列表;
[0028]
采用监管中心的私钥解密区块链上的交易中用户的公钥,得到用户的标签属性,通过查找注册列表,找到对应的用户的身份。
[0029]
一种实现用户身份匿名和追踪的区块链系统,包括由监管中心和用户端构成的区块链网络;所述用户端采用上述本发明的方法进行用户身份匿名;所述监管中心采用上述本发明的方法进行用户身份追踪。
[0030]
一种电子装置,其包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行本发明方法中各步骤的指令。
[0031]
一种计算机可读存储介质,所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现本发明方法的各个步骤。
[0032]
本发明提出了一种实用高效的区块链用户匿名和可追踪方法,能够降低用户和监管中心的负担,具有如下优点:1)用户只需要到监管中心注册一次,能够高效地产生用户证明;2)监管机构的追踪操作简单;3)能够保持原系统的匿名性。
附图说明
[0033]
图1是在初始阶段,用户进行注册的流程图。用户i产生用户的标识tag
i
和u
i
,其中用户i给监管中心发送id
i
和u
i
及相关证明π,监管中心验证收到的消息,产生相应的证书(a,b)。监管中心将u
i
,id
i
添加到注册列表。用户i验证监管中心返回的消息,若验证通过则用户i保存(tag
i
,u
i
,a,b)。注册完成。
具体实施方式
[0034]
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本方案构造做进一步说明。
[0035]
本发明的区块链用户匿名可追踪技术,包含1初始化,2用户注册,3用户公钥的产生,4交易产生及验证,5身份追踪五部分。
[0036]
1.初始化算法setup(1
k
):
[0037]
a)监管中心产生双线性群gk:=(p,g,g
t
,e,g)

g(1
k
)

其中g为双线性群产生算法,k为系统安全参数,p为大素数,g、g
t
均为阶为p的群,g为群g的生成元,e表示双线性映射运算符,

表示左边的内容由右边的算法生成。
[0038]
b)随机选择群元素f,h,z

g,计算群g
t
中的元素t:=e(f,z);随机选择一个整数x作为elgamal加密方案的私钥,计算公钥a=g
x mod p;监管中心有一个注册列表,记为reg,初始为空。
[0039]
c)返回(mpk,msk):=((gk,f,h,t,a),(z,x))。其中,mpk表示主公钥,msk表示主私钥。
[0040]
2.用户注册
[0041]
采用groth在2007年所著的论文“fully anonymous group signatures without random oracles”中可认证签名(certified signature)思想来产生用户的证书。
[0042]
注册算法是个交互的过程,包含用户算法user和中心算法issuer,具体过程如下:
[0043]
a.用户i产生用户的标签对其中,tag
i
表示用户的私密标签,u
i
表示标签属性,i是用户的标记。其中tag
i
只有用户自己知道,用户i将u
i
、id
i
,π发给监管中心,其中π是证明其有u
i
的以g为底的指数tag
i

[0044]
b.监管中心随机选择r

z
p*
,计算a=f-r
,b=(u
i
·
h)
r
z,证书cert:=(a,b)。将证书(a,b)发送给用户,其中a为证书前半部分,b为证书后半部分。其中,z
p*
表示模p的乘法群。
[0045]
c.用户验证收到的证书。证书的验证算法记为cert.verify,即判断是否满足以下等式:
[0046][0047]
在注册算法结束后,用户拿到(tag
i
,u
i
)和相应的证书cert=(a,b)。监管中心将(u
i
,id
i
)添加到注册列表reg,注册列表reg对其他用户都是保密的。其中,id
i
是用户i的身份。
[0048]
3.用户公钥的产生
[0049]
用户用监管中心的公钥a加密自己的标签属性u
i
。采用elgamal公钥加密方案,包括以下步骤:
[0050]
随机选择r

z
p
,计算密文c1=g
r
,c2=u
i
a
r
;其中z
p
表示模p的整数加法群;
[0051]
用户将其公钥设置为pk=(c1,c2)。
[0052]
4.交易的产生和验证
[0053]
4.1)交易的产生:
[0054]
用户用公钥pk=(c1,c2)要在区块链上做某笔交易时,需证明公钥是认证过的,且用户有公钥所对应的秘密(r,tag
i
)。其中,r是步骤“3.用户公钥的产生”阶段用的随机数,tag
i
是用户的私密标签。
[0055]
a)用户计算随机化的证书,随机选择ρ

z
p
,计算随机化之后的证书记为cert'=(a',b'),计算r=a'
r

[0056]
随机化后的证书仍然满足验证等式e(a',u
i
·
h)e(f,b')=t。
[0057]
b)证明公钥是认证过的,且用户有公钥所对应的秘密(r,tag
i
)。具体需要证明r以a'为底的指数和c1以g为底的指数相同,还需要证明用户有pk=(c1,c2)的相应的指数上的信息(r,tag
i
),这些证明记为π,这里证明π采用关于知识的签名(sok)技术来实现(参考论文camenisch j.,stadler m.(1997)efficient group signature schemes for large groups.in:kaliski b.s.(eds)advances in cryptology—crypto'97.crypto 1997.lecture notes in computer science,vol 1294.springer,berlin,heidelberg)。证明过程见后面的具体实例。
[0058]
c)生成的交易为tx=(pk,a',b',r,m,π),其中m表示交易内容。
[0059]
4.2)交易的验证
[0060]
验证交易tx=(pk,a',b',r,m,π),若验证通过,则接受这笔交易,否则拒绝。
[0061]
5.身份追踪
[0062]
监管中心用其私钥x解密pk,得到u
i
的值,查找注册列表reg,找到对应的用户身份id。
[0063]
下面提供一个具体实例。本实例的区块链用户匿名可追踪技术分为了五个阶段:1.初始阶段2.用户注册3.公钥产生4.交易产生和验证5.用户追踪。具体步骤如下:
[0064]
1.初始阶段:
[0065]
监管中心产生双线性群gk:=(p,g,g
t
,e,g)

g(1
k
);
[0066]
随机选择f,h,z

g,计算t:=e(f,z);
[0067]
随机选择一个整数x作为elgamal加密方案的私钥,计算公钥a=
x mod p。
[0068]
返回(mpk,msk):=((gk,f,h,t,a),(z,x))。
[0069]
监管中心有一个注册列表,记为reg,初始为空。
[0070]
2.用户注册:
[0071]
用户随机产生一个秘密标签tag,计算u
i
=g
tag
,将u
i
,id
i
和证明π发给监管中心,并证明其有相应的tag(这里可以直接采用∑协议实现,方法是由schnorr在文献“c.p.schnorr.efficient signature generation by smart cards[j].journal of cryptology,4(3):161-174.”中提出的,是密码界公知的证明方法)。
[0072]
监管中心验证用户的身份和证明,若验证通过,计算s

z
p
,a:=f-s
,b:=(u
i
·
h)
s
z,发送证书(a,b)给用户。监管中心保存用户的注册信息(u
i
,id
i
)到注册列表,如图1所示。
[0073]
用户验证e(a,g
tag
·
h)e(f,b)=t是否成立,若是则保存(tag,a,b)。
[0074]
3.公钥产生
[0075]
用户用监管中心的公钥a加密自己的标签属性u
i
。采用elgamal公钥加密方案:
[0076]
随机选择r

z
p
,计算密文c1=g
r
,c2=u
i
a
r

[0077]
用户将其公钥设置为pk=(c1,c2)。
[0078]
4.交易产生和验证
[0079]
4.1)交易的产生:用户用公钥pk=(c1,c2)要做某笔交易时,需证明公钥是认证过的,且用户拥有公钥所对应的秘密(r,tag
i
)。交易内容记为m。
[0080]
用户产生交易的具体方法为:
[0081]
1)用户计算随机化的证书,随机选择ρ

z
p
,计算随机化之后的证书记为cert'=(a',b'),计算r=a'
r

[0082]
2)产生证明π来证明r以a'为底的指数和c1以g为底的指数相同,并证明他有pk=(c1,c2)中的相应的指数上的信息(r,tag
i
)。证明π的产生方式如下:
[0083]
证明:r'=a'
r
和c1=g
r
有相同的指数r,且其有上的指数r和tag
i

[0084]
证明者(pk,r,a',g,r,tag
i
,m):
[0085]
随机的选择k1,k2←
z
p*
,计算
[0086]
c=hash(t0,t1,t2,m);
[0087]
z1=k1 c
t
r,z2=k2 c
t
b
[0088]
证明π=(c,z1,z2)。
[0089]
其中,表示模p乘法群,c
t
表示hash函数作用在(t0,t1,t2,m)上的运算值。
[0090]
最后用户交易的形式为tx=(pk,a',b',r,m,π)
[0091]
4.2)交易的验证:
[0092]
验证交易tx=(pk,a',b',r,m,π),其中pk=(c1,c2):
[0093]
a)判断等式e(a',c2·
h)e(f,b')=t
·
e(r,a)是否成立;
[0094]
b)验证证明π:
[0095]
计算
[0096]
判断c=hash(t0',t1',t2',m)是否成立
[0097]
若a)、b)都验证通过,则接受这笔交易,否则拒绝。
[0098]
5.用户追踪
[0099]
监管中心监管区块链上某笔交易tx,追踪交易的发起者。监管中心用其私钥x解密pk,计算u
i
=c2c
1-x
,查找注册列表reg,找到u
i
对应的用户身份id
i

[0100]
综上,本发明基于elgamal公钥加密、groth的可验证签名方案、关于知识的签名(sok)设计了区块链用户匿名和可追踪方法。方案具有以下特点:
[0101]
1)用户的匿名:用户公布的交易中包含tx=(pk,a',b',r,m,π)。其中用户的公钥pk和证书a,b和相应的信息r每次都进行随机化,不泄露任何有关用户身份的信息。证明π采用的是关于知识的签名方案(sok),如要将两笔交易链接到同一用户,需要解决离散对数的判等问题,然而这是困难的。因此交易可以保持用户的匿名性。
[0102]
2)用户的可追踪:证明π可以保证交易中的公钥pk是认证过的,且证明π是不可伪造的(这是由sok的性质保证的)。监管中心对公钥pk解密,可以得到用户的标识u
i
,从而对应到用户身份。
[0103]
3)高效性:用户只需要产生一个简洁的关于知识的证明;监管机构监管高效,只需执行一次解密运算,然后对照注册列表即可。
[0104]
通过上面的方案描述可以看出,引入可认证的公钥,对签名算法进行了改变,相比原区块链系统(以比特币为例),使用了一个关于知识的证明,没有过多带来系统的负担。证明和验证简单高效,监管中心通过解密并查找注册列表来找到对应用户,实现追踪功能。
[0105]
基于同一发明构思,本发明的另一个实施例提供一种实现用户身份匿名和追踪的区块链系统,包括由监管中心和用户端构成的区块链网络;所述用户端采用上述本发明的方法进行用户身份匿名;所述监管中心采用上述本发明的方法进行用户身份追踪。
[0106]
基于同一发明构思,本发明的另一个实施例提供一种电子装置(计算机、服务器、智能手机等),其包括存储器和处理器,所述存储器存储计算机程序,所述计算机程序被配置为由所述处理器执行,所述计算机程序包括用于执行本发明方法中各步骤的指令。
[0107]
基于同一发明构思,本发明的另一个实施例提供一种计算机可读存储介质(如rom/ram、磁盘、光盘),所述计算机可读存储介质存储计算机程序,所述计算机程序被计算机执行时,实现本发明方法的各个步骤。
[0108]
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜