CN110149304A - 一种适用于联盟链的支持身份可追踪的高效匿名认证方法和系统 - Google Patents

一种适用于联盟链的支持身份可追踪的高效匿名认证方法和系统 Download PDF

Info

Publication number
CN110149304A
CN110149304A CN201910255663.0A CN201910255663A CN110149304A CN 110149304 A CN110149304 A CN 110149304A CN 201910255663 A CN201910255663 A CN 201910255663A CN 110149304 A CN110149304 A CN 110149304A
Authority
CN
China
Prior art keywords
tissue
ccenter
user terminal
access request
user
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
Application number
CN201910255663.0A
Other languages
English (en)
Other versions
CN110149304B (zh
Inventor
苏倩倩
章睿
薛锐
孙优
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN201910255663.0A priority Critical patent/CN110149304B/zh
Publication of CN110149304A publication Critical patent/CN110149304A/zh
Application granted granted Critical
Publication of CN110149304B publication Critical patent/CN110149304B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0407Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
    • H04L63/0421Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3263Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • H04L9/3268Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements using certificate validation, registration, distribution or revocation, e.g. certificate revocation list [CRL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种适用于联盟链的支持身份可追踪的高效匿名认证方法和系统。该方法利用匿名认证技术授予合法用户相应的密钥,使用户能够在交互过程中生成用于认证的证书,验证通过则身份验证成功;匿名认证技术是基于群签名技术构建的,因此能在支持身份可追踪的同时保护用户身份的隐私性。授予用户的密钥分成两个组件:匿名密钥和时间组件。在用户退出时只需要更新未退出用户的时间组件,即可实现退出用户的身份撤销。本发明不仅可以在不依赖第三方的情况下实现认证,而且在验证过程中可以保护用户的隐私,在纠纷出现时能够揭露用户身份,实现可追踪性质,并且支持在系统初始化之后,高效实现联盟成员与组织内成员的动态加入与退出。

Description

一种适用于联盟链的支持身份可追踪的高效匿名认证方法和 系统
技术领域
本发明涉及一种适用于联盟链的支持身份可追踪的高效匿名认证方法和系统,属于区块链领域。
背景技术
近几年区块链技术已成为研究的技术热点。区块链是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。该技术方案让参与系统中的任意多个节点,把一段时间系统内全部信息交流的数据,通过密码学算法计算和记录到一个数据块(block),并且生成该数据块的指纹用于链接(chain)下个数据块和校验,系统所有参与节点来共同认定记录是否为真。
区块链的四个主要特性是:
(1)去中心化(Decentralized)。整个网络没有中心化的硬件或者管理机构,任意节点之间的权利和义务都是均等的,且任意一个节点的损坏或者失去都不会影响整个系统的运作。
(2)去信任(Trustless)。参与整个系统中的每个节点之间进行数据交换是无需互相信任的,整个系统的运作规则是公开透明的,所有的数据内容也是公开的。
(3)集体维护(Collectively Maintain)。系统中的数据块由整个系统中所有具有维护功能的节点来共同维护的,而这些具有维护功能的节点是任何人都可以参与的。
(4)可靠数据库(Reliable Database)。整个系统将通过分布式数据库的形式,让每个参与节点都能获得一份完整数据库的拷贝。除非能够同时控制整个系统中超过51%的节点,否则单个节点上对数据库的修改是无效的,也无法影响其他节点上的数据内容。因此参与系统中的节点越多和计算能力越强,该系统中的数据安全性越高。
由以上四个特征会引申出另外2个特征:
(1)开源(Open Source):由于整个系统的运作规则必须是公开透明的,所以对于程序而言,整个系统必定会是开源的。
(2)隐私保护(Anonymity):由于节点和节点之间是无需互相信任的,因此节点和节点之间无需公开身份,在系统中的每个参与的节点的隐私都是受到保护。
区块链目前分为三类:私有链、公有链、联盟链。
公有链是最早的区块链,也是目前应用最广泛的的区块链。是指像比特币区块链这样的完全去中心化的、不受任何机构控制的区块链。世界上任何个体或者团体都可以发送交易,且交易能够获得该区块链的有效确认,任何人都可以参与其共识过程。共识过程的参与者通过密码学技术以及内建的经济激励维护数据库的安全。公有链具有完全公开、不受控制、依靠加密技术来保证安全的特点。
私有链是指存在一定的中心化控制的区块链。仅仅使用区块链的总账技术进行记账,可以是一个公司,也可以是个人,独享该区块链的写入权限,本链与其他的分布式存储方案没有太大区别。参与的节点只有用户自己,数据的访问和使用有严格的权限管理。联盟链由于存在一定的中心化控制,所以也可以认为是属于私有链范畴。由于在私有链中全是用户说了算,里面的数据没有无法更改的特性,对于第三方也没有多大的保障。一般用作内部审计。
联盟链是由某个群体内部指定多个预选的节点为记账人,每个块的生成由所有的预选节点共同决定,其他接入节点可以参与交易,但不过问记账过程。参与区块链的节点是事先选择好的,节点间很可能是有很好的网络连接。这样的区块链上可以采用非工作量证明的其他共识算法,比如有100家金融机构之间建立了某个区块链,规定必须67个以上的机构同意才算达成共识。联盟链可以做到很好的节点间的连接,只需要极少的成本就能维持运行,提供迅速的交易处理和低廉的交易费用,有很好的扩展性,但是扩展性随着节点增加又会下降。数据可保证一定的隐私,同时该区块链的应用范围有限制。
随着区块链技术的发展,越来越多的项目在区块链上得以部署。但是目前而言,大多数项目都依靠以太坊作为公有链,这是因为公有链可以访问到更多的用户、网络节点、货币和市场。然而私有链和联盟链更适合用于企业级区块链应用,例如,银行领域的很多公司都希望以太坊作为他们私有链的平台。联盟链是允许若干个机构共同参与管理的区块链,每个机构都运行着一个或多个节点,其中的数据只允许系统内不同的机构进行读写和发送交易,并且共同来记录交易数据。又被称为“共享认证型区块链”。目前已经有了很多的联盟链,比如,(1)R3区块链联盟,该项目主要致力于为银行提供探索区块链技术的渠道以及建立区块链概念性产品。R3使用以太坊和微软Azure技术,将11家银行连接至分布式账本;(2)超级账本(Hyperledger),致力于让成员共同合作,共建开放平台,满足来自多个不同行业各种用户案例,并简化业务流程。由于点对点网络的特性,分布式账本技术是完全共享、透明和去中心化的,故非常适合于在金融行业的应用,以及其他的例如制造、银行、保险、物联网等无数个其他行业。通过创建分布式账本的公开标准,实现虚拟和数字形式的价值交换,例如资产合约、能源交易、结婚证书、能够安全和高效低成本的进行追踪和交易。
但是联盟链也有其局限性,在成员使用联盟链的过程中,如何对用户进行身份的验证是一个关键问题。考虑到联盟之间共享的信息有可能是敏感信息,如何保护联盟链的信息不被非成员获得是待解决的问题。但是当前存在的身份认证方案通常需要中心的权威机构或者可信第三方的参与,这会导致当权威机构受损或者宕机时,整个系统不能继续使用。所以,当前中心化的身份认证方案难以在分布式的场景中使用。
考虑到联盟链的使用场景,所需的身份认证方案需要满足以下需求:
(1)可认证性。联盟内的成员必须能够正确的通过认证。
(2)匿名性。认证过程中,任何第三方不能从认证的消息中获得成员的真实身份。
(3)不可伪造性。任何非联盟成员不能伪造一个认证信息,并且通过认证。
(4)可追踪性。当出现纠纷的时候,成员的匿名性可以被去除,从而获知真实成员身份。
另外,考虑到实际应用过程中,联盟的成员是动态变化的,如何高效的应对成员的加入与退出也是亟待解决的重要问题。系统要不仅支持新的联盟成员/组织内用户的加入/退出,同时对该功能的实现要尽可能高效且安全。因此,如何达到高效的联盟成员/组织内用户的退出与加入是值得研究的问题。当前并没有现有的方法或系统能解决在联盟链中的上述问题,因此需要进一步进行研究。
发明内容
本发明的目的在于,提供一种适用于联盟链的可追踪的高效匿名认证方法,它可以有效解决现有技术中存在的问题,不仅可以在联盟链的场景中实现匿名可追踪的认证,而且能够在系统初始化之后,高效实现联盟成员与组织内成员的动态加入与退出。
为解决上述技术问题,本发明采用如下的技术方案:
一种适用于联盟链的支持身份可追踪的高效匿名认证方法,包括以下步骤:
S1.系统初始化:系统包含1个可信实体TTP,N个联盟的组织成员Orgi(i=1,2,…,N),每一个组织内可包含M个用户Uj(j=1,2,…,M)。每一个组织Orgi拥有1个控制中心CCenteri和1个信息的认证处理模块ADMi。CCenter负责管理该组织内的所有用户,并为所属组织生成公开参数gpk和主密钥gmsk。TTP为CCenteri分发密钥对(pki,ski),在不同CCenter之间交换所需的必要信息时使用。ADMi负责处理用户的认证过程,包括身份的验证以及访问响应。其中,1个可信实体TTP对应一个可信实体服务器,N个联盟的组织成员对应N个组成成员的服务器,每一个组织内包含的M个用户对应M个用户端。
S2.用户注册:用户向所属的组织申请注册。该组织的控制中心CCenter为用户分发密钥。密钥包含两个组件:匿名密钥ASKi和时间组件Δ。其中时间组件将在有用户撤销时更新。
S3.用户身份验证:用户生成访问请求,使用匿名密钥ASKi和时间组件Δ对访问请求生成证书Certi。用户将访问请求和证书广播发送。接收到访问请求和证书的用户,对证书Certi进行验证。如果验证通过,说明访问请求来自联盟内的合法成员并且访问请求未被篡改,接收者处理访问请求,生成访问响应。如果验证不通过,不做任何处理,忽略该请求。
进一步地,上述方法还包括:
S4.身份追踪:CCenter使用公开参数gpk和主密钥gmsk可以追踪访问请求(包括访问信息,证书与签名)的发起者身份。
进一步地,上述方法还包括:
S5.动态加入与撤销:在系统初始化之后,新组织可以申请加入联盟,当前联盟内的组织也可以退出联盟。退出联盟的组织不对系统产生安全威胁。另外,对于某一组织,允许新成员加入该组织,也允许当前成员的退出,退出的成员对所属组织以及联盟系统不具有安全威胁。
步骤S1中,CCenter通过以下步骤生成公开参数gpk和主密钥gmsk:
(1)给定一个安全参数k,运行双线性对生成算法,得到双线性群的参数,双线性群参数包括q,G1,G2,GT,e,g1,g2,其中q是群G1,G2,GT的阶数,g1,g2分别是群G1,G2的生成元,e是映射e:G1×G2→GT
(2)选择两个随机数计算A1=g1 a,A2=g2 a,B=g1 b。选择一个抗碰撞的哈希函数以及一个签名方案Π=(Sign,Verify),其中表示模q的群,Sign表示签名方案中的签名算法,Verify表示签名方案中的验证算法。
公开参数gpk=(q,G1,G2,GT,e,g1,g2,A1,A2,B,H,Π),主密钥gmsk=(a,b)。
步骤S1中,CCenteri选择一个随机数t0,计算CCenteri分发的时间组件并秘密存储,不同CCenter之间通过以下方式实现验证所需参数的共享(以CCenteri与CCenterj交换信息为例):
(1)CCenteri生成信息信息中gpki表示CCenteri为组织Orgi生成的公开参数,分别表示控制中心和组织的标识,ts表示信息发送的时间。
(2)CCenteri使用私钥对进行签名,得到
(3)CCenteri发送给CCenterj
(4)CCenterj接收到消息后,首先验证时间ts是否有效,之后验证消息的签名。如果验证通过,CCenterj保存在ADMj中,并按照相同方法生成发送给CCenteri
步骤S2中,用户注册步骤执行如下:
(1)CCenter为用户Ui选择一个随机数si,使得si满足关系等式si+a≠0modq。CCenter计算
(2)CCenter将(ASKii)发送给用户Ui
(3)CCenter维护一个用户列表,将(Ui,Si a)存入表中,其中Si a表示Si的a次方。
步骤S3中,用户的身份验证通过以下步骤进行生成:
(1)用户Ui获得当前系统时间t1,生成访问的请求信息:
其中是用户Ui所属组织的标识,是希望访问的组织的标识,operation是相应的访问操作,t1是请求发起的时刻。
(2)用户选择四个随机数计算以下值:
T1=A1 r
T2=SiBr
δ=rsi mod q
(3)令c=H(A1,B,T1,T2,R1,R2,R3,Δ),并计算:
s1=(r1+cr)modq
s2=(r2+csi)modq
s3=(r3+cδ)modq
(4)用户生成访问请求REQi的证书:
Certi={T1||T2||Yi||c||s1||s2||s3}
(5)用户广播发送(REQi,Certi)。
接收到访问请求的组织Orgr将消息交付给ADMr进行处理。对访问请求(REQi,Certi)的处理按照下面的步骤进行:
首先,验证请求者的身份以及信息的完整性,包括以下步骤:
(1)检查时间戳t1是否在允许的范围内。如果时间戳在允许范围内,执行下一步操作,否则,终止操作不进行任何处理。
(2)ADMr进行下列计算:
(3)令判断与Cert中提取的c'是否相等。如果相等,那么验证通过。T1',T2'是从Cert中提取到的值,Δi是系统初始化过程中CCenter之间交换信息时得到并交付给ADMr的值。
(4)ADMr检查信息中的如果那么该组织是访问请求的目的组织,ADMr保存该记录后执行相应操作作为反馈。如果那么该组织不是访问请求的目的组织,ADMr仅保存访问请求。
步骤S4中,CCenter可以利用公开参数gpk和主密钥gmsk得到访问请求发送者的身份,该过程包括以下步骤:
(1)CCenter得到访问请求(REQi,Certi),利用gpk和主密钥gmsk,计算Si a=T2 a/T1 b。其中,T2 a、T1 b表示T2的a次幂,T1的b次幂。
(2)CCenter得到Si a之后,查看用户列表,得到用户的身份Ui
步骤S5中,在联盟系统初始化之后,允许联盟成员的加入或退出,同时也允许组织内新成员的加入与退出。
步骤S5,新组织的加入过程是:组织Orgnew,标识为希望加入联盟。TTP为属于组织Orgnew的CCenternew生成密钥对(pknew,sknew)。
步骤S5中,当标识为的组织Orgexit,希望退出联盟时,将进行以下操作:
TTP将CCenterexit的密钥对(pkexit,skexit)发送给未退出的组织。未退出组织在本地维护一个组织撤销列表O-RL,将收到的已撤销组织的密钥对(pkexit,skexit)存入O-RL中。
步骤S5中,在组织Org内加入新用户Unew的过程是
(1)CCenter为用户Unew选择随机数snew,使得snew满足关系等式snew+a≠0 mod q,计算
(2)CCenter把匿名密钥是以及发送给Unew
(3)CCenter将(Unew,Snew a)存在用户列表中。
步骤S5中,在组织Orgd内,用户Uexit的退出过程是:
(1)CCenterd首先将Uexit在用户列表中删除。
(2)CCenterd选择一个随机数t0',计算并更新存储的Δ值,CCenterd将更新的Δ值发送给除CCenterd外的CCenterr(r=1,..,N,r≠d)。
(3)CCenterd将更新的以及被撤销的用户Uexit的(Uexit,Sexit)发送给组织内未退出的用户。
(4)收到新的的用户,更新本地存储的Δ值。
基于同一发明构思,本发明还提供一种适用于联盟链的支持身份可追踪的高效匿名认证系统,其包括一个可信实体服务器,若干联盟的组织成员的服务器,每一个组织内包含若干用户端,每一个组织拥有一个控制中心和一个信息的认证处理模块;所述控制中心负责管理其所属组织内的所有用户端,并为所属组织生成公开参数和主密钥;所述可信实体为所述控制中心分发密钥对,在不同所述控制中心之间交换所需的必要信息时使用;所述认证处理模块负责处理用户端的认证过程,包括身份的验证以及访问响应;用户端向所属的组织申请注册时,组织的控制中心为用户端分发密钥,密钥包含两个组件:匿名密钥和时间组件;用户端生成访问请求后,使用匿名密钥和时间组件对访问请求生成证书,并将访问请求以及证书广播发送;接收到访问请求和证书的用户端端通过所述认证处理模块对证书进行验证,如果验证通过则处理所述访问请求,生成访问响应,如果验证不通过则不做任何处理,忽略所述访问请求。
进一步地,所述控制中心使用公开参数和主密钥追踪访问请求的发起者身份;在系统初始化之后,新组织能够申请加入联盟,当前联盟内的组织也能够退出联盟;对于某一组织,允许新成员加入该组织,也允许当前成员的退出。
与现有技术相比,本发明具有以下优点:
(1)本发明制定了一种适用于联盟链的可追踪的高效匿名认证方法。该方法利用匿名认证技术,授予合法用户相应的密钥,使用户能够在交互过程中生成用于认证的证书,验证通过则身份验证成功。匿名认证技术是基于群签名技术构建的,因此能在支持身份可追踪的同时保护用户身份的隐私性。授予用户的密钥分成两个组件,包括匿名密钥ASK和时间组件Δ。在用户退出时,只需要更新未退出用户的时间组件Δ,即可实现退出用户的身份撤销。
(2)本发明的认证过程可以在TTP离线的情况下进行完成,能够适用于联盟链的分布式环境。尽管TTP在系统初始化时引入,但是TTP在用户验证过程中是处于离线状态,并且不同组织间都拥有验证所需的必要信息,能够在不依赖可信第三方的情况下进行身份验证,避免了单一节点故障问题。
(3)本发明支持组织Orgi的用户U直接向组织Orgj发起访问请求(比如读数据)。由于组织控制中心CCenter在系统初始化时,通过信息交互已获得验证所需的必要信息,因此组织Orgj可以作为验证者对其身份进行验证。
(4)本发明不仅能够支持联盟组织成员的加入与退出,而且支持组织内用户的加入与退出。其中新组织的加入与新成员的加入能够在不影响当前系统的情况下,以相互独立的方式实现;组织的退出通过使用撤销列表O-RL得以高效实现;组织和组织内的成员不需要在本地维护用户的撤销列表,通过更新未退出用户密钥中的时间组件Δ完成用户的撤销。另一方面,在不同的组织之间,其组织内用户的加入与删除也相互独立。
(5)本发明中涉及的认证方法(涉及步骤S3),相比较于以往的认证方法,需要更少的计算量,同时该方法中将身份验证过程交付给信息的认证处理模块(ADM)进行处理,避免了由于控制中心需要处理其他事务而造成信息处理任务的等待延迟,从而加快验证的处理速度。
附图说明
图1是系统模型示意图。
图2是CCenter间的信息交互示意图。
图3是用户认证过程流程图。
图4是组织撤销过程示意图。
图5是用户撤销过程示意图。
图6是为用户生成密钥产生的时间开销。
图7是对证书生成/验证/身份追踪产生的时间开销。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面通过具体实施例和附图,对本发明做进一步详细说明。
本发明的实施例:一种适用于联盟链的分布式的支持可追踪的匿名认证方法,包括以下步骤:
S1.系统初始化:图1是该系统模型的示意图。系统包含1个可信实体TTP,N个联盟的组织成员Orgi(i=1,2,…,N),每一个组织内可包含M个用户Uj(j=1,2,…,M)。每一个组织Orgi拥有1个控制中心CCenteri和1个信息的认证处理模块ADMi。CCenter负责管理该组织内的所有用户,并为所属组织生成公开参数gpk和主密钥gmsk。TTP为CCenteri分发密钥对(pki,ski),在不同CCenter之间交换所需的必要信息时使用。ADMi负责处理用户的认证过程,包括身份的验证以及访问响应。
步骤S1中,CCenter通过以下步骤生成公开参数gpk和主密钥gmsk:
(1)给定一个安全参数k,运行双线性对生成算法,得到双线性群的参数,双线性群参数包括q,G1,G2,GT,e,g1,g2,其中q是群G1,G2,GT的阶数,g1,g2分别是群G1,G2的生成元,e是映射e:G1×G2→GT
(2)选择两个随机数计算A1=g1 a,A2=g2 a,B=g1 b。选择一个抗碰撞的哈希函数以及一个签名算法Π=(Sign,Verify)。其中表示模q的群,Sign表示签名方案中的签名算法,Verify表示签名方案中的验证算法。
公开参数gpk=(q,G1,G2,GT,e,g1,g2,A1,A2,B,H,Π),主密钥gmsk=(a,b)。
步骤S1中,CCenteri选择一个随机数t0,计算并秘密存储,不同CCenter之间通过以下方式实现验证所需参数的共享(以CCenteri与CCenterj交换信息为例,如图2所示):
(1)CCenteri生成信息信息中gpki表示CCenteri为组织Orgi生成的公开参数,分别表示控制中心和组织的标识,ts表示信息发送的时间。
(2)CCenteri使用私钥对进行签名,得到
(3)CCenteri发送给CCenterj
(4)CCenterj接收到消息后,首先验证时间ts是否有效,之后验证消息的签名。如果验证通过,CCenterj保存在ADMj中,并按照相同方法生成发送给CCenteri
S2.用户注册:用户向所属的组织申请注册。该组织的控制中心CCenter为用户分发密钥。密钥包含两个组件:匿名密钥ASKi和时间组件Δ。其中时间组件将在有用户撤销时更新。
步骤S2中,用户注册步骤执行如下:
(1)CCenter为用户Ui选择一个随机数si,使得si满足关系等式si+a≠0modq。CCenter计算
(2)CCenter将(ASKii)发送给用户Ui
(3)CCenter维护一个用户列表,将(Ui,Si a)存入表中。
S3.用户身份验证:用户生成访问信息,使用匿名密钥ASKi和时间组件Δ对访问请求生成证书Certi。用户将访问信息,证书以及签名广播发送。接收到访问请求的用户,对证书Certi进行验证。如果验证通过,说明访问请求来自联盟内的合法成员并且访问请求未被篡改,接收者处理访问请求,生成访问响应。如果验证不通过,不做任何处理,忽略该请求。
步骤S3中,用户的身份验证的流程如图3所示,具体通过以下步骤进行生成:
(1)用户Ui获得当前系统时间t1,生成访问的请求信息:
其中是用户Ui所属组织的标识,是希望访问的组织的标识,operation是相应的访问操作,t1是请求发起的时刻。
(2)用户选择四个随机数计算以下值:
T1=A1 r
T2=SiBr
δ=rsi mod q
(3)令c=H(A1,B,T1,T2,R1,R2,R3,Δ),并计算:
s1=(r1+cr)modq
s2=(r2+csi)modq
s3=(r3+cδ)modq
(4)用户生成访问请求REQi的证书,分别是:
Certi={T1||T2||Yi||c||s1||s2||s3}
(5)用户广播发送(REQi,Certi)。
接收到访问请求的组织Orgr将消息交付给ADMr进行处理。对访问请求(REQi,Certi)的处理按照下面的步骤进行:
首先,验证请求者的身份以及信息的完整性,包括以下步骤:
(1)检查时间戳t1是否在允许的范围内。如果时间戳在允许范围内,执行下一步操作,否则,终止操作不进行任何处理。
(2)ADMr进行下列计算:
(3)令判断与Cert中提取的c'是否相等。如果相等,那么验证通过。T1',T2'是从Cert中提取到的值,Δi是系统初始化过程中CCenter之间交换信息时得到并交付给ADMr的值。
(4)ADMr检查信息中的如果那么该组织是访问请求的目的组织,ADMr保存该记录后执行相应操作作为反馈。如果那么该组织不是访问请求的目的组织,ADMr仅保存访问请求。
S4.身份追踪:CCenter使用公开参数gpk和主密钥gmsk可以追踪访问请求(包括访问信息,证书与签名)的发起者身份。
步骤S4中,CCenter可以利用公开参数gpk和主密钥gmsk得到访问请求发送者的身份,该过程包括以下步骤:
(1)CCenter得到访问请求(REQi,Certi),利用gpk和主密钥gmsk,计算Si a=T2 a/T1 b
(2)CCenter得到Si a之后,查看用户列表,得到用户的身份Ui
S5.动态加入与撤销:在系统初始化之后,新组织可以申请加入联盟,当前联盟内的组织也可以退出联盟。退出联盟的组织不对系统产生安全威胁。另外,对于某一组织,允许新成员加入该组织,也允许当前成员的退出,退出的成员对所属组织以及联盟系统不具有安全威胁。
步骤S5中,在联盟系统初始化之后,允许联盟成员的加入或退出,同时也允许组织内新成员的加入与退出。
步骤S5,新组织的加入过程是:组织Orgnew,标识为希望加入联盟。TTP为属于组织Orgnew的CCenternew生成密钥对(pknew,sknew)。
步骤S5中,当标识为的组织Orgexit,希望退出联盟时,将进行以下操作(如图4所示):
TTP将CCenterexit的密钥对(pkexit,skexit)发送给未退出的组织。未退出组织在本地维护一个组织撤销列表O-RL,将收到的已撤销组织的密钥对(pkexit,skexit)存入O-RL中。
步骤S5中,在组织Org内加入新用户Unew的过程是:
(1)CCenter为用户Unew选择随机数snew,使得snew满足关系等式snew+a≠0modq,计算
(2)CCenter把匿名密钥是以及发送给Unew
(3)CCenter将(Unew,Snew a)存在用户列表中。
步骤S5中,在组织Orgd内,用户Uexit的退出过程如图5所示,包括:
(1)CCenterd首先将Uexit在用户列表中删除。
(2)CCenterd选择一个随机数t0',计算并更新存储的Δ值,CCenterd将更新的Δ值发送给除CCenterd外的CCenterr(r=1,..,N,r≠d)。
(3)CCenterd将更新的以及被撤销的用户Uexit的(Uexit,Sexit)发送给组织内未退出的用户。
(4)收到新的的用户,更新本地存储的Δ值。
图6和图7为本发明的部分阶段仿真数据图。图6表示方案中为用户生成密钥产生的时间开销。图7表示方案中对证书生成/验证/身份追踪产生的时间开销。本发明相比较于以往的认证方法,需要更少的计算量,能够加快验证的处理速度,减少时间开销。
本发明另一实施例提供一种适用于联盟链的支持身份可追踪的高效匿名认证系统,其包括一个可信实体服务器,若干联盟的组织成员的服务器,每一个组织内包含若干用户端,每一个组织拥有一个控制中心和一个信息的认证处理模块;所述控制中心负责管理其所属组织内的所有用户端,并为所属组织生成公开参数和主密钥;所述可信实体为所述控制中心分发密钥对,在不同所述控制中心之间交换所需的必要信息时使用;所述认证处理模块负责处理用户端的认证过程,包括身份的验证以及访问响应;用户端向所属的组织申请注册时,组织的控制中心为用户端分发密钥,密钥包含两个组件:匿名密钥和时间组件;用户端生成访问请求后,使用匿名密钥和时间组件对访问请求生成证书,并将访问请求以及证书广播发送;接收到访问请求和证书的用户端端通过所述认证处理模块对证书进行验证,如果验证通过则处理所述访问请求,生成访问响应,如果验证不通过则不做任何处理,忽略所述访问请求。所述控制中心使用公开参数和主密钥追踪访问请求的发起者身份;在系统初始化之后,新组织能够申请加入联盟,当前联盟内的组织也能够退出联盟;对于某一组织,允许新成员加入该组织,也允许当前成员的退出。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的原理和范围,本发明的保护范围应以权利要求书所述为准。

Claims (10)

1.一种适用于联盟链的支持身份可追踪的高效匿名认证方法,其特征在于,包括以下步骤:
1)在联盟链中设置一个可信实体服务器和联盟的若干组织的服务器,每个组织内包含若干用户端,每个组织的服务器包含一个控制中心和一个信息的认证处理模块;
2)用户端向所属的组织申请注册,该组织的控制中心为用户端分发密钥,密钥包含两个组件:匿名密钥和时间组件;
3)用户端生成访问请求,使用匿名密钥和时间组件对访问请求生成证书,并将访问请求以及证书广播发送;
4)接收到访问请求和证书的用户端通过所述认证处理模块对证书进行验证,如果验证通过则处理所述访问请求,生成访问响应,如果验证不通过则不做任何处理,忽略所述访问请求。
2.根据权利要求1所述的方法,其特征在于,所述控制中心负责管理其所属组织内的所有用户端,并为所属组织生成公开参数和主密钥;所述可信实体服务器为所述控制中心分发密钥对,在不同所述控制中心之间交换所需的必要信息时使用;所述认证处理模块负责处理用户端的认证过程,包括身份的验证以及访问响应。
3.根据权利要求2所述的方法,其特征在于,所述控制中心通过以下步骤生成公开参数gpk和主密钥gmsk,并在不同控制中心CCenteri与CCenterj之间实现验证所需参数的共享:
(1)给定一个安全参数k,运行双线性对生成算法,得到双线性群的参数,双线性群参数包括q,G1,G2,GT,e,g1,g2,其中q是群G1,G2,GT的阶数,g1,g2分别是群G1,G2的生成元,e是映射e:G1×G2→GT
(2)选择两个随机数计算A1=g1 a,A2=g2 a,B=g1 b。选择一个抗碰撞的哈希函数H:{0,1}*→Zq *,以及一个签名方案Π=(Sign,Verify),其中表示模q的群,Sign表示签名方案中的签名算法,Verify表示签名方案中的验证算法;
(3)公开参数gpk=(q,G1,G2,GT,e,g1,g2,A1,A2,B,H,Π),主密钥gmsk=(a,b);
(4)CCenteri生成信息其中gpki表示CCenteri为组织Orgi生成的公开参数,分别表示控制中心和组织的标识,ts表示信息发送的时间,Δi表示CCenteri分发的时间组件;
(5)CCenteri使用私钥对进行签名,得到
(6)CCenteri发送给CCenterj
(7)CCenterj接收到消息后,首先验证时间ts是否有效,之后验证消息的签名,如果验证通过,CCenterj保存在AMDj中,并按照相同方法生成发送给CCenteri
4.根据权利要求3所述的方法,其特征在于,步骤2)中用户端向所属的组织申请注册的步骤包括:
(1)CCenter为用户端Ui选择一个随机数si,使得si满足关系等式si+a≠0modq;CCenter计算
(2)CCenter将(ASKii)发送给用户端Ui
(3)CCenter维护一个用户端列表,将(Ui,Si a)存入表中。
5.根据权利要求4所述的方法,其特征在于,步骤3)包括:
(1)用户端Ui获得当前系统时间t1,生成访问请求:
其中是用户端Ui所属组织的标识,是希望访问的组织的标识,operation是相应的访问操作,t1是请求发起的时刻;
(2)用户端选择四个随机数r,r1,r2,计算以下值:
T1=A1 r
T2=SiBr
δ=rsi mod q
(3)令c=H(A1,B,T1,T2,R1,R2,R3,Δ),并计算:
s1=(r1+cr)mod q
s2=(r2+csi)mod q
s3=(r3+cδ)mod q
(4)用户端生成访问请求REQi的证书,分别是:
Certi={T1||T2||Yi||c||s1||s2||s3}
(5)用户端广播发送(REQi,Certi)。
6.根据权利要求5所述的方法,其特征在于,步骤4)中接收到访问请求的组织Orgr将消息交付给认证处理模块ADMr进行处理,对访问请求(REQi,Certi)的处理按照下面的步骤进行:
(1)检查时间戳t1是否在允许的范围内,如果时间戳在允许范围内,执行下一步操作,否则,终止操作不进行任何处理;
(2)ADMr进行下列计算:
(3)令判断与Cert中提取的c'是否相等,如果相等,那么验证通过,T1',T2'是从Cert中提取到的值,Δi是系统初始化过程中CCenter之间交换信息时得到并交付给ADMr的值;
(4)ADMr检查信息中的如果那么该组织是访问请求的目的组织,AMDr保存该记录后执行相应操作;如果那么该组织不是访问请求的目的组织,AMDr仅保存访问请求。
7.根据权利要求2~6中任一权利要求所述的方法,其特征在于,所述控制中心使用公开参数gpk和主密钥gmsk追踪访问请求的发起者身份,包括以下步骤:
(1)CCenter得到访问请求(REQi,Certi),利用gpk和主密钥gmsk,计算Si a=T2 a/T1 b
(2)CCenter得到Si a之后,查看用户端列表,得到用户端的身份Ui
8.根据权利要求1~6中任一权利要求所述的方法,其特征在于,在系统初始化之后,新组织能够申请加入联盟,当前联盟内的组织也能够退出联盟;对于某一组织,允许新成员加入该组织,也允许当前成员的退出;组织与成员的加入、退出过程为:
A)标识为的组织Orgnew希望加入联盟时,TTP为属于组织Orgnew的CCenternew生成密钥对(pknew,sknew);
B)标识为的组织Orgexit希望退出联盟时,进行以下操作:TTP将CCenterexit的密钥对(pkexit,skexit)发送给未退出的组织,未退出组织在本地维护一个组织撤销列表O-RL,将收到的已撤销组织的密钥对(pkexit,skexit)存入O-RL中;
C)在组织Org内加入新用户端Unew的过程是:
(1)CCenter为用户端Unew选择随机数snew,使得snew满足关系等式snew+a≠0modq,计算
(2)CCenter把匿名密钥是以及发送给Unew
(3)CCenter将(Unew,Snew a)存在用户端列表中;
D)在组织Orgd内用户端Uexit的退出过程是:
(1)CCenterd首先将Uexit在用户端列表中删除;
(2)CCenterd选择一个随机数t0',计算并更新存储的Δ值,CCenterd将更新的Δ值发送给除CCenterd外的CCenterr(r=1,..,N,r≠d);
(3)CCenterd将更新的以及被撤销的用户端Uexit的(Uexit,Sexit)发送给组织内未退出的用户端;
(4)收到新的的用户端,更新本地存储的Δ值。
9.一种适用于联盟链的支持身份可追踪的高效匿名认证系统,其特征在于,包括一个可信实体服务器,若干联盟的组织的服务器,每个组织内包含若干用户端,每个组织包含一个控制中心和一个信息的认证处理模块;所述控制中心负责管理其所属组织内的所有用户端,并为所属组织生成公开参数和主密钥;所述可信实体为所述控制中心分发密钥对,在不同所述控制中心之间交换所需的必要信息时使用;所述认证处理模块负责处理用户端的认证过程,包括身份的验证以及访问响应;用户端向所属的组织申请注册时,组织的控制中心为用户端分发密钥,密钥包含两个组件:匿名密钥和时间组件;用户端生成访问请求后,使用匿名密钥和时间组件对访问请求生成证书,并将访问请求以及证书广播发送;接收到访问请求和证书的用户端端通过所述认证处理模块对证书进行验证,如果验证通过则处理所述访问请求,生成访问响应,如果验证不通过则不做任何处理,忽略所述访问请求。
10.根据权利要求9所述的系统,其特征在于,所述控制中心使用公开参数和主密钥追踪访问请求的发起者身份;在系统初始化之后,新组织能够申请加入联盟,当前联盟内的组织也能够退出联盟;对于某一组织,允许新成员加入该组织,也允许当前成员的退出。
CN201910255663.0A 2019-04-01 2019-04-01 一种适用于联盟链的支持身份可追踪的高效匿名认证方法和系统 Active CN110149304B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910255663.0A CN110149304B (zh) 2019-04-01 2019-04-01 一种适用于联盟链的支持身份可追踪的高效匿名认证方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910255663.0A CN110149304B (zh) 2019-04-01 2019-04-01 一种适用于联盟链的支持身份可追踪的高效匿名认证方法和系统

Publications (2)

Publication Number Publication Date
CN110149304A true CN110149304A (zh) 2019-08-20
CN110149304B CN110149304B (zh) 2020-08-04

Family

ID=67588392

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910255663.0A Active CN110149304B (zh) 2019-04-01 2019-04-01 一种适用于联盟链的支持身份可追踪的高效匿名认证方法和系统

Country Status (1)

Country Link
CN (1) CN110149304B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110852886A (zh) * 2019-11-21 2020-02-28 西南石油大学 基于联盟链的二手交易与物品借还系统
CN111294202A (zh) * 2020-01-16 2020-06-16 重庆邮电大学 一种面向联盟链的身份认证方法
CN111556026A (zh) * 2020-04-08 2020-08-18 东南大学 一种基于联盟链的匿名身份认证方法
CN112039872A (zh) * 2020-08-28 2020-12-04 武汉见邦融智科技有限公司 基于区块链的跨域匿名认证方法及系统
CN112364331A (zh) * 2021-01-12 2021-02-12 北京中超伟业信息安全技术股份有限公司 一种匿名认证方法及系统
CN112835554A (zh) * 2020-12-31 2021-05-25 中国科学院信息工程研究所 群组内基于不均匀随机源的随机数生成、再生、追踪方法及电子装置
CN114615278A (zh) * 2022-02-18 2022-06-10 陕西师范大学 基于区块链的完全匿名认证方法
WO2023115850A1 (zh) * 2021-12-23 2023-06-29 中电科大数据研究院有限公司 一种联盟链共识身份认证方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108809953A (zh) * 2018-05-22 2018-11-13 飞天诚信科技股份有限公司 一种基于区块链的匿名身份认证的方法及装置
CN108881189A (zh) * 2018-06-01 2018-11-23 深圳崀途科技有限公司 基于联盟链的用户数据匿名共享系统
CN109040139A (zh) * 2018-10-12 2018-12-18 重庆邮电大学 一种基于区块链与智能合约的身份认证系统及方法
US20190028277A1 (en) * 2017-07-24 2019-01-24 International Business Machines Corporation Anonymous consent and data sharing on a blockchain
CN109274505A (zh) * 2018-11-22 2019-01-25 浙江工商大学 一种基于区块链技术的匿名电子选举方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190028277A1 (en) * 2017-07-24 2019-01-24 International Business Machines Corporation Anonymous consent and data sharing on a blockchain
CN108809953A (zh) * 2018-05-22 2018-11-13 飞天诚信科技股份有限公司 一种基于区块链的匿名身份认证的方法及装置
CN108881189A (zh) * 2018-06-01 2018-11-23 深圳崀途科技有限公司 基于联盟链的用户数据匿名共享系统
CN109040139A (zh) * 2018-10-12 2018-12-18 重庆邮电大学 一种基于区块链与智能合约的身份认证系统及方法
CN109274505A (zh) * 2018-11-22 2019-01-25 浙江工商大学 一种基于区块链技术的匿名电子选举方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
徐治理: "基于区块链的可监管数字货币模型研究", 《中国优秀硕士学位论文全文数据库》 *
王震等: "可监管匿名认证方案", 《软件学报》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110852886A (zh) * 2019-11-21 2020-02-28 西南石油大学 基于联盟链的二手交易与物品借还系统
CN111294202A (zh) * 2020-01-16 2020-06-16 重庆邮电大学 一种面向联盟链的身份认证方法
CN111556026A (zh) * 2020-04-08 2020-08-18 东南大学 一种基于联盟链的匿名身份认证方法
CN112039872A (zh) * 2020-08-28 2020-12-04 武汉见邦融智科技有限公司 基于区块链的跨域匿名认证方法及系统
CN112835554A (zh) * 2020-12-31 2021-05-25 中国科学院信息工程研究所 群组内基于不均匀随机源的随机数生成、再生、追踪方法及电子装置
CN112835554B (zh) * 2020-12-31 2023-11-07 中国科学院信息工程研究所 群组内基于不均匀随机源的随机数生成、再生、追踪方法及电子装置
CN112364331A (zh) * 2021-01-12 2021-02-12 北京中超伟业信息安全技术股份有限公司 一种匿名认证方法及系统
WO2023115850A1 (zh) * 2021-12-23 2023-06-29 中电科大数据研究院有限公司 一种联盟链共识身份认证方法
CN114615278A (zh) * 2022-02-18 2022-06-10 陕西师范大学 基于区块链的完全匿名认证方法
CN114615278B (zh) * 2022-02-18 2024-04-12 陕西师范大学 基于区块链的完全匿名认证方法

Also Published As

Publication number Publication date
CN110149304B (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
CN110149304A (zh) 一种适用于联盟链的支持身份可追踪的高效匿名认证方法和系统
CN114600419B (zh) 具有权益证明区块链支持的加密资产托管系统
Li et al. A blockchain privacy protection scheme based on ring signature
CN108418680B (zh) 一种基于安全多方计算技术的区块链密钥恢复方法、介质
CN111988290B (zh) 用户余额隐私保护和授权监管下的交易删除方法及系统
US10262321B1 (en) Digital coin, digital wallet, and model of transaction
CN109194708A (zh) 一种基于区块链技术的分布式存储系统及其身份认证方法
CN114631286B (zh) 具有自定义逻辑的加密资产托管系统
CN107766542A (zh) 一种分区的区块链网络及其实现分区查询的方法
Hölbl et al. EduCTX: an ecosystem for managing digital micro-credentials
CN110288480A (zh) 一种区块链的私密交易方法及装置
CN111369730B (zh) 基于区块链的投票表决处理方法和装置
CN107769922A (zh) 区块链安全管理系统及方法
CN109962890A (zh) 一种区块链的认证服务装置及节点准入、用户认证方法
CN108876669A (zh) 应用于多平台教育资源共享的课程公证系统及方法
CN109859846A (zh) 一种基于私有链的个人健康档案存储方法
Banupriya et al. An analysis of privacy issues and solutions in public blockchain (bitcoin)
CN111523892B (zh) 一种区块链的跨链交易方法及装置
Li et al. A new revocable reputation evaluation system based on blockchain
CN113407996A (zh) 一种分布式账本自主可控的隐私保护系统及其集群架构
KR102201083B1 (ko) 금융거래시스템 및 그 방법
Brandão A blockchain-based protocol for message exchange in a ICS network: student research abstract
CN110363513A (zh) 基于区块链的联合支付方法和装置
Teng et al. Improve Transparency and Credibility of Students' Educational Records using School Operated Blockchain System
CN113094748B (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