CN117176361A - 一种区块链数字身份认证控制系统及方法 - Google Patents
一种区块链数字身份认证控制系统及方法 Download PDFInfo
- Publication number
- CN117176361A CN117176361A CN202311251113.4A CN202311251113A CN117176361A CN 117176361 A CN117176361 A CN 117176361A CN 202311251113 A CN202311251113 A CN 202311251113A CN 117176361 A CN117176361 A CN 117176361A
- Authority
- CN
- China
- Prior art keywords
- identity
- user
- credential
- certificate
- signature
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 64
- 238000012795 verification Methods 0.000 claims abstract description 82
- 230000006870 function Effects 0.000 claims description 69
- 230000008569 process Effects 0.000 claims description 36
- 230000006399 behavior Effects 0.000 claims description 25
- 238000004364 calculation method Methods 0.000 claims description 7
- 238000013475 authorization Methods 0.000 claims description 5
- 125000004122 cyclic group Chemical group 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 2
- 239000013256 coordination polymer Substances 0.000 claims 1
- 238000012360 testing method Methods 0.000 description 9
- 241001147458 Dasheen mosaic virus Species 0.000 description 6
- 238000007726 management method Methods 0.000 description 5
- 238000012550 audit Methods 0.000 description 4
- 230000003542 behavioural effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000010835 comparative analysis Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000011056 performance test Methods 0.000 description 2
- 239000010750 BS 2869 Class C2 Substances 0.000 description 1
- 201000004569 Blindness Diseases 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开一种区块链数字身份认证控制系统及方法,包括,通过用户端将实际身份信息、声明及属性承诺提交给身份验证端,并接收环签名提供给凭证提供商,并根据隐私身份凭证生成服务请求凭证提交给服务提供端;通过身份验证端对实际身份信息、声明及属性承诺使用智能合约提取的群公钥进行身份验证,并基于身份验证结果进行可链接环签名,生成环签名;通过凭证提供端接收环签名,通过群公钥对环签名进行签名验证,基于签名验证结果生成隐私身份凭证,并提取环签名中的链接值,通过智能合约将链接值与属性承诺在区块链中进行绑定;通过服务提供端对服务请求凭证进行凭证验证,基于凭证验证结果为用户端提供服务。
Description
技术领域
本发明涉及区块链技术领域,特别涉及一种区块链数字身份认证控制系统及方法。
背景技术
传统数字身份系统通常表现出中心化的结构特征,其中数字身份由各种中心机构和服务提供商存储和管理。这种中心化方法导致了诸如跨平台不兼容(用户在不同平台上注册数字身份,但这些数字身份不可相互识别和认证)、碎片化身份(不同平台需要多样化的数字身份,常常缺乏统一的体制,这给用户管理和利用不同的数字身份时带来不便)、单点故障、内部攻击和隐私泄露等重大问题。目前,上述中心化数字身份系统已在计算机和互联网应用领域引发了许多安全危机。因此,迫切需要探索新的数字身份系统,以实现数字身份的分布式管理、隐私安全和抗单点故障等。
近年来区块链技术的出现,基于区块链的数字身份受到了越来越多的关注,提出了多种基于区块链的分布式数字身份系统。尽管大多数基于区块链的数字身份系统已经解决了跨平台验证和授权、碎片化身份以及单点故障等问题,但在身份验证和授权过程中仍然存在较大的隐私和安全问题。因此,设计一个具有隐私兼容特性的基于区块链的数字身份系统具有重要意义,并有望成为传统中心化数字身份系统的可行替代方案。
数字身份的隐私通常涵盖了身份信息和行为信息的隐私。然而,在许多实际场景中,不仅需要保护数字身份的隐私,还需要确保其真实性和可控性。例如,在依赖隐私数字身份的汽车租赁业务中,承租人需要首先基于合法的实体驾驶执照(身份真实性)获得一个隐私数字身份以租用汽车,该身份可以隐藏其驾驶执照信息(身份隐私)。随后,承租人可以利用数字身份多次向同一汽车租赁公司请求租车服务,而不透露数字身份属于同一承租人(行为隐私)。此外,数字身份的发行者可以在数字身份的有效期到达后主动撤销隐私数字身份。最后,如果汽车租赁公司发现隐私数字身份持有人违反了租赁合同等业务,可以被动地请求数字身份的发行者撤销隐私数字身份,以阻止隐私数字身份持有人继续使用汽车(身份可控性)。
尽管,当前已有部分学者开展了基于区块链的隐私数字身份研究,但是,这些研究并不能完全覆盖以上所述的四种特性(身份真实性、身份隐私、行为隐私、身份可控性)。
发明内容
为解决上述现有技术中所存在的问题,本发明提供一种区块链数字身份认证控制系统及方法,兼顾了身份的真实、隐私、可控和可审计性,且具备较好的执行性能、安全性和多场景适用性。
为了实现上述技术目的,本发明提供了如下技术方案:一种区块链数字身份认证控制系统,包括:
用户端、身份验证端、凭证提供端及服务提供端;
其中,通过用户端将物理身份信息、声明及属性承诺提交给身份验证端,并接收环签名提供给凭证提供商,并根据隐私身份凭证生成服务请求凭证提交给服务提供端;
通过身份验证端对物理身份信息、声明及属性承诺使用智能合约提取的群公钥进行身份验证,并基于身份验证结果进行可链接环签名,生成环签名;
通过凭证提供端接收环签名,通过群公钥对环签名进行签名验证,并生成系统参数,基于签名验证结果及系统参数生成隐私身份凭证,并提取环签名中的链接值,通过智能合约将链接值与属性承诺在区块链中进行绑定;
通过服务提供端使用智能合约对服务请求凭证进行凭证验证,基于凭证验证结果为用户端提供服务,在提供服务过程中,检测用户端恶意行为,出现恶意行为时,提供撤销信息给凭证提供商以对用户端的隐私数字身份进行被动撤销。
可选的,所述区块链上的智能合约中包括第一合约函数、第二合约函数、第三合约函数、第四合约函数、第五合约函数及第六合约函数;
其中,通过第一合约函数对将存储群公钥的星际文件系统地址进行存储并在使用群公钥时,提供对应的星际文件系统地址;
通过第二合约函数将凭证提供端中的系统参数存储到区块链中,并在凭证提供端生成隐私身份凭证之前,从区块链系统中读取系统参数,在用户端检测到有恶意行为时,对系统参数进行修改;
通过第三合约函数将链接值及属性承诺在区块链中进行绑定;
通过第四合约函数对隐私身份凭证进行凭证验证;
通过第五合约函数在用户端的隐私身份凭证进行撤销后,记录撤销凭证的用户端的实施恶意行为的次数,并根据链接值,读取用户端的身份验证次数;
通过第六合约函数将撤销用户端隐私身份凭证的事件消息发送给身份验证端。
为了更好的实现上述技术目的,本发明还提供了一种区块链数字身份认证控制系统对应的控制方法,包括:
对身份验证端及凭证提供端进行系统初始化;
用户端提供物理身份信息、声明及属性承诺,通过身份验证端对物理身份信息、声明及属性承诺使用智能合约提取的群公钥进行身份验证,并基于身份验证结果进行可链接环签名,生成环签名;
用户端提供环签名,通过凭证提供端接收环签名,通过群公钥对环签名进行签名验证,基于签名验证结果及系统参数生成隐私身份凭证;
用户端根据隐私身份凭证生成服务请求凭证,通过服务提供端使用智能合约对服务请求凭证进行凭证验证,基于凭证验证结果为用户端提供服务;
当用户端检测恶意行为时,通过凭证提供端对用户端的隐私身份凭证进行被动撤销。
可选的,系统初始化的过程包括:
全部的身份验证端构建群组,并在群组中生成可链接环签名的参数,其中,/>为阶为/>生成元为/>的循环群,/>和为两个哈希函数;群组中的成员随机选择自己的私钥/>其中/>为阶为/>的整数群,并根据成员的私钥生成群组中的群公钥,将群公钥进行存储,并通过第三合约函数将群公钥的存储地址发布到区块链上;
通过凭证提供端生成一组初始系统参数{G1,G2,GT,e,q,g1,g2,H,H1},其中,(G1,G2,GT)是阶为q的循环群,e:G1×G2→GT是双线性配对,g1和g2分别是G1和G2群的生成元,H:{0,1}*→Zq和H1:G1→G1是两个哈希函数,Zq为阶为q的整数群;凭证提供端随机选取x,y∈Zq作为私钥sk=(x,y)∈Zq,其中x,y为随机选取的私钥的不同分量;
并根据私钥计算其中,g2,/>为公钥的不同分量,将构成凭证提供端的公钥/>X,Y为用于给用户生成承诺和PS随机化签名的对应参数,凭证提供端选择/>k1,…,kn∈Zq,并计算累加器/>其中,/>为群G1中的另一生成元,kn为随机选择的n个变量,将作为用户端的身份凭证累加器的可撤销证明颁发给用户;
凭证提供端通过第二合约函数将系统参数发布到区块链中;
当用户端请求生成隐私数字身份时,通过第二智能合约读取系统参数。
可选的,环签名的生成过程包括;
用户端对身份验证端进行选取,并将物理身份信息、声明及承诺提交给选取的身份验证端,其中αi表示实际的身份声明,oi∈Zq表示一个随机数,
在验证用户端的物理身份信息及对应的声明及承诺后,身份验证端对声明及属性承诺进行可链接环签名,并生成签名值其中,/>是可链接值,/>和分别为环签名生成的中间变量,并将签名值/>提供给用户端。
可选的,隐私身份凭证颁发的过程包括:
用户端计算并生成第一零知识证明/>其中,cα为承诺Commit(oi,αi)的零知识证明的中间变量,tc,tα,sc1,sc2分别为零知识证明的中间变量,用户端将声明、承诺、签名值、cα及第一零知识证明发送给凭证提供端以请求获取隐私身份凭证;
凭证提供端验证零知识证明及声明;
凭证提供端通过第一智能合约在区块链上获取群公钥的存储地址,并从存储介质中获取群公钥,根据群公钥、签名值、声明及承诺对签名值进行验证;
在验证后,凭证提供端根据签名值获取链接值,并通过第三合约函数将链接值与承诺在区块链上进行绑定;
在绑定后,凭证提供端向用户端颁发隐私身份凭证,凭证提供端从(k1,k2,…,kn)∈Zq中选择ki,其中ki为从(k1,k2,…,kn)中任意选取变量,然后计算其中,wi为身份凭证累加器的可撤销证明,将/>作为用户的隐私身份凭证的撤销证明,凭证提供端选择随机数ui∈Zq,并计算隐私身份凭证的PS随机化签名(Ai,Bi),其中,Ai和Bi分别为PS随机化签名的两个分量,其中ui为凭证提供端选择的随机数;凭证提供端计算ki的哈希值,作为AES对称加密算法的密钥keyAES=H(ki);
凭证提供商将ki,wi,Ai,Bi以及keyAES返回给用户端。
可选的,根据隐私身份凭证生成服务请求凭证的过程包括;
用户端计算数字身份βi=(αi+ki)modq,对PS签名(Ai,Bi)进行解盲处理,生成数字身份凭证Cert=(βi,Ai,Bi',ki,wi);用户端随机选择ti∈Zq,并随机化PS签名,生成随机化的PS签名和/>其中Ci和Di分别为用户端利用随机数ti生成的随机化的PS签名的分量;并生成第二零知识证明Proofsd=(v,f,a1,b1,s1,s2,s3,s4,s5),其中v,f,a1,b1,s1,s2,s3,s4,s5为零知识证明的中间变量,基于AES对称加密算法的密钥keyAES,用户使用AES算法对ki和ti进行加密,生成加密结果AES_Encrypt(keyAES,(ki,ti));
用户端发送a,b,k,Ci,Di,Ei,Fi,Proofsd以及AES_Encrypt(keyAES,(ki,ti))给服务提供端验证以请求服务授权。
服务提供端通过第四合约函数验证第二零知识证明和随机化的PS签名。
可选的,第二零知识证明Proofsd=(v,f,a1,b1,s1,s2,s3,s4,s5)的生成过程包括:
选择一个随机数ri∈Zq,并计算和/>其中,Ei和Fi为随机化PS签名的零知识证明中间变量,选择随机数rw∈G1并计算/>和k=rwki,其中,a,b,k分别为替换中间变量,将a、b和k代入累加器验证方程/>中,得到用户随机选择随机数ρ1,ρ2,ρ3,ρ4,ρ5∈Zq并计算/> csd=H(v,f,a1,b1)、s1=ρ1+csdβi、s2=ρ2+csdri、s3=ρ3+csdrw、s4=ρ4+csdk、s5=ρ5+csdki,以获得第二零知识证明Proofsd=(v,f,a1,b1,s1,s2,s3,s4,s5)。
可选的,被动撤销的过程包括:
在提供服务过程中,检测用户端恶意行为,服务提供端向凭证提供端发送加密结果AES_Encrypt(keyAES,(ki,ti))和
凭证提供端在收到被动撤销请求后,使用解密密钥keyAES=hash(ki)解密AES_Decrypt(keyAES,AES_Encrypt(keyAES,(ki,ti))),并基于解密的ki获取本地Ai。在此之后,CP通过将解密的ti与获取的Ai组合计算并组合计算的/>与接收到的/>进行比较。若和/>相等,凭证提供端对用户端的数字身份凭证进行被动撤销。
凭证提供端计算新的累加器值通过第二合约函数将新的累加器值更新系统参数以撤销用户的数字身份凭证。
凭证提供端将撤销的用户端的可链接值作为输入,通过第五合约函数计算其中/>表示身份验证端验证违规用户的物理身份信息的次数;
凭证提供端通过第六合约函数向所有的身份验证端发送事件消息;
身份验证端验证事件消息对应的commit(oi,αi)和确定用于撤销的用户端的身份验证端,身份验证端使用第一合约函数并检索/>的值。
可选的,事件消息包括:违规用户的通知内容、违规用户的链接值与链接值/>绑定的承诺commit(oi,αi)。
本发明具有如下技术效果:
本发明提出了一种新颖的基于区块链的隐私数字身份系统,系统具备区块链数字身份系统的跨平台兼容、公开透明和抗单点故障等优点。同时,系统还具备数字身份的真实可信、身份的隐私安全和数字身份的可控性特性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的系统架构和核心操作流程示意图;
图2为本发明实施例提供的实时例的架构示意图;
图3为本发明实施例提供的所提出不同群成员数量下步骤3-IV的执行时间变化情况图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
基于区块链的数字身份系统(BDIS)已成为中心化数字身份系统的潜在替代方案,但是传统的区块链数字身份系统无法在确保用户身份隐私的前提下保证身份的真实性、可控性和可审计性。因此,本发明提出了一种新颖的区块链数字身份系统,以兼顾身份的隐私、真实、可控和可审计性。首先,本发明通过可链接环签名将用户物理身份的验证者与数字身份提供者分离,确保用户数字身份的真实性、验证者的匿名性和可审计性。其次,本发明采用非交互式零知识证明、密码学承诺、PS随机签名和动态累加器以实现身份的隐私和主动撤销控制。同时,本发明引入AES算法以促进身份的被动撤销控制。再次,本发明将利用区块链智能合约管理系统参数并进行隐私数字身份的链上验证,以实现系统的跨平台和透明验证以及抗单点故障。最后,本发明提供了一个所提出的区块链数字身份系统的用例,并测试了系统性能,上述结果表明,所提出的系统兼顾了身份的隐私、真实、可控和可审计性,且具备较好的执行性能、安全性和多场景适用性。
基于区块链的隐私数字身份应具备以下特点:
1)身份的真实和可信:数字身份应该是真实可信的实体身份的映射;
2)身份信息的隐私:数字身份不得向外透露任何实体身份的信息,以确保敏感数据的泄露,同时,数字身份系统内部的发行者应尽可能与真实身份的验证者分离,以减少实体身份的信息在系统内部泄露;
3)身份行为的隐私:当数字身份持有人多次向同一服务提供商(SP)出示其数字身份时,SP不能确定身份是否属于同一个持有人。此外,不同的SP无法通过共享数字身份而共谋跟踪身份持有人;
4)身份的可控性:数字身份的发行者可在确保身份隐私的情况下,主动或被动撤销数字身份,其中,被动撤销是指当身份持有人从事违规行为时,系统的其他参与者(例如SP)可以请求数字身份的发现者撤销数字身份。
本发明提出了一种具备上述四种特性的基于区块链的隐私数字身份控制系统;
1)基于区块链架构,提出了一个具有四种实体角色的隐私数字身份系统架构,并详细描述了与这些角色相关的操作。第一,四种实体角色分别是用户、身份验证者(IV)、凭证提供商(CP)和服务提供商(SP),分别对应系统中的用户端、身份验证端、凭证提供端及服务提供端;第二,IV将用户的实际物理身份映射为数字身份,并利用可链接环签名对数字身份进行签名背书,以实现数字身份的可信,并保证IV的匿名和可审计,同时减少系统内部知晓用户真实身份信息的参与者;第三,为向用户提供隐私数字身份的凭证,并最大限度减少IV泄露用户的真实身份信息,CP在验证用户数字身份的可链接环签名时,并不知道可链接环签名是哪个IV生成的;第四,用户可以对CP颁发的隐私数字身份凭证进行随机处理,以防止SP跟踪其行为;第五,当SP发现用户存在违法行为时,SP可以请求CP被动撤销用户的隐私数字身份,同时,CP也可以主动撤销身份;最后,为了确保身份验证的跨平台、公开透明和抗单点故障,系统通过智能合约在链上完成隐私数字身份验证和管理;
2)通过将凭证提供商(CP)和服务提供商(SP)(物理身份的验证者和隐私身份凭证的颁发者)分离,并引入可链接环签名、基于动态累加器和区块链的可撤销隐私数字身份等技术,保证了数字身份的隐私安全、可控和可审计;
3)给出了一个所提出的隐私数字身份系统的实际用例,并对所提出的系统进行了性能测试和对比分析,以展示所提出系统的有效性;
图1展示了所提出系统的架构组成,其包括四个不同的实体角色即对应系统的不同设备端、区块链智能合约和五个核心步骤。下面将详细介绍这些内容。
1、关键设备端
用户即用户端:用户是隐私数字身份的持有者,为了获得隐私数字身份,用户需要将其真实身份的物理凭证和对应的属性承诺提交给身份验证者(IV),身份验证者(IV)核对物理凭证和对应的属性承诺的有效性后,利用可链接环签名对属性承诺进行签名,并返回给用户,用户持签名过的属性承诺和承诺的声明向凭证提供商(CP)请求隐私数字身份凭证。用户获得CP颁发的隐私数字身份凭证后,对其进行进一步处理,并将处理后的凭证提交给服务提供商(SP),以在不透露任何属性和行为的情况下,向服务提供商(SP)请求对应的服务。
身份验证者(IV)即身份验证端:身份验证者(IV)是保证用户隐私数字身份与现实中的真实身份关联的关键角色,其将在线下核验用户真实身份的物理凭证,并为用户物理凭证对应的属性承诺和声明进行可链接环签名,而可链接环签名的使用是为了尽可能减小用户真实身份属性被身份验证者(IV)泄露。此外,可链接环签名的可链接性将被使用,以监管为恶意用户核验真实物理凭证的身份验证者(IV)。
凭证提供商(CP)即凭证提供端:凭证提供商(CP)是隐私凭证的颁发者和撤销者,其可以对隐私凭证进行主动和被动撤销,以实现身份的可控。凭证提供商(CP)在收到用户的属性承诺和声明的签名后,利用所有身份验证者(IV)的环公钥验证属性承诺是经过合法的身份验证者(IV)验证过的,同时,凭证提供商(CP)提取环签名的链接值,并将其与用户的承诺绑定,并存储到区块链中,以监管身份验证者(IV),让身份验证者(IV)自主规范用户真实身份的核验过程,并不再为恶意用户合约真实物理凭证。
服务提供商(SP)及服务提供端:服务提供商(SP)是服务的授权机构,其在收到用户提交的隐私凭证后,利用区块链智能合约对凭证进行链上验证,并为验证通过的用户授权服务。此外,如果服务提供商(SP)发现用户在使用服务过程中存在违规行为,可以向凭证提供商(CP)发送相关撤销请求和撤销参数,服务提供商收到请求和参数后,可以对隐私凭证进行被动撤销,以终止用户再次获得服务的能力。
2、区块链智能合约
本发明使用一个智能合约及其相应的合约函数来执行图2中所示的链上操作:
身份验证者(IV)的公钥存储和读取:所有身份验证者(IV)将自发构成群,并生成群公钥,然后将群公钥存入星际文件系统IPFS,同时获得IPFS的存储地址。最后,利用智能合约函数Set_IV_PublicKey将IPFS的地址存储到区块链。凭证提供商(CP)在验证属性承诺的可链接环签名时,将通过合约函数Read_IV_PublicKey读取IPFS的存储地址,并基于该地址,从IPFS中读取公钥,以验证可链接环签名;第一合约函数包括合约函数Set_IV_PublicKey及合约函数Read_IV_PublicKey
系统参数的存储和读取:系统初始化时,凭证提供商(CP)将生成构建隐私数字身份所需的系统参数,并通过合约函数Set_System_Parames存入区块链,同时,凭证提供商(CP)发现恶意用户后,将通过第二合约函数Set_System_Parames修改智能合约中存储的系统参数,保证恶意用户无法再次通过认证。用户在生成身份属性承诺和零知识证明时,将通过第二合约函数Read_System_Parames从区块链读取系统参数;
属性承诺与链接值的绑定:凭证提供商(CP)为用户颁发数字身份凭证后,将通过第三合约函数Bind_commit_Link把用户的属性承诺以及身份验证者(IV)对属性承诺的可链接环签名的链接值绑定在区块链中。当服务提供商(SP)请求撤销恶意用户属性时,凭证提供商将根据绑定结果,在链上找到用户承诺,并向所有身份验证者(IV)发送区块链事件;
身份凭证的链上认证:服务提供商(SP)收到用户的隐私数字身份后,将通过第四合约函数verify_credential在区块上完成身份的链上验证,以保证验证的去中心化、公开透明和抗单点故障;
基于链接值的用户恶意行为统计和读取:凭证提供商(CP)撤销恶意用户后,通过合约函数Set_Malicious_User记录用户实施恶意行为的次数,以监管和规范身份验证者(IV)的行为。身份验证者(IV)收到智能合约事件消息后,根据消息内容中的链接值,判断其是否为恶意用户验证过真实物理身份,如果是,基于链接值,从合约函数Read_Malicious_User中读取为恶意用户验证真实物理身份的次数,以进一步规范自己的验证过程,并禁止再次为相同恶意用户验证真实物理身份,其中第五合约函数包括合约函数Set_Malicious_User及合约函数Read_Malicious_User;
智能合约事件:凭证提供商(CP)撤销恶意用户身份后,将通过合约函数第六Send_Event向所有身份验证者(IV)发送事件消息,以达到审计和监管匿名的身份验证者(IV)的目的。
3、核心步骤
本发明系统包括5个核心步骤,各个步骤在图1中分别使用不同的颜色和数字进行了标注,下面分别介绍各个部分的内容。
3.1系统初始化
Ⅰ:首先,所有的身份验证者(IV)自发构成一个由n个成员构成的群组,并生成可链接环签名的参数其中,/>是一个循环群,/>是群/>的生成元,/>是群的阶,/>和/>是两个哈希函数。
其次,群组中的所有成员i=1,…,n随机选择自己的私钥并生成群公钥其中/>
最后,保存到IPFS中,而IPFS的地址将通过智能合约函数Set_IV_PublicKey发布到区块链上。
Ⅱ:首先,凭证提供商(CP)生成一组系统参数:{G1,G2,GT,e,q,g1,g2,H,H1},其中,(G1,G2,GT)是阶为q的循环群,e:G1×G2→GT是双线性配对,g1和g2分别是G1和G2群的生成元,H:{0,1}*→Zq和H1:G1→G1是两个哈希函数。
其次,凭证提供商(CP)随机选择x,y∈Zq作为私钥sk=(x,y)∈Zq,其中x,y为随机选取的私钥分量,并计算其中,公钥为/>其中,g2,/>将构成凭证提供端的公钥/>X,Y将用于给用户生成承诺和PS随机化签名,凭证提供端选择/>k1,…,kn∈Zq,并计算累加器/>其中,/>为群G1中的另一生成元,kn为随机选择的n个变量,将作为用户端的身份凭证累加器的可撤销证明颁发给用户;
最后,凭证提供商(CP)随机选择k1,…,kn∈Zq,并计算累加器
Ⅲ:凭证提供商(CP)通过智能合约函数Set_System_Parames,将公开发布到区块链中。
Ⅳ:当接入系统的用户希望生成隐私数字身份时,通过智能合约函数Read_System_Parames读取
3.2、属性承诺和签名
Ⅰ:用户从n个IV中选择一个IVi,i∈1,…,n,
选择一个随机数oi∈Zq,计算属性承诺其中αi是实际属性;
然后将其实际真实身份连同相应的身份声明和承诺提交给选定的IVi,其中αi表示实际的身份属性,oi∈Zq表示一个随机数。g1为前述所生成的生成元,Y为前述生成的变量,提交给选取的身份验证端,声明表示用户拥有特定的身份属性,而不揭示其值。例如,如果用户拥有B2驾驶执照(如表7所示),并希望租用C2级别的小型自动挡汽车,他的声明将是“我的驾驶执照有资格租用C2级别的小型自动挡车辆”。
Ⅱ:在验证实际实体身份及其相应的声明和承诺的有效性后,IV对声明和承诺进行可链接环签名,
生成可链接环签名其中/>是可链接值;/>和/>分别为可理解环签名生成的中间变量,签名过程如下:1)计算/>2)选择xi并计算/>3)选择/>4)搜索/>以确保以下方程成立:
5)基于计算/>6)获得签名/>
Ⅲ:IV将发送给用户。
3.3、可随机化签名的凭证颁发
Ⅰ:用户为了证明自己是承诺的持有者,而不披露αi和oi,用户计算/>然后生成承诺的零知识证明proofc=(tc,tα,sc1,sc2)。用户端计算/>其中,cα为承诺Commit(oi,αi)的零知识证明的中间变量,并生成第一零知识证明proofc=(tc,tα,sc1,sc2),其中,tc,tα,sc1,sc2分别为零知识证明的中间变量,
生成承诺的零知识证明proofc=(tc,tα,sc1,sc2),过程如下:
1)计算2)选择u1∈Zq,u1∈Zq并且计算/>Cz=H(tc,tα),sc1=u1+Czoi,sc2=u2+Czαi;3)获得证明proofc=(tc,tα,sc1,sc2);
Ⅱ:用户将声明,commit(oi,αi),cα和proofc发送给CP以请求获取隐私身份凭证。
Ⅲ:CP验证零知识证明proofc,以确定用户是否是承诺的合法持有者。同时,CP还检查声明的内容,以确保其有效性。
验证零知识证明proofc,过程如下:1)计算Cz=H(tc,tα);2)确定方程是否成立:
Ⅳ:CP通过智能合约函数Read_IV_PublicKey从区块链上读取的IPFS地址,然后从IPFS获取/>接下来,CP使用/>Claim和commit(oi,αi)作为输入,验证可链接环签名/>
根据Claim,commit(oi,αi)验证可链接环签名/>过程如下:1)计算/>2)确定方程是否成立:
Ⅴ:CP从获取可链接值/>然后使用智能合约函数Bind_commit_Link,将其与承诺绑定到区块链上,使用/>
Ⅵ:在成功完成上述的验证和绑定步骤后,CP向用户颁发身份凭证。首先,CP从(k1,k2,…,kn)∈Zq中选择ki,其中ki为从(k1,k2,…,kn)中任意选取变量,然后计算将/>作为用户的凭证撤销证明,其中,wi为身份凭证累加器的可撤销证明。
其次,CP选择一个随机数ui∈Zq,然后计算身份凭证的PS签名(Ai,Bi),其中和Ai和Bi分别为PS随机化签名的两个分量。ui为凭证提供端选择的随机数。
最后,CP计算ki的哈希值,并将其用作AES对称加密算法的密钥keyAES=H(ki)。
Ⅶ:CP将ki,wi,Ai,Bi以及keyAES返回给用户。
3.4、解盲和验证
Ⅰ:首先,用户计算数字身份βi=(αi+ki)modq,
并对PS签名进行解绑处理以获得用户的真实数字身份凭证/>
接下来,为了实现行为隐私(隐私数字身份的多次呈现不可链接性),用户随机选择ti∈Zq,并随机化PS签名和/>其中Ci和Di分别为用户端利用随机数ti生成的随机化的PS签名的分量。
其次,为了证明用户是随机化凭证Cert'=(βi,Ci,Di,ki,wi)的持有者,而不揭示βi、ti、ki和wi的任何信息,通过以下步骤生成零知识证明:
首先,用户选择一个随机数ri∈Zq,并计算和/>
其次,用户随机选择rw∈G1并计算和k=rwki。
第三,用户将a、b和k代入累加器验证方程中,得到Ei和Fi为随机化PS签名的零知识证明中间变量,选择随机数rw∈G1并计算/>和k=rwki,其中,a,b,k分别为替换中间变量第四,用户随机选择ρ1,ρ2,ρ3,ρ4,ρ5∈Zq并计算/> csd=H(v,f,a1,b1)、s1=ρ1+csdβi、s2=ρ2+csdri、s3=ρ3+csdrw、s4=ρ4+csdk、s5=ρ5+csdki,以获得零知识证明Proofsd=(v,f,a1,b1,s1,s2,s3,s4,s5),v,f,a1,b1,s1,s2,s3,s4,s5为零知识证明的中间变量。
最后,基于获得的keyAES,用户使用AES算法对ki和ti进行加密AES_Encrypt(keyAES,(ki,ti))。在此过程中,ki和ti将协助CP定位本地Ai,这对于计算并将其与从SP接收的进行比较是必要的。这个过程可实现隐私身份的被动撤销。
Ⅱ:用户发送a,b,k,Ci,Di,Ei,Fi,Proofsd以及AES_Encrypt(keyAES,(ki,ti))给SP以请求服务授权。
Ⅲ:SP通过智能合约函数verify_credential验证零知识证明和随机化的PS签名的有效性。
过程如下:1)计算c=H(v,f,a1,b1);2)确定方程是否成立: 3)确定方程是否成立:符号“?”对应判断是否相等。
3.5、被动撤销和审计
Ⅰ:如果用户在使用服务期间违规,监测到用户的非法行为,SP会向CP发送AES_Encrypt(keyAES,(ki,ti))和请求撤销用户凭证。重要的是要强调,由于用户可以使用不同的随机数对PS签名进行随机化(Ai,B'i),如果他违反任何规定,SP只需向CP发送随机化的/>来请求用户隐私身份的被动撤销,CP无法确定谁是隐私身份的持有者。为了解决这个问题,本发明提出使用加密的(Ki,ti)来协助CP定位本地Ai并识别隐私身份的持有者。
Ⅱ:CP在收到被动撤销请求后,CP使用适当的解密密钥keyAES=hash(ki)解密AES_Decrypt(keyAES,AES_Encrypt(keyAES,(ki,ti))),得到(ki,ti)。
随后,CP基于解密的ki获取本地Ai。
在此之后,CP通过将解密的ti与获取的Ai组合计算并将其与接收到的/>进行比较。如果/>和/>相等,这表明用户确实违反了规定,CP会对其凭证进行被动撤销。.
Ⅲ:CP根据旧的累加值计算新的累加器值/>随后调用智能合约函数Set_System_Parames,使用新的累加器值/>更新系统参数,从而撤销用户的凭证。
Ⅳ:CP以违规用户的可链接值作为输入,然后调用智能合约函数Set_Malicious_User来计算/>其中/>表示同一匿名IV验证违规用户的实际物理身份的次数。显然,D可以用来监控和审计匿名IV的行为。
Ⅴ:CP调用智能合约函数Send_Event向所有匿名IV发送事件消息。此外,事件消息主要包含三个部分:1.通知内容,表示存在违规用户;2.违规用户的链接值3.与链接值绑定的承诺commit(oi,αi)。/>
Ⅵ:在所有IV监听事件消息后,它们会检查commit(oi,αi)和以确定哪一个用作违规用户实际物理身份的验证者。一旦验证成功,相应的IV将使用匿名的区块链账户调用智能合约函数Read_Malicious_User,并检索/>的值,该值表示他已验证违规用户实际物理身份的次数。这些信息有助于相应的IV在其验证过程中建立更严格的规定,以防止意外地重新验证违规用户。
实施例一
如今,共享汽车被视为一种能够缓解城市交通压力,经济且环境友好的出行方式,许多传统的互联网汽车服务公司纷纷推出了共享汽车服务平台,例如Uber,ZoomCar和DidiChuxing等,然而,这些共享汽车服务平台存在如下缺点:中心化、高佣金、不可信、不透明等,因此,基于区块链的共享汽车租赁平台已经被提出。但是,无论哪种基于区块链的共享汽车租赁平台,用户要租用相关的汽车,首先应该向平台或者汽车拥有者出示驾驶证,以证明其有驾驶相关车型的资质。这无疑会暴露驾驶证中的明文信息,存在隐私泄露风险。换言之,将本发明所提出的系统应用于这些基于区块链的共享汽车租赁平台,不仅能实现用户的身份和行为隐私保护,而且能在必要时对用户隐私身份进行主动和被动撤销。
图2展示了本实施例的架构图,其中的操作步骤①~⑤和智能合约与图2是相同的,不同之处在于,图2中的4种角色与共享汽车的实际场景有关。下面具体介绍4种角色:
用户端:共享汽车使用者对应端口,在使用共享汽车前,用户将基于真实的物理驾驶证获得隐私保护的数字身份,该数字身份可以使得用户在隐藏物理驾驶证真实信息的前提下,租到驾驶证规定的准驾车型。例如,如果用户拥有表7所示的B2驾驶证,他想向汽车租赁公司租用一辆C2汽车,同时掩盖其持有B2驾驶执照的事实,则必须获得隐私数字身份。应该指出的是,重点说明了物理驾驶执照的类别和授权的车辆类型。
驾驶证颁发机构(DMV)端:DMV与图2所示的IV相对应,其由政府授权,以向用户端发放实体驾驶执照。此外,DMV还隐私数字身份中对应的真实身份信息的验证者。验证过程包括验证用户的实体驾驶执照,并利用可链接环签名签署与驾驶执照身份属性相关的承诺和声明。
共享汽车运输管理部门(CSMC)端:CSMC与图2所示的CP相对应,由政府授权管理所有汽车共享公司。此外,CSMC还是数字身份凭证的发行机构,其中的数字身份凭证的发行过程包括验证可链接环签名和生成数字身份凭证的PS签名。此外,CSMC还有权主动或被动撤销用户的隐私身份凭证。
共享汽车租赁公司(CRC)端:共享汽车租赁公司(CRC):CRC对应如图2中的SP,其负责向持有相应的隐私身份凭证的用户出租相应的汽车。此外,在租车之前,CRC会通过区块链上的智能合约对隐私身份凭证的有效性进行验证,确保验证的跨平台、公开透明和抗单点故障。
进一步地,基于图1获得隐私数字身份的5个步骤与图2基本相同,下面进行简要介绍。
①系统初始化:该步骤与上述3.1系统初始化步骤非常相似,区别在于IV由不同地区的不同DMV组成,而CP则是不同地区的CSMC。在实际应用中,不同地区可能有各自的DMV和CSMC。
②属性承诺和签名:该步骤与3.2中的步骤类似,不同之处在于用户提交给共享汽车运输管理部门(CSMC)的实际驾驶证的准驾车型代号是B2,而用户的声明是"我的驾驶执照有资格租用C2级的小型自动驾驶汽车"。
③可随机化签名的凭证的颁发:该操作步骤与3.3操作步骤基本相同。
④解盲和验证:此步骤与3.4的步骤非常相似,区别在于CRC相对于3.4步骤中的SP。
⑤被动撤销和审计:该步骤与3.5所述步骤类似,不同之处在于,非法用户是指使用共享汽车过程中出现违法行为的用户。例如,如果用户在使用共享汽车时发生交通违章,而CRC收到违章信息,CRC可请求CSMC撤销该用户的隐私数字身份凭证,并随后向DMV发送智能合约事件。
性能测试与比较分析
由于用例操作与本发明图2所述系统基本一致,因此,本发明系统的性能可以通过用例来评估。
使用Python 3.0+基于Python的alt_bn128椭圆曲线库+Web3.Py构建了区块链去中心化应用客户端(Dapp),并使用Remix+Solidity+预编译和扩展的以太坊alt_bn128椭圆曲线操作库构建了智能合约。与此同时,智能合约被部署在Ganache以太坊测试网络上。
第二,根据图1和图2中的五个核心步骤及其中包含的子步骤,测试每个子步骤在Dapp上的执行时间,测试结果如表1所示。从测试结果可以看出,除了步骤4外,其他步骤都能较快响应,而步骤4中的Ⅰ、Ⅱ实质是用户在线下(链下)生成数字身份凭证的零知识证明的过程,其并不影响系统线上业务的执行效率,步骤4中的Ⅲ是服务提供商(共享汽车租赁公司)为了对用户进行服务授权,在区块链上进行的链上验证,其验证时间相对较长,这主要是由于验证过程涉及到链上alt_bn128椭圆曲线配对和加法等运算,但是由于该验证是在链上完成的,具备去中心化、公开透明和抗单点故障的优点,因此,其可以视为区块链辅助下系统的安全和效率的互换。
第三,表1的测试时间为发现恶意用户后,通过区块链给身份验证者(驾驶证颁发机构)发送区块链事件的运行时间,而事件的接收和判断需要身份验证者(驾驶证颁发机构)利用Dapp客户端完成。
表1
另一方面,表1的结果是在使用Intel i7-8550U处理器和16GB内存的Ubuntu虚拟机中得出的。具体而言,身份验证者构成的群成员个数为10个。此外,不同的群成员个数,将对步骤3-Ⅳ的执行时间(Times)产生影响,对此,测试了群成员个数(number of groupmembership)从10~100之间变化时,步骤Ⅳ的执行时间变化情况,测试结果如图3所示。从图3中可以看出,步骤3.3中子步IV的执行时间随着身份验证者所组成的群成员的增加而增加,但仍然低于0.6秒。值得注意的是,在现实场景中,身份验证者组成的群成员的个数也不会达到100,因此,即使系统中群成员个数增加,系统仍然能够保持较高的效率。
与其他现有系统的比较
表2提供了所提出系统与其他现有系统的优势比较分析。值得注意的是,所提出的系统不仅包含了区块链隐私数字身份应该具备的四个特点:身份的真实和可信、身份和行为的隐私以及身份的可控性,还具备链上验证、去中心化、公开透明和抵抗单点故障等特点。
表2
安全性分析
系统保证了用户真实物理身份的隐私和安全。在所提出的系统中,除了IV之外,没有第三方可以访问用户的实际身份信息,且IV是匿名的。首先,系统将IV和CP分开,并利用可链接环签名来隐藏负责验证用户实际物理身份的具体IV,防止CP直接获取用户的身份。其次,用户通过与CP交互获取身份凭证的过程(步骤3.2-I和步骤3.3-I)采用了密码学承诺和零知识证明。密码学承诺具有无条件的属性隐藏特性,在假设解决离散对数问题困难时,获得密码学承诺中隐藏的属性在计算上是不可行的。此外,零知识证明满足“完备性”、“可靠性”和“零知识性”,在交互过程中不会透露用户的实际身份信息。最后,用户与SP交互以获取服务的过程(步骤3.4-I、II和III)也利用零知识证明来隐藏身份凭证信息,从而保护用户的身份信息隐私安全。
用户行为的不可关联性。在所提出的系统中,用户从CP获取的身份凭证包含了CP的PS签名(步骤3.3-VI),这使得用户可以使用随机数对签名进行随机化处理(步骤3.4-I和II)。随机化的PS签名使得SP无法确定用户是否是同一人,并且无法与其他SP合谋分析用户的行为。
用户身份的可控性。在所提出的系统中,CP有能力主动更新累加器的Δ,从而实现对用户隐私身份凭证的撤销,这使得拥有原始累加器的Ki和Wi的用户将无法通过SP的链上隐私数字身份的验证。此外,在用户进行违法行为时,SP可以向CP发起隐私数字身份的被动撤销请求,以阻止用户继续使用SP的服务。随后,CP将被动更新累加器的Δ值,以被动撤销用户的隐私身份凭证(步骤3.5-III)。值得注意的是,在被动吊销过程中,用户的加密的Ki和ti将被发送给SP,而不会透露任何敏感信息。Ki和ti可以帮助CP定位本地的Ai,这对于计算并将其与SP接收到的/>进行比较是必要的。这个过程有助于识别隐私身份持有者,并确保对隐私身份的被动撤销。此外,SP无法伪造Ki和ti以请求CP撤销普通用户的凭证。这个限制是因为当SP请求吊销一个用户时,会提交AES_Encrypt(keyAES,(ki,ti))和/>给CP。如果提交了伪造的AES_Encrypt(keyAES′,(ki′,ti′))和/>CP将无法使用原始的keyAES解密AES_Encrypt(keyAES′,(ki′,ti′)),从而阻止CP确定本地存储的/>是否等于
公开透明和抗单点故障。在所提出的系统中,用户的隐私身份凭证的验证和系统参数的管理是通过链上智能合约实现的,而智能合约具有两个关键特性:公开透明和抵抗单点故障,其中,公开透明保证了验证过程对所有的系统参与者是可见的,这有助于问责和信任。此外,抗单点故障增强了系统的鲁棒性,确保了系统的可靠和安全。
隐私保护下的审计。所提出的系统中的可链接环签名的可链接值可用于跟踪每个匿名的身份验证者IV,实现了身份隐私下的可审计。当用户从事非法行为时,所有匿名IV都会收到事件消息。
随后,为非法用户提供了身份验证的IV将对自身验证过程进行约束,以保证不再对非法用户进行身份验证。此外,事件消息记录了匿名IV的可链接值,其将被存储盗防篡改的区块链分布式账本中,以用于事后审计和监管。
本发明提出了一种新颖的基于区块链的隐私数字身份系统,系统具备区块链数字身份系统的跨平台兼容、公开透明和抗单点故障等优点。同时,系统还具备数字身份的真实可信、身份的隐私安全和数字身份的可控性特性。首先,本发明详细介绍了所提出系统的框架结构、四个核心角色以及五个核心操作步骤。其次,在四个核心角色中,本发明将验证用户真实身份和发放用户数字身份凭证的操作分别分配给IV和CP。此外,本发明使用可链接环签名来匿名处理身份验证者IV,以尽可能减少用户真实身份的泄露。最后,在五个核心操作步骤中,本发明详细介绍了实现身份隐私保护和身份可控性的密码学技术,其中,身份的隐私保护通过非交互式零知识证明和密码学承诺、PS随机化签名以及动态累加器的组合实现,数字身份的可控性通过将动态累加器与AES对称加密算法相结合实现。此外,本发明利用基于区块链的汽车租赁业务介绍了系统的实际用例,测试了系统在此场景下的性能,并展示了测试结果。在测试系统性能的同时,本发明对系统的优势进行了比较分析,并讨论了系统的安全性。总之,所提出的系统克服了现有区块链数字身份系统的缺点,表现出了良好的性能和隐私安全特性,并且具备较好的场景适用性。
以上,仅为本申请较佳的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种区块链数字身份认证控制系统,其特征在于,包括:
用户端、身份验证端、凭证提供端及服务提供端;
其中,通过用户端将物理身份信息、声明及属性承诺提交给身份验证端,并接收环签名提供给凭证提供商,并根据隐私身份凭证生成服务请求凭证提交给服务提供端;
通过身份验证端对物理身份信息、声明及属性承诺使用智能合约提取的群公钥进行身份验证,并基于身份验证结果进行可链接环签名,生成环签名;
通过凭证提供端接收环签名,通过群公钥对环签名进行签名验证,并生成系统参数,基于签名验证结果及系统参数生成隐私身份凭证,并提取环签名中的链接值,通过智能合约将链接值与属性承诺在区块链中进行绑定;
通过服务提供端使用智能合约对服务请求凭证进行凭证验证,基于凭证验证结果为用户端提供服务,在提供服务过程中,检测用户端恶意行为,出现恶意行为时,提供撤销信息给凭证提供商以对用户端的隐私数字身份进行被动撤销。
2.根据权利要求1所述的系统,其特征在于:
所述区块链上的智能合约中包括第一合约函数、第二合约函数、第三合约函数、第四合约函数、第五合约函数及第六合约函数;
其中,通过第一合约函数对将存储群公钥的星际文件系统地址进行存储并在使用群公钥时,提供对应的星际文件系统地址;
通过第二合约函数将凭证提供端中的系统参数存储到区块链中,并在凭证提供端生成隐私身份凭证之前,从区块链系统中读取系统参数,在用户端检测到有恶意行为时,对系统参数进行修改;
通过第三合约函数将链接值及属性承诺在区块链中进行绑定;
通过第四合约函数对隐私身份凭证进行凭证验证;
通过第五合约函数在用户端的隐私身份凭证进行撤销后,记录撤销凭证的用户端的实施恶意行为的次数,并根据链接值,读取用户端的身份验证次数;
通过第六合约函数将撤销用户端隐私身份凭证的事件消息发送给身份验证端。
3.基于权利要求1-2任一项所述的区块链数字身份认证控制系统对应的控制方法,其特征在于,包括:
对身份验证端及凭证提供端进行系统初始化;
用户端提供物理身份信息、声明及属性承诺,通过身份验证端对物理身份信息、声明及属性承诺使用智能合约提取的群公钥进行身份验证,并基于身份验证结果进行可链接环签名,生成环签名;
用户端提供环签名,通过凭证提供端接收环签名,通过群公钥对环签名进行签名验证,基于签名验证结果及系统参数生成隐私身份凭证;
用户端根据隐私身份凭证生成服务请求凭证,通过服务提供端使用智能合约对服务请求凭证进行凭证验证,基于凭证验证结果为用户端提供服务;
当用户端检测恶意行为时,通过凭证提供端对用户端的隐私身份凭证进行被动撤销。
4.根据权利要求3所述的方法,其特征在于:
系统初始化的过程包括:
全部的身份验证端构建群组,并在群组中生成可链接环签名的参数,其中,/>为阶为/>生成元为/>的循环群,/>和为两个哈希函数;群组中的成员随机选择自己的私钥/>其中/>为阶为/>的整数群,并根据成员的私钥生成群组中的群公钥,将群公钥进行存储,并通过第三合约函数将群公钥的存储地址发布到区块链上;
通过凭证提供端生成一组初始系统参数{G1,G2,GT,e,q,g1,g2,H,H1},其中,(G1,G2,GT)是阶为q的循环群,e:G1×G2→GT是双线性配对,g1和g2分别是G1和G2群的生成元,H:{0,1}*→Zq和H1:G1→G1是两个哈希函数,Zq为阶为q的整数群;凭证提供商随机选取x,y∈Zq作为私钥sk=(x,y)∈Zq,其中x,y为随机选取的私钥的不同分量;
并根据私钥计算其中,g2,/>为公钥的不同分量,将构成凭证提供端的公钥/>X,Y为用于给用户生成承诺和PS随机化签名的对应参数,凭证提供端选择/>k1,…,kn∈Zq,并计算累加器/>其中,/>为群G1中的另一生成元,kn为随机选择的n个变量,将作为用户端的身份凭证累加器的可撤销证明颁发给用户;
凭证提供端通过第二合约函数将系统参数发布到区块链中;
当用户端请求生成隐私数字身份时,通过第二智能合约读取系统参数。
5.根据权利要求4所述的方法,其特征在于:
环签名的生成过程包括;
用户端对身份验证端进行选取,并将物理身份信息、声明及承诺提交给选取的身份验证端,其中αi表示实际的身份声明,oi∈Zq表示一个随机数,
在验证用户端的物理身份信息及对应的声明及承诺后,身份验证端对声明及属性承诺进行可链接环签名,并生成签名值其中,其中,/>是可链接值,/>和/>分别为环签名生成的中间变量,并将签名值/>提供给用户端。
6.根据权利要求5所述的方法,其特征在于:
隐私身份凭证颁发的过程包括:
用户端计算并生成第一零知识证明proofc=(tc,tα,sc1,sc2),其中,cα为承诺Commit(oi,αi)的零知识证明的中间变量,tc,tα,sc1,sc2分别为零知识证明的中间变量,用户端将声明、承诺、签名值、cα及第一零知识证明发送给凭证提供端以请求获取隐私身份凭证;
凭证提供端验证零知识证明及声明;
凭证提供端通过第一智能合约在区块链上获取群公钥的存储地址,并从存储地质中获取群公钥,根据群公钥、签名值、声明及承诺对签名值进行验证;
在验证后,凭证提供端根据签名值获取链接值,并通过第三合约函数将链接值与承诺在区块链上进行绑定;
在绑定后,凭证提供端向用户端颁发隐私身份凭证,凭证提供端从(k1,k2,…,kn)∈Zq中选择ki,其中ki为从(k1,k2,…,kn)中任意选取变量,然后计算其中,wi为身份凭证累加器的可撤销证明,将(ki,/>)作为用户的隐私身份凭证的撤销证明,凭证提供端选择随机数ui∈Zq,并计算隐私身份凭证的PS签名(Ai,Bi),其中,Ai和Bi分别为PS随机化签名的两个分量,其中ui为凭证提供端选择的随机数;将凭证提供端计算ki的哈希值,作为AES对称加密算法的密钥keyAES=H(ki);
凭证提供商将ki,wi,Ai,Bi以及keyAES返回给用户。
7.根据权利要求3所述的方法,其特征在于:
根据隐私身份凭证生成服务请求凭证的过程包括;
用户端计算数字身份βi=(αi+ki)mod q,对PS签名(Ai,Bi)进行解盲处理,生成数字身份凭证Cert=(βi,Ai,B′i,ki,wi);用户端随机选择ti∈Zq,并随机化PS签名,生成随机化的PS签名和/>其中Ci和Di分别为用户端利用随机数ti生成的随机化的PS签名的分量;并生成第二零知识证明Proofsd=(v,f,a1,b1,s1,s2,s3,s4,s5),其中v,f,a1,b1,s1,s2,s3,s4,s5为零知识证明的中间变量,基于AES对称加密算法的密钥keyAES,用户使用AES算法对ki和ti进行加密,生成加密结果AES_Encrypt(keyAES,(ki,ti));
用户端发送a,b,k,Ci,Di,Ei,Fi,Proofsd以及AES_Encrypt(keyAES,(ki,ti))给服务提供端验证以请求服务授权;
服务提供端通过第四合约函数验证第二零知识证明和随机化的PS签名。
8.根据权利要求7所述的方法,其特征在于:
第二零知识证明Proofsd=(v,f,a1,b1,s1,s2,s3,s4,s5)的生成过程包括:
选择一个随机数ri∈Zq,并计算和/>其中,Ei和Fi为随机化PS签名的零知识证明中间变量,选择随机数rw∈G1并计算/>和k=rwki,其中,a,b,k分别为替换中间变量,将a、b和k代入累加器验证方程/>中,得到/>用户随机选择随机数ρ1,ρ2,ρ3,ρ4,ρ5∈Zq并计算/> csd=H(v,f,a1,b1)、s1=ρ1+csdβi、s2=ρ2+csdri、s3=ρ3+csdrw、s4=ρ4+csdk、s5=ρ5+csdki,以获得第二零知识证明Proofsd=(v,f,a1,b1,s1,s2,s3,s4,s5)。
9.根据权利要求3所述的方法,其特征在于:
被动撤销的过程包括:
在提供服务过程中,检测用户端恶意行为,服务提供端向凭证提供端发送加密结果AES_Encrypt(keyAES,(ki,ti))和
凭证提供端在收到被动撤销请求后,使用解密密钥keyAES=hash(ki)解密AES_Decrypt(keyAES,AES_Encrypt(keyAES,(ki,ti))),并基于解密的ki获取本地Ai,在此之后,CP通过将解密的ti与获取的Ai组合计算并组合计算的/>与接收到的/>进行比较,若/>和相等,凭证提供端对用户端的数字身份凭证进行被动撤销;
凭证提供端计算新的累加器值通过第二合约函数将新的累加器值更新系统参数以撤销用户的数字身份凭证;
凭证提供端将撤销的用户端的可链接值作为输入,通过第五合约函数计算其中/>表示身份验证端验证违规用户的物理身份信息的次数;
凭证提供端通过第六合约函数向所有的身份验证端发送事件消息;
身份验证端验证事件消息对应的commit(oi,αi)和确定用于撤销的用户端的身份验证端,身份验证端使用第一合约函数r并检索/>的值。
10.根据权利要求9所述的方法,其特征在于:
事件消息包括:违规用户的通知内容、违规用户的链接值与链接值/>绑定的承诺commit(oi,αi)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311251113.4A CN117176361B (zh) | 2023-09-26 | 2023-09-26 | 一种区块链数字身份认证控制系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311251113.4A CN117176361B (zh) | 2023-09-26 | 2023-09-26 | 一种区块链数字身份认证控制系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117176361A true CN117176361A (zh) | 2023-12-05 |
CN117176361B CN117176361B (zh) | 2024-05-07 |
Family
ID=88929803
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311251113.4A Active CN117176361B (zh) | 2023-09-26 | 2023-09-26 | 一种区块链数字身份认证控制系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117176361B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117527265A (zh) * | 2024-01-04 | 2024-02-06 | 深圳合纵富科技有限公司 | 基于分布式数字身份的物联网数据采集系统及方法 |
CN117997653A (zh) * | 2024-04-03 | 2024-05-07 | 湖南天河国云科技有限公司 | 基于区块链的物联网数据隐私保护方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200082433A1 (en) * | 2018-09-06 | 2020-03-12 | MadHive, Inc. | Methods and system for providing oversight and auditing of advertisement impressions and for running advertisement campaigns |
CN112311530A (zh) * | 2020-10-29 | 2021-02-02 | 中国科学院信息工程研究所 | 一种基于区块链的联盟信任分布式身份凭证管理认证方法 |
CN112307455A (zh) * | 2020-12-28 | 2021-02-02 | 支付宝(杭州)信息技术有限公司 | 基于区块链的身份认证方法及装置、电子设备 |
CN113098838A (zh) * | 2021-02-21 | 2021-07-09 | 西安电子科技大学 | 一种可信分布式身份认证方法、系统、存储介质及应用 |
CN114186248A (zh) * | 2021-11-13 | 2022-03-15 | 云南财经大学 | 基于区块链智能合约的零知识证明可验证凭证数字身份管理系统及方法 |
CN114329610A (zh) * | 2021-12-29 | 2022-04-12 | 浙江吉利控股集团有限公司 | 区块链隐私身份保护方法、装置、存储介质及系统 |
CN115174091A (zh) * | 2022-05-29 | 2022-10-11 | 北京理工大学 | 一种面向分布式数字身份的同态加密隐私保护方法 |
-
2023
- 2023-09-26 CN CN202311251113.4A patent/CN117176361B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200082433A1 (en) * | 2018-09-06 | 2020-03-12 | MadHive, Inc. | Methods and system for providing oversight and auditing of advertisement impressions and for running advertisement campaigns |
CN112311530A (zh) * | 2020-10-29 | 2021-02-02 | 中国科学院信息工程研究所 | 一种基于区块链的联盟信任分布式身份凭证管理认证方法 |
CN112307455A (zh) * | 2020-12-28 | 2021-02-02 | 支付宝(杭州)信息技术有限公司 | 基于区块链的身份认证方法及装置、电子设备 |
CN113098838A (zh) * | 2021-02-21 | 2021-07-09 | 西安电子科技大学 | 一种可信分布式身份认证方法、系统、存储介质及应用 |
CN114186248A (zh) * | 2021-11-13 | 2022-03-15 | 云南财经大学 | 基于区块链智能合约的零知识证明可验证凭证数字身份管理系统及方法 |
CN114329610A (zh) * | 2021-12-29 | 2022-04-12 | 浙江吉利控股集团有限公司 | 区块链隐私身份保护方法、装置、存储介质及系统 |
CN115174091A (zh) * | 2022-05-29 | 2022-10-11 | 北京理工大学 | 一种面向分布式数字身份的同态加密隐私保护方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117527265A (zh) * | 2024-01-04 | 2024-02-06 | 深圳合纵富科技有限公司 | 基于分布式数字身份的物联网数据采集系统及方法 |
CN117527265B (zh) * | 2024-01-04 | 2024-03-26 | 深圳合纵富科技有限公司 | 基于分布式数字身份的物联网数据采集系统及方法 |
CN117997653A (zh) * | 2024-04-03 | 2024-05-07 | 湖南天河国云科技有限公司 | 基于区块链的物联网数据隐私保护方法及装置 |
CN117997653B (zh) * | 2024-04-03 | 2024-06-07 | 湖南天河国云科技有限公司 | 基于区块链的物联网数据隐私保护方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN117176361B (zh) | 2024-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Gabay et al. | Privacy-preserving authentication scheme for connected electric vehicles using blockchain and zero knowledge proofs | |
US11481768B2 (en) | System and method of generating and validating encapsulated cryptographic tokens based on multiple digital signatures | |
US9397839B2 (en) | Non-hierarchical infrastructure for managing twin-security keys of physical persons or of elements (IGCP/PKI) | |
CN103856477B (zh) | 一种可信计算系统及相应的认证方法和设备 | |
CN117176361B (zh) | 一种区块链数字身份认证控制系统及方法 | |
US20080209575A1 (en) | License Management in a Privacy Preserving Information Distribution System | |
US8631486B1 (en) | Adaptive identity classification | |
Petrlic et al. | A privacy-friendly architecture for future cloud computing | |
CN109688119A (zh) | 一种云计算中的可匿名追踪性身份认证方法 | |
CN105187405A (zh) | 基于信誉的云计算身份管理方法 | |
Win et al. | Privacy enabled digital rights management without trusted third party assumption | |
CN114785511A (zh) | 证明生成方法及装置、电子设备、存储介质 | |
Xu et al. | Blockchain-based transparency framework for privacy preserving third-party services | |
Rial | Privacy-preserving e-commerce protocols | |
CN111262844A (zh) | 一种基于密码技术的隐私保护方法 | |
JP2004228958A (ja) | 署名方法および署名プログラム | |
CN112600850B (zh) | 可追踪的基于属性的匿名认证方法、系统及存储介质 | |
Brocardo et al. | Privacy information in a positive credit system | |
CN110445756B (zh) | 云存储中可搜索加密审计日志的实现方法 | |
Arnold et al. | Zero-knowledge proofs do not solve the privacy-trust problem of attribute-based credentials: What if alice is evil? | |
CN115952483A (zh) | 匿名可追踪身份认证方法及装置 | |
CN113673893A (zh) | 退役动力电池管理方法及系统 | |
Mohammadi et al. | A secure e-tendering system | |
Priya et al. | Keyword search with two-side verification in encrypted data using blockchain | |
Zhang et al. | Attribute Based Conjunctive Keywords Search with Verifiability and Fair Payment Using Blockchain |
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 |