CN111428249B - 一种基于区块链保护用户隐私的匿名注册方法和系统 - Google Patents
一种基于区块链保护用户隐私的匿名注册方法和系统 Download PDFInfo
- Publication number
- CN111428249B CN111428249B CN202010063866.2A CN202010063866A CN111428249B CN 111428249 B CN111428249 B CN 111428249B CN 202010063866 A CN202010063866 A CN 202010063866A CN 111428249 B CN111428249 B CN 111428249B
- Authority
- CN
- China
- Prior art keywords
- user
- identity
- aid
- entity
- registration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于区块链保护用户隐私的匿名注册方法和系统。该方法涉及实体身份激活流程和匿名账号注册流程:用户的实体身份证件在经过一个实体身份认证机构的验证之后,可将身份证件信息的承诺发布至区块链上;用户在完成实体身份激活后,在某个网站上进行匿名注册时,可利用零知识证明技术证明自己的实体身份的合法性以及属性的合规性。本发明可以避免在注册过程中将用户身份证件的非必要的隐私信息泄露给注册服务器,能够使得注册服务器在确信用户身份属性符合要求的同时,无法获知冗余的身份隐私信息。
Description
技术领域
本发明属于隐私保护领域,尤其涉及一种基于区块链保护用户隐私的匿名注册方法和系统。
背景技术
用户管理是各种信息系统的基础,而用户注册则是信息系统中某个账号生命周期的开始。在一般的注册交互中,参与的实体可被定义为用户和(信息系统的)注册服务器。信息系统由于业务、监管等方面的需求,会对用户的各种属性作出规定;其注册服务器则会在用户注册阶段对用户提供的身份证件进行检查,保证用户身份的合法性和属性的合规性。
然而,现有的注册过程会将用户身份证件的非必要的隐私信息泄露给注册服务器。不幸的是,现有的技术很难在保证注册服务器检查身份证件的同时,保证用户身份的非必要隐私信息的隐私性。例如,在注册一个游戏网站的账号时,由于防沉迷或游戏分级制度的限制,用户需要证明自己的年龄属于其声称的年龄区间内。现有的方案则要求用户将自己的实名身份证件展示给注册服务器,如将包括身份证号码、姓名、性别、民族、出生日期、家庭住址、签发机关、有效期限等信息的身份证扫描件上传至注册服务器;而事实上,注册服务器需要的必要信息仅仅是用户的出生日期的在某一区间的断言,其余信息均为非必要泄露的隐私信息。
区块链是一种新兴技术,其概念首次出现在比特币白皮书中。区块链可以被视作一种分布式的仅可添加的数据库,具有去中心化、时序数据、集体维护、脚本语言、安全可信等特点。
零知识证明(Zero-Knowledge Proof)是指在证明者能够在不向验证者提供任何有用信息的前提下,能够证明某个断言的正确性。比如证明者可以在不透露一个数x的前提下,证明其知道一个数x,使得y=f(x)成立,其中f()为一个单向函数(如散列函数)。本发明采用了一种“非交互式简短的零知识证明”(Zero-knowledge Succint Non-interactiveArguments of Knowledge,zk-SNARK)协议。“非交互式”意味着证明者与验证者不必进行交互,证明者生成的一个证明可以被验证者独立验证。“简短”意味着证明者生成的证明是简短且定长的。这两个特点使得zk-SNARK特别适用于“一人证明多人验证”、链上存储空间有限的区块链场景。
密钥生成算法(KeyGen):,其中λ为安全参数,pk和vk分别为证明密钥和验证密钥。
证明算法(Prove):Prove(pk,x,a)→π。函数输入为证明公钥pk,和一组关系(x,a)∈RC,输出的证明π可以证明x∈LC。
验证算法(Verify):Verify(vk,x,π)→b。函数的输入为一个验证公钥vk,一个电路C的输入x,以及一个证明π。Verify函数可以保证当x∈LC时,函数输出b=1,否则b=0。
发明内容
本发明针对现有信息系统的用户注册方式中,存在的用户隐私保护需求和网站对用户实体身份的检查需求相矛盾的问题,提出了一种基于区块链的保护用户隐私的匿名注册解决方案。该方案基于区块链技术,将用户的身份承诺预先发布在区块链上,当用户需要在某个网站注册一个匿名账号时,可利用零知识证明技术证明自己的实体身份的合法性以及属性的合规性。
具体来说,本发明采用的的技术方案如下:
一种基于区块链保护用户隐私的匿名注册方法,涉及到两个流程:实体身份激活流程和匿名账号注册流程:
实体身份激活流程:用户的实体身份证件在经过一个实体身份认证机构(RIA)的验证之后,可将身份信息的承诺发布至区块链上。
匿名账号注册流程:用户在完成实体身份激活后,可以在某个网站上进行匿名注册。用户可以采用零知识证明的方式,向网站证明自己的实体身份为所有已激活身份之一,且身份属性符合网站要求。
进一步地,RIA具有验证用户实体身份的能力。RIA的验证结果是可信的,但可能对用户之后的匿名注册行为好奇。考虑到用户实体身份认证的便捷性,本发明允许若干个RIA可以分布式的部署在不同的地域。
进一步地,具体实体身份激活流程包括但不限于:
1)用户将其拥有的实体身份信息序列化为两个参数,证件号码(RN)和身份属性(A),生成随机数r,s,并将s作为用户的秘密,并根据公式h=CoMM(A||r)(1)和公式cm=CoMM(h||CoMM(s||RN))(2),计算属性承诺h和身份承诺cm。其中CoMM()为非交互式的承诺函数。
2)用户生成零知识证明πAuth用于证明其知道秘密s使得公式(2)成立,并将A、r、cm、RN、πAuth发送给某个RIA,同时提供自己的实体身份证件。
3)RIA验证πAuth,并对比A和RN与实体身份的信息。若两项检验都通过,则在区块链上发布一个实体身份认证事务(ATX),其中包括cm、h、RN、πAuth。
4)在ATX发布之后,其中的cm会被作为一个叶子节点添加至一个默克尔树中,完成实体身份激活流程。
进一步地,具体的匿名账号注册流程的步骤为:
1)用户获取注册服务器的唯一序列号RSId,服务器对属性的要求函数VF(),属性参数v,默克尔树的某个历史根rt及用户的身份承诺到rt的路径path。其中,VF(v,A)=1成立当且仅当用户身份属性满足服务器要求。
2)用户生成零知识证明πReg,用于证明对给定的参数rt,y,AId,RSId,z,pkAId,用户知道辅助参数r,l,A,cm,path,s,RN,ρ使得以下几个条件成立:
a)由承诺cm和路径path可以计算到根rt;
b)公式cm=CoMM(h||CoMM(s||RN))成立;
c)公式h=CoMM(A||r)成立;
d)公式y=CoMM(l||A)成立;
e)公式ρ=PRF(RN||s)成立;
f)公式AId=CoMM(RSId||ρ)成立;
g)公式z=CoMM(pkAId||ρ)成立。
其中,PRF()为一个伪随机数生成函数。
3)用户生成零知识证明πAttr,用于证明对给定的参数y,v,用户知道辅助输入l,A,使得以下几个条件成立:
a)公式y=CoMM(RN||s)成立;
b)公式VF(v,A)=1成立。
4)用户将rt,pkAId,AId,y,z,πReg,πAttr发送给注册服务器;
5)注册服务器会通过用户的注册当且仅当πReg,πAttr被验证为真。
进一步地,所述匿名注册方案,也可在引入一个权威中心后,实现实体身份的撤销。相应的,在实体身份激活流程也需要权威中心的参与。
具体而言,在实体身份激活流程的步骤3)后,即当RIA发布了一个实体身份认证事务ATX,ATX事务中增加权威中心公钥加密的用户秘密s的密文c后,权威中心解密c得到相应的用户秘密s。权威中心通过公式cm=CoMM(h||CoMM(s||RN))核验ATX中的cm。如果cm正确,则发布一个权威确认事务(CTX)。一个用户的身份承诺cm会被作为叶子节点加入到默克尔树中,当且仅当相应的CTX被发布。
当由于某个用户的实体身份需要被从区块链上撤销时,权威中心负责发布一个身份撤销事务(RTX),该事务包含用户的中间参数ρ。当某个RTX被发布后,每个注册服务器利用公式AId=CoMM(RSId||ρ),及自己的RSId,计算出相应的匿名账号AId,并将AId加入到本地的匿名账号撤销列表中。如果该AId已被用于注册,则进行相应冻结、撤销等操作;否则记录该AId,不允许使用该AId的注册请求。
进一步地,所述匿名注册方案,也可在引入上述权威中心后,实现匿名账号的追溯。当某个匿名账号AId存在某些违法违规行为而需要追溯其相应的实体身份时,注册服务器可以在权威中心的协助下完成追溯。相应的,在实体身份激活流程也需要权威中心的参与。
当权威中心接收到某个注册服务器的一个关于恶意匿名账号AId*的追诉请求时,权威中心会根据公式AId=CoMM(RSId||ρ)和公式ρ=PRF(RN||s)计算出该注册服务器对应的所有AId,并从中查找AId*并返回相应的RN。
基于同一发明构思,本发明还提供一种基于区块链保护用户隐私的匿名注册系统,其包括:
实体身份激活模块,负责将用户的实体身份信息的承诺发布至区块链上;
匿名账号注册模块,负责进行匿名注册时,基于已发布至区块链上的承诺,采用零知识证明的方式证明用户的实体身份的合法性以及身份属性的合规性。
本发明的有益效果如下:
本发明基于区块链技术,将用户的身份承诺预先发布在区块链上,当用户需要在某个网站注册一个匿名账号时,可利用零知识证明技术证明自己的实体身份的合法性以及属性的合规性。本发明可以避免在注册过程中将用户身份的非必要的隐私信息泄露给注册服务器,能够在保证注册服务器检查身份的同时,保证实体身份中非必要信息的隐私性。本发明可以抵抗注册服务器和实体身份认证机构的共谋攻击,任何两个及以上的注册服务器无法通过共谋获知其上注册匿名账号之间的关联性,即是否属于同一实体身份;任何一个及以上的实体身份认证结构与任何一个及以上的注册服务器无法通过共谋获知匿名账号与实体身份之间的关联性。
本发明还支持匿名的身份撤销:当实体身份需要撤销时,权威中心会通过一个身份撤销事务隐蔽的通知相关的注册服务器,使得相关的注册服务器获知在其注册的相应的匿名账号AId对应的实体身份已被撤销,同时保证注册服务器无法获知任何实体身份信息。本发明还支持匿名账号追溯:当匿名账号由于恶意行为需要被追溯时,注册服务器可以在权威中心的协助下对匿名账号的实体身份进行追溯。
附图说明
图1是区块链的事务处理及与其他各参与方的交互图。
图2是参数关系图。
图3是本发明方法的流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步说明。
本发明中,区块链被作为一个公告板使用,其工作模式如图1所示。区块链由三个事务集、一个默克尔树、一个事务验证器、一个密钥生成器、一个证明密钥集、和一个验证密钥集组成。三种事务集包括身份认证事务(ATX)集、权威确认事务(CTX)集、和身份撤销事务(RTX)集。其中ATX可且仅可由某个实体身份认证机构(RIA)发布,CTX和RTX可且仅可由全局唯一的身份撤销权威中心(IRC)发布。这三种事务的发布均须通过事务验证器的验证,否则无法被加入事务集。密钥生成器负责生成证明密钥和验证密钥。证明密钥被同步至用户,用于产生零知识证明;验证密钥被同步至验证者,用于验证者验证零知识证明。零知识证明存在于身份认证事务和用户向注册服务器提交的注册请求中,相应零知识证明的验证者为事务验证器和注册服务器。每当一个新的ATX被某个RIA发布至区块链上,IRC会同步并验证该ATX,若通过验证则会发布一个相应的CTX。每个CTX包含一个承诺cm和一个验证结果标识flag,若flag值为1,表示相应的ATX通过验证,否则flag值为0。区块链上的默克尔树的每个叶子节点为一个flag值为1的CTX的承诺(commitment)。每当新的flag值为1的CTX被发布,默克尔树就会相应的增加一个叶子节点。默克尔树的所有旧的根会被记录在注册服务器的历史根列表(图1中的rt list)中。当需要撤销某个实体身份时,IRC会发布一个RTX,该RTX会帮助注册服务器获知其上某个匿名账号相对应的实体身份已被撤销,同时匿名账号与实体身份之间的关系并不会被透露给注册服务器。图1中的ARL表示匿名账号撤销列表。
用户具有线下实体身份证件,该证件具有全局唯一的证件号码,以及用户的一些属性。用户希望在通过注册服务器对自己的身份验证的同时,保证实体身份中非必要信息的隐私性。RIA具有验证用户实体身份的能力。RIA的验证结果是可信的,但可能对用户之后的匿名注册行为好奇。考虑到用户实体身份认证的便捷性,本发明假设若干个RIA可以分布式的部署在不同的地域。IRC是一个全局唯一的、可信的权威机构,负责在用户实体身份撤销时,隐秘通知各注册服务器撤销相应匿名身份的能力;同时具有在匿名身份违法的情况下,帮助注册服务器追踪相应实体身份的能力。
实体身份承诺(cm)、属性承诺(y,h)、匿名账号(AId)的计算方式见图2,具体涉及到的公式如下:
cm=CoMM(h||CoMM(s||RN)) (1)
h=CoMM(A||r) (2)
y=CoMM(l||A) (3)
ρ=PRF(RN||s) (4)
z=CoMM(pkAId||ρ) (5)
AId=CoMM(RSId||ρ) (6)
其中r和l为用户生成的随机数;A为序列化的身份属性;RN为用户实体身份证件的证件号码;RSId为注册服务器全局唯一的序列号;pkAId为用户新生成的公私钥对的公钥,用于防止中间人攻击;ρ为中间参数。CoMM()代表非交互式的承诺函数,PRF()为一个伪随机数生成函数。CoMM()和PRF()均可以使用hash函数来实现。每个cm会作为叶子节点被加入到一个深度为64的默克尔树中。
本发明涉及到三个算数电路用于零知识证明协议,实体身份RId认证电路CAuth,匿名账号AId注册电路CReg,以及属性验证电路CAttr。分别定义如下:
i.CAuth:输入x和辅助性输入a分别定义为
xAuth:=(cm,h,RN) (7)
aAuth:=(s) (8)
满足在给定xAuth的条件下,一个aAuth是合法的当且仅当下列条件成立:公式(1)成立。
ii.CReg:输入x和辅助性输入a分别定义为
xReg:=(rt,y,AId,z,pkAId,RSId) (9)
aReg:=(r,l,A,cm,path,s,RN,ρ) (10)
其中path为cm到默克尔树根rt的路径,满足在给定xReg的条件下,一个aReg是合法的当且仅当下列条件成立:
A、默克尔树根rt可以由cm和path计算得到;
B、公式(1)(2)(3)(4)(5)(6)成立。
iii.CAttr:输入x和辅助性输入a分别定义为
xAttr:=(y,υ) (11)
aAttr:=(l,A) (12)
其中,v表示验证函数的辅助参数。我们定义一个属性验证函数VF(υ,A),其输出为1(当验证通过时)或0(当验证不通过时)。如对于一个要求用户年龄大于18周岁的网站,其验证函数可以设置为VF(υ,A):=(υ>AT?1:0),其中v表示注册时间的18年前的日期,AT为用户的出生日期。符号“?”为c语言中的表达方式,其含义为:如果υ>AT,则VF(υ,A)的值为1,否则VF(υ,A)的值为0。CAttr满足在给定xAttr的条件下,一个aAttr是合法的当且仅当下列条件成立:
A、公式(3)成立;
B、VF(υ,A)=1。
本发明包含五类流程,分别为系统初始化、实体身份激活、匿名账号注册、身份追踪、身份撤销,图3所示。
系统初始化流程的目的是为了产生证明-验证密钥对,证明密钥(包括一个pkAuth、一个pkReg、若干个pkAttr)和验证密钥(包括一个vkAuth、一个vkReg、若干个vkAttr)以一种可信的多方安全计算的方式生成,具体方式包括但不限于“零钞”中生成证明-验证密钥对的方式。所有的证明公钥和验证公钥被发布在区块链上,是公开可访问的。同时,RIA的公钥、IRC的公钥会被公布在区块链上,以便事务验证器验证事务的发布者是否具有发布权限。
实体身份激活流程的参与方包括用户、RIA、IRC、以及区块链。一个已有一个合法身份证件的用户需要首先进行实体身份激活。每个用户根据已有的身份信息将实体身份证件号码、身份属性分别序列化为两个参数RN和A,并生成一个随机数r和一个秘密s,并使用IRC的公钥加密s,得到密文c。用户通过公式(2)和公式(1)分别计算出h和cm,利用公式(7)、(8)打包xAuth和aAuth,并利用方法Prove(pk,x,a)→π,计算出证明πAuth。用户将A、r、cm、RN、c、πAuth发送给某个RIA,该RIA通过验证用户的实体身份证件验证A与RN的正确性,利用公式(2)计算得到h,利用公式(7)打包xAuth,并利用方法Verify(vk,x,π)→b验证证明πAuth的正确性。若RIA验证通过以上各项验证,则发布一个身份认证事务(ATX)至区块链上,ATX包括cm、h、RN、c、πAuth。当IRC在区块链上发现一个该ATX后,会解析该ATX,利用自己的私钥解密c得到s,并通过公式(1)计算得到cm';若cm'与cm相等,则通过验证,将一个状态值设为flag=1;否则使flag=0。IRC发布一个权威确认事务(CTX)至区块链上,CTX包括cm与flag。若flag=1,则CTX中的cm会被作为叶子节点添加入默克尔树中。实体身份激活流程完成。
匿名账号注册流程的参与方包括用户、注册服务器、和区块链。用户首先从区块链上获取当前的默克尔树根rt,及其cm到rt的路径path,同时获取注册服务器对应的pkAttr,唯一序列号RSId,及身份属性验证函数VF()及参数v。用户生成随机数l,使用l、A、r、s、RN、RSId、及pkAId根据公式(3)(4)(5)(6)计算得到y、ρ、z、AId。并根据公式(9)(10)(11)(12)打包xReg、aReg、xAttr、和aAttr。用户利用xReg、aReg、xAttr、aAttr及证明公钥pkReg和pkAttr,根据方法Prove(pk,x,a)→π生成πReg和πAttr,并将rt、pkAId、AId、y、z、πReg和πAttr发送给注册服务器。注册服务器接收到后根据公式(9)(11)打包xReg和xAttr,并利用vkReg、xReg、πReg、vkAttr、xAttr、πAttr,根据方法Verify(vk,x,π)→b验证用户的两个证明,若通过验证,则注册服务器可认为AId是一个拥有合法挣钱且属性符合要求用户的匿名账号,且与公钥pkAId绑定。
身份追踪流程的参与方包括注册服务器和IRC。当注册服务器所在的信息系统因为其上注册的某个匿名账号AId的违法行为,而需要追踪到该AId对应的实体身份时,可以在向IRC申请追踪该匿名账号AId。IRC利用每个用户的秘密s,以及该注册服务器的RSId,通过公式(4)(6)计算的到该注册服务器上可能注册的所有匿名账号,并从中查询对应的AId,若存在,则返回相应的身份证件号码RN,否则返回查询失败。
身份撤销流程的参与方包括用户[可选]、IRC、注册服务器、和区块链。当用户向IRC提出撤销实体身份的请求,或由于某种原因IRC需要删除某个用户的实体身份时,IRC会在区块链上发布一个身份撤销事务(RTX)。一个RTX包含被撤销用户的中间参数ρ,由IRC利用该用户的RN和s,通过公式(4)计算得到。所有的注册服务器在一个新的RTX发布之后,需要利用该RTX中的ρ及自己的RSId,通过公式(6)计算出被撤销实体身份对应的匿名账号,并将该账号加入到本地维护的匿名账号撤销列表中。如果该匿名账号已被用于注册,则可根据需要进行相应的冻结、撤销等处理。
基于同一发明构思,本发明另一个实施例提供一种基于区块链保护用户隐私的匿名注册系统,其包括:
实体身份激活模块,负责将用户的实体身份信息的承诺发布至区块链上;
匿名账号注册模块,负责进行匿名注册时,基于已发布至区块链上的承诺,采用零知识证明的方式证明用户的实体身份的合法性以及身份属性的合规性。
其中实体身份激活模块、匿名账号注册模块的具体实施过程参见前文对本发明方法的描述。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的原理和范围,本发明的保护范围应以权利要求书所述为准。
Claims (7)
1.一种基于区块链保护用户隐私的匿名注册方法,其特征在于,包括以下步骤:
将用户的实体身份信息的承诺发布至区块链上;
进行匿名注册时,基于已发布至区块链上的承诺,采用零知识证明的方式证明用户的实体身份的合法性以及身份属性的合规性;
在所述将用户的实体身份信息的承诺发布至区块链上之前,通过实体身份认证机构RIA对用户的实体身份证件进行验证;
所述将用户的实体身份信息的承诺发布至区块链上,包括:
将用户拥有的实体身份信息序列化为两个参数,证件号码RN和身份属性A,生成随机数r,s,并将s作为用户的秘密,并根据公式(1)和公式(2),计算属性承诺h和身份承诺cm;其中公式(1)为h=CoMM(A||r),公式(2)为cm=CoMM(h||CoMM(s||RN));其中CoMM()为非交互式的承诺函数;
为用户生成零知识证明πAuth用于证明其知道秘密s使得公式(2)成立,并将A、r、cm、RN、πAuth发送给某个RIA,同时提供用户的实体身份证件;
RIA验证πAuth,并对比A和RN与实体身份的信息,若两项检验都通过,则在区块链上发布一个实体身份认证事务ATX,其中包括cm、h、RN、πAuth;
在ATX发布之后,其中的cm作为一个叶子节点添加至一个默克尔树中;
基于已发布至区块链上的承诺以及区块链上当前的以所有承诺为叶子节点的默克尔树,采用零知识证明的方式证明用户的实体身份的合法性以及身份属性的合规性,包括以下步骤:
为用户获取注册服务器的唯一序列号RSId,服务器对属性的要求函数VF(),属性参数v,默克尔树的某个历史根rt及用户的身份承诺到rt的路径path,其中,VF(v,A)=1成立当且仅当用户身份属性满足服务器要求;
为用户生成零知识证明πReg,用于证明对给定的参数rt,y,AId,RSId,z,pkAId,用户知道辅助参数r,l,A,cm,path,s,RN,ρ使得以下条件成立:
a)由承诺cm和路径path能够计算到根rt;
b)公式cm=CoMM(h||CoMM(s||RN))成立;
c)公式h=CoMM(A||r)成立;
d)公式y=CoMM(l||A)成立;
e)公式ρ=PRF(RN||s)成立;
f)公式AId=CoMM(RSId||ρ)成立;
g)公式z=CoMM(pkAId||ρ)成立;
其中,PRF()为伪随机数生成函数;r和l为用户生成的随机数,AId为匿名账号;RSId为注册服务器全局唯一的序列号;pkAId为用户新生成的公私钥对的公钥,用于防止中间人攻击;ρ为中间参数;
为用户生成零知识证明πAttr,用于证明对给定的参数y,v,用户知道辅助输入l,A,使得以下条件成立:
a)公式y=CoMM(RN||s)成立;
b)公式VF(v,A)=1成立;
将rt,pkAId,AId,y,z,πReg,πAttr发送给注册服务器;
注册服务器通过用户的注册当且仅当πReg,πAttr被验证为真。
2.根据权利要求1所述的方法,其特征在于,通过权威中心实现实体身份的撤销,包括以下步骤:
在RIA发布的实体身份认证事务ATX中增加权威中心公钥加密的用户秘密s的密文c,权威中心解密c得到相应的用户秘密s;权威中心通过公式cm=CoMM(h||CoMM(s||RN))核验ATX中的cm,如果cm正确,则发布一个权威确认事务CTX;一个用户的身份承诺cm会被作为叶子节点加入到默克尔树中,当且仅当相应的CTX被发布;
某个用户的实体身份证件需要被从区块链上撤销时,权威中心负责发布一个身份撤销事务RTX,该事务包含用户的中间参数ρ;当某个RTX被发布后,每个注册服务器利用公式AId=CoMM(RSId||ρ),及自己的RSId,计算出相应的匿名账号AId,并将AId加入到本地的匿名账号撤销列表中;如果该AId已被用于注册,则进行相应冻结、撤销操作,否则记录该AId,不允许使用该AId的注册请求。
3.根据权利要求2所述的方法,其特征在于,通过权威中心实现匿名账号的追溯,包括以下步骤:
当权威中心接收到某个注册服务器的一个关于恶意匿名账号AId*的追诉请求时,权威中心根据公式AId=CoMM(RSId||ρ)和公式ρ=PRF(RN||s)计算出该注册服务器对应的所有AId,并从中查找AId*并返回相应的RN。
4.一种采用权利要求1~3中任一权利要求所述方法的基于区块链保护用户隐私的匿名注册系统,其特征在于,包括:
实体身份激活模块,负责将用户的实体身份证件信息的承诺发布至区块链上;
匿名账号注册模块,负责进行匿名注册时,基于已发布至区块链上的承诺,采用零知识证明的方式证明用户的实体身份的合法性以及身份属性的合规性。
5.根据权利要求4所述的系统,其特征在于,所述区块链包括三个事务集、一个默克尔树、一个事务验证器、一个密钥生成器、一个证明密钥集、和一个验证密钥集;三种事务集包括身份认证事务集、权威确认事务集、身份撤销事务集,其中身份认证事务ATX仅由某个实体身份认证机构RIA发布,权威确认事务CTX和身份撤销事务RTX仅由全局唯一的身份撤销权威中心IRC发布;三种事务的发布均须通过事务验证器的验证;密钥生成器负责生成证明密钥和验证密钥,证明密钥被同步至用户,用于产生零知识证明,验证密钥被同步至验证者,用于验证者验证零知识证明;零知识证明存在于身份认证事务和用户向注册服务器提交的注册请求中,相应零知识证明的验证者为事务验证器和注册服务器。
6.根据权利要求5所述的系统,其特征在于,每当一个新的ATX被某个实体身份认证机构发布至区块链上,IRC同步并验证该ATX,若通过验证则会发布一个相应的CTX,每个CTX包含一个承诺cm和一个验证结果标识flag,flag值为1表示相应的ATX通过验证,否则flag值为0;区块链上的默克尔树的每个叶子节点为一个flag值为1的CTX的承诺;默克尔树的所有旧的根被记录在注册服务器的历史根列表中。
7.根据权利要求5所述的系统,其特征在于,需要撤销某个实体身份时,IRC发布一个RTX,该RTX帮助注册服务器获知其上某个匿名账号相对应的实体身份已被撤销,同时匿名账号与实体身份之间的关系不会被透露给注册服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010063866.2A CN111428249B (zh) | 2020-01-20 | 2020-01-20 | 一种基于区块链保护用户隐私的匿名注册方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010063866.2A CN111428249B (zh) | 2020-01-20 | 2020-01-20 | 一种基于区块链保护用户隐私的匿名注册方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111428249A CN111428249A (zh) | 2020-07-17 |
CN111428249B true CN111428249B (zh) | 2022-06-28 |
Family
ID=71547585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010063866.2A Active CN111428249B (zh) | 2020-01-20 | 2020-01-20 | 一种基于区块链保护用户隐私的匿名注册方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111428249B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112118253B (zh) * | 2020-09-16 | 2023-04-28 | 北方工业大学 | 一种基于区块链的云服务日志匿名系统及匿名方法 |
CN112367174B (zh) * | 2020-11-06 | 2023-04-07 | 深圳前海微众银行股份有限公司 | 一种基于属性值的区块链共识方法及装置 |
CN112436944B (zh) * | 2020-11-06 | 2023-04-07 | 深圳前海微众银行股份有限公司 | 一种基于pow的区块链共识方法及装置 |
CN114329610B (zh) * | 2021-12-29 | 2024-08-27 | 浙江吉利控股集团有限公司 | 区块链隐私身份保护方法、装置、存储介质及系统 |
CN114584314B (zh) * | 2022-02-28 | 2024-06-14 | 天翼安全科技有限公司 | 一种注册方法、装置、设备及介质 |
CN114866323B (zh) * | 2022-04-29 | 2023-09-29 | 华中科技大学 | 一种用户可控的隐私数据授权共享系统及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109118231A (zh) * | 2018-05-31 | 2019-01-01 | 起立科技(北京)有限公司 | 一种基于区块链技术的承诺应用系统 |
CN109325331A (zh) * | 2018-09-13 | 2019-02-12 | 北京航空航天大学 | 基于区块链和可信计算平台的大数据采集交易系统 |
CN110276170A (zh) * | 2018-03-15 | 2019-09-24 | 巍乾全球技术有限责任公司 | 基于区块链进行作品保护的方法、设备和介质 |
CN110581768A (zh) * | 2019-10-11 | 2019-12-17 | 上海应用技术大学 | 一种基于区块链零知识证明的注册登录系统及应用 |
CN110648229A (zh) * | 2019-08-07 | 2020-01-03 | 中国科学院信息工程研究所 | 一种半公开的区块链系统及交易方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10572684B2 (en) * | 2013-11-01 | 2020-02-25 | Anonos Inc. | Systems and methods for enforcing centralized privacy controls in de-centralized systems |
US20190384895A1 (en) * | 2018-06-19 | 2019-12-19 | Ivy Food Technology, Inc. | System for document and certificate management using directed acyclic graph based tagging |
CN109450645B (zh) * | 2018-11-29 | 2021-04-13 | 中国电子科技集团公司第三十研究所 | 一种基于零知识证明的可监管匿名认证方法 |
CN110190969B (zh) * | 2019-06-06 | 2021-12-14 | 浙江大学宁波理工学院 | 一种匿名信息系统中用户身份克隆检测方法及系统 |
-
2020
- 2020-01-20 CN CN202010063866.2A patent/CN111428249B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110276170A (zh) * | 2018-03-15 | 2019-09-24 | 巍乾全球技术有限责任公司 | 基于区块链进行作品保护的方法、设备和介质 |
CN109118231A (zh) * | 2018-05-31 | 2019-01-01 | 起立科技(北京)有限公司 | 一种基于区块链技术的承诺应用系统 |
CN109325331A (zh) * | 2018-09-13 | 2019-02-12 | 北京航空航天大学 | 基于区块链和可信计算平台的大数据采集交易系统 |
CN110648229A (zh) * | 2019-08-07 | 2020-01-03 | 中国科学院信息工程研究所 | 一种半公开的区块链系统及交易方法 |
CN110581768A (zh) * | 2019-10-11 | 2019-12-17 | 上海应用技术大学 | 一种基于区块链零知识证明的注册登录系统及应用 |
Non-Patent Citations (3)
Title |
---|
Zero-Knowledge Identification Method Based on Block Ciphers;Nikolaos G. Bardis 等;《2017 International Conference on Control, Artificial Intelligence, Robotics & Optimization (ICCAIRO)》;20180111;全文 * |
区块链中的隐私保护技术;翟社平 等;《西安邮电大学学报》;20190226;第23卷(第5期);全文 * |
可监管匿名认证方案;王震 等;《软件学报》;20190327;第30卷(第6期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111428249A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111428249B (zh) | 一种基于区块链保护用户隐私的匿名注册方法和系统 | |
US11139951B2 (en) | Blockchain system and data processing method for blockchain system | |
CN106789090B (zh) | 基于区块链的公钥基础设施系统及半随机联合证书签名方法 | |
CN109196816B (zh) | 使用区块链的公钥基础结构 | |
US9634841B2 (en) | Computer implemented method and a computer system to prevent security problems in the use of digital certificates in code signing and a computer program product thereof | |
CN109963282B (zh) | 在ip支持的无线传感网络中的隐私保护访问控制方法 | |
Chen et al. | XAuth: Efficient privacy-preserving cross-domain authentication | |
JP6688823B2 (ja) | 構造化集合に組織化された様々な識別情報ドメインからのデータを管理及び検査する方法 | |
CN113761582A (zh) | 基于群签名的可监管区块链交易隐私保护方法及系统 | |
CN114154125B (zh) | 云计算环境下区块链无证书的身份认证方案 | |
Luong et al. | Privacy-preserving identity management system on blockchain using Zk-SNARK | |
Win et al. | Privacy enabled digital rights management without trusted third party assumption | |
Cui et al. | Escrow free attribute-based signature with self-revealability | |
CN111563089B (zh) | 一种区块链证书更换自动更新通道配置的方法和装置 | |
Zhang et al. | Attack on Chen et al.'s certificateless aggregate signature scheme | |
CN114374700B (zh) | 基于主从多链的支持广域协同的可信身份管理方法 | |
Kumagai et al. | Distributed Public Key Certificate‐Issuing Infrastructure for Consortium Certificate Authority Using Distributed Ledger Technology | |
CN114362958B (zh) | 一种基于区块链的智能家居数据安全存储审计方法及系统 | |
KR20110070765A (ko) | 부분 연결성을 제공하는 익명 인증 서비스 방법 | |
CN114844700A (zh) | 一种分布式环境中基于可信存储的身份认证方法、系统、设备及存储介质 | |
CN115952483A (zh) | 匿名可追踪身份认证方法及装置 | |
Liang et al. | An efficient blockchain-based anonymous authentication and supervision system | |
Song et al. | Traceable revocable anonymous registration scheme with zero-knowledge proof on blockchain | |
Perera et al. | Almost-fully secured fully dynamic group signatures with efficient verifier-local revocation and time-bound keys | |
CN114615278B (zh) | 基于区块链的完全匿名认证方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |