CN118381663B - 一种基于区块链和did的高校联盟用户身份管理方法 - Google Patents
一种基于区块链和did的高校联盟用户身份管理方法 Download PDFInfo
- Publication number
- CN118381663B CN118381663B CN202410806278.1A CN202410806278A CN118381663B CN 118381663 B CN118381663 B CN 118381663B CN 202410806278 A CN202410806278 A CN 202410806278A CN 118381663 B CN118381663 B CN 118381663B
- Authority
- CN
- China
- Prior art keywords
- university
- verifiable certificate
- verifiable
- attribute
- 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.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0823—Network architectures or network communication protocols for network security for authentication of entities using certificates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3247—Cryptographic 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 digital signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic 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/3263—Cryptographic 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/3268—Cryptographic 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic 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)
- Business, Economics & Management (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Tourism & Hospitality (AREA)
- Primary Health Care (AREA)
- Theoretical Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Educational Technology (AREA)
- Educational Administration (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于区块链和DID的高校联盟用户身份管理方法,属于区块链应用技术领域。所述方法包括,多所高校组成身份联盟链,用于维护所有用户的DID身份;高校通过向用户颁发可验证证书的方式证明用户拥有某些属性;用户需要使用某些服务提供方的服务时,通过多个可验证证书组合的方式证明拥有相应的属性;其中,用户在申请不同可验证证书时使用不同的派生DID。所述方法可以有效的对基于联盟链建立的高校联盟提供全局身份管理,并基于可验证证书实现身份认证、细粒度的服务授权。
Description
技术领域
本发明属于区块链应用技术领域,尤其涉及一种基于区块链和DID的高校联盟用户身份管理方法。
背景技术
随着互联网和数字化技术的发展,身份认证技术的作用变得更加重要,可以保护个人和组织的数据安全和隐私;同时,资源互通和信息互认是数字化时代发展的重要趋势,可以促进各行业之间的协同发展和合作。在高校场景下,身份认证和资源互通更为重要,可以保护学生和教师的个人信息和隐私,促进高校之间的协同发展和资源共享。因此,推动高校身份认证和资源互通具有重要的现实价值和战略价值。
目前普及的中心化身份认证体系存在一些不足,用户对认证机构或服务提供方的依赖性很高,这意味着用户无法掌控自己的身份信息,无法自主选择认证机构或服务提供方;中心化架构依赖于单一的认证服务器或第三方服务提供方,因此一旦出现单点故障,整个系统都将受到影响;个人在不同的系统建立重复但又不完全相同的身份数据,形成了个人数据的孤岛;同时机构存在对数据不透明使用的问题。一种可行的方法是引入区块链和去中心化的身份管理方法,实现高校场景中的身份认证和信息互通。该方法可以解决中心化身份认证的机构依赖性和数据孤岛问题,高校可以实现跨机构身份管理和数据互通,提高资源服务的复杂性和机构互通的需求,但该方法存在用户隐私信息泄露的风险,即恶意攻击者通过联盟链上的公开信息对用户进行画像,侵犯用户的隐私。可以通过使用派生DID的方法保护用户的隐私信息,但现有技术中缺乏相应的解决方案。
发明内容
为解决上述技术问题,本发明提供了一种基于区块链和DID的高校联盟用户身份管理方法,该方法可以有效的对基于联盟链建立的高校联盟提供全局身份管理,并基于可验证证书实现身份认证、细粒度的服务授权,为高校联盟中的用户提供隐私保护、用户自我主权和用户友好的去中心化身份管理方案。
为实现上述目的,本发明采用的技术方案如下:
步骤1、系统初始化:多所高校建立包括高校身份的联盟链,初始化高校DID服务管理员联盟链上DID身份;高校DID服务管理员定义可验证证书定义文件列表,将可验证证书定义文件列表存储在联盟链上;服务提供方生成用户可下载的属性需求列表;
步骤2、用户身份初始化:用户生成主DID,将身份验证信息和主DID提交给用户所在高校的高校DID服务管理员;高校DID服务管理员审核用户身份,将主DID存储在联盟链上,使主DID生效;
步骤3、服务所需属性需求列表及可验证证书定义文件查询:用户需要使用服务提供方的服务时,下载服务提供方公开的属性需求列表,用户依据所述属性需求列表中属性的类型在联盟链上高校的可验证证书定义文件列表中筛选具有属性需求列表部分或全部属性的所有可验证证书定义文件;
步骤4、可验证证书申请和颁发:用户生成派生DID,将其提交给任意高校DID服务管理员,所述任意高校DID服务管理员验证签名后将用户的派生DID存储在联盟链上;用户将该派生DID和身份验证信息发送给所述可验证证书定义文件所属高校的高校DID服务管理员;所述可验证证书定义文件所属高校的高校DID服务管理员对用户的身份验证通过后,向用户提交的派生DID颁发可验证证书,计算并更新存储在联盟链上的可验证证书累加器的散列值;
步骤5、证明文件生成和服务获取:用户将可验证证书处理为可验证证书声明,将所述可验证证书声明组成证明文件,并发送给服务提供方;服务提供方验证证明文件属性是否满足条件,通过联盟链上可验证证书累加器的散列值验证每个可验证证书声明的有效性,通过联盟链上公钥信息验证每个可验证证书声明对应的高校DID服务管理员的私钥签名和派生DID的私钥签名的正确性,均验证通过则提供服务;
步骤6、可验证证书撤销:可验证证书需要被撤销时,颁发所述可验证证书的高校DID服务管理员通过修改可验证证书累加器并更新联盟链上可验证证书累加器的散列值来撤销可验证证书。
本发明的有益效果在于:
所述方法可以有效的对基于联盟链建立的高校联盟提供全局身份管理,为联盟链上的不同用户提供隐私保护的身份使用方法,防止通过联盟链上数据对用户进行身份画像;同时使用统一格式的可验证证书实现了不同高校之间的相互认证,并通过选择性披露实现了最小范围的隐私信息使用。
附图说明
图1为本发明一种基于区块链和DID的高校联盟用户身份管理方法流程图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例,这并不构成对本发明的限制。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。
如图1所示,为本发明一种基于区块链和DID的高校联盟用户身份管理方法流程图,所述方法包括如下步骤:
步骤1、系统初始化:多所高校建立包括高校身份的联盟链,初始化高校DID服务管理员联盟链上DID身份;高校DID服务管理员定义可验证证书定义文件列表,将可验证证书定义文件列表存储在联盟链上;服务提供方生成用户可下载的属性需求列表;
步骤2、用户身份初始化:用户生成主DID,将身份证明和主DID提交给用户所在高校的高校DID服务管理员;高校DID服务管理员审核用户身份,将主DID存储在联盟链上,使主DID生效;
步骤3、服务所需属性需求列表及可验证证书定义文件查询:用户需要使用服务提供方的服务时,下载服务提供方公开的属性需求列表,用户依据所述属性需求列表中属性的类型在联盟链上高校的可验证证书定义文件列表中筛选具有属性需求列表部分或全部属性的所有可验证证书定义文件;
步骤4、可验证证书申请和颁发:用户生成派生DID,将其提交给任意高校DID服务管理员,将用户的派生DID存储在联盟链上;用户将该派生DID和身份验证信息发送给高校DID服务管理员;对用户的身份验证通过后,向用户提交的派生DID颁发可验证证书,计算并更新存储在联盟链上的可验证证书累加器的散列值;
步骤5、证明文件生成和服务获取:用户将可验证证书处理为可验证证书声明,将所述可验证证书声明组成证明文件,并发送给服务提供方;服务提供方验证证明文件属性是否满足条件,通过可验证证书累加器的散列值验证每个可验证证书声明的有效性,通过联盟链上公钥信息验证签名的正确性,均验证通过则提供服务;
步骤6、可验证证书撤销:可验证证书需要被撤销时,颁发所述可验证证书的高校DID服务管理员通过修改可验证证书累加器并更新联盟链上可验证证书累加器散列值来撤销可验证证书。
实施例
下面根据具体的实施例对本发明作进一步说明。
本发明提供的基于区块链和DID的高校联盟用户身份管理方法,所述方法包括如下步骤:
步骤1、系统初始化:多所高校建立包括高校身份的联盟链,初始化高校DID服务管理员联盟链上DID身份;高校DID服务管理员定义可验证证书定义文件列表,将可验证证书定义文件列表存储在联盟链上;服务提供方生成用户可下载的属性需求列表;
步骤1系统初始化具体包含以下步骤:
步骤1.1,所高校提供管理节点共同构成高校身份联盟链,每所高校设置各自的高校DID服务管理员,联盟链上记录所述所高校DID服务管理员的DID身份及公钥,代表第i所高校;
具体实现中,高校联盟链是一个许可区块链,各个联盟成员高校通过提供管理节点,定期对各自提交内容进行共识的方式维护数据,提供服务;经过所有高校按比例认证通过后,新的高校可以通过提供管理节点同步数据的方式加入该区块链系统,所述比例由具体实施方设置;
其中,每个高校设置各自的高校DID服务管理员,负责管理所在高校的管理节点,并将需要上链存储的数据提交给管理节点。
步骤1.2,第i所高校的高校DID服务管理员生成第一可验证证书定义文件列表,表示第i所高校的第1张可验证证书定义文件,表示第i所高校的第m张可验证证书定义文件,第i所高校的第j张可验证证书定义文件包含第i所高校的第j张可验证证书定义文件的公钥和可验证证书累加器的散列值,第一可验证证书属性列表,该可验证证书属性列表包括s个元素,代表第一可验证证书属性列表的第一个可验证证书属性,代表第一可验证证书属性列表的第s个可验证证书属性,将所述可验证证书定义文件列表中的所有文件分别使用第i所高校的私钥签名后上联盟链存储;
所述步骤1.2的证书定义文件初始化的具体过程为:
第i所高校的高校DID服务管理员定义一类证书,具体实现中如学生证或成绩单等;
第i所高校的高校DID服务管理员为第i所高校的第j张可验证证书定义文件在本地维护可验证证书累加器,并初始化为随机的大素数=,之后计算可验证证书累加器的散列值,并存储在联盟链上;
其中可验证证书定义文件之一的,将所述可验证证书定义文件分别使用的私钥签名后上链存储。
步骤1.3,服务提供方生成用户可下载的属性需求列表,该列表中有h个键值对,表示第1个属性,表示满足属性的属性值空间,表示第h个属性,表示满足属性的属性值空间。
具体实现中,服务提供方可以提供类似跨校选课,场馆预约,图书等资源共享的服务,这些服务需要对用户进行身份认证后才能进行提供;对于所需要的属性,服务提供方生成用户可下载的属性需求列表,具体实现中,如跨校选课中,属性需求列表可以为{高校:{学校A学生证,学校B学生证},总成绩:{良好},预修课程:{课程C,课程D}},服务提供方可以将公布在自己搭建的网页上。
步骤2、用户身份初始化:用户生成主DID,将身份验证信息和主DID提交给用户所在高校的高校DID服务管理员;高校DID服务管理员审核用户身份,将主DID存储在联盟链上,使主DID生效;
步骤2具体包含以下步骤:
步骤2.1,第i所高校的第t个用户生成主DID身份、用户公私钥对,用户将主DID身份,用户公钥,身份验证信息发送给第i所高校的高校DID服务管理员,请求完成主DID初始化;
步骤2.2,第i所高校的高校DID服务管理员接收用户的主DID初始化请求后,验证第i所高校的第t个用户的身份验证信息,将存储在联盟链上,使第i所高校的第t个用户的主DID生效,代表使用第i所高校的私钥对第一散列值进行签名。
在具体实现中用户的身份验证信息由各个高校定义。
步骤3、服务所需属性需求列表及可验证证书定义文件查询:用户需要使用服务提供方的服务时,下载服务提供方公开的属性需求列表,用户依据所述属性需求列表中属性的类型在联盟链上高校的可验证证书定义文件列表中筛选具有属性需求列表部分或全部属性的所有可验证证书定义文件;
步骤3具体包含以下步骤:
步骤3.1,第i所高校的第t个用户需要使用服务提供方提供的服务时,下载公开的属性需求列表;
步骤3.2,第i所高校的第t个用户依据所述属性需求列表中属性的类型在高校的可验证证书定义文件列表中确定第二列表,使所述第二列表满足,表示第n个高校上联盟链存储的第l张可验证证书定义文件,含有第二可验证证书属性列表,该列表有q个元素,代表第二可验证证书属性列表的第一个可验证证书属性,代表第二可验证证书属性列表的第q个可验证证书属性。
步骤4、可验证证书申请和颁发:用户生成派生DID,将其提交给任意高校DID服务管理员,所述任意高校DID服务管理员验证签名后将用户的派生DID存储在联盟链上;用户将该派生DID和身份验证信息发送给所述可验证证书定义文件所属高校的高校DID服务管理员;所述可验证证书定义文件所属高校的高校DID服务管理员对用户的身份验证通过后,向用户提交的派生DID颁发可验证证书,计算并更新存储在联盟链上的可验证证书累加器的散列值;
步骤4具体包含以下步骤:
步骤4.1,第i所高校的第t个用户生成第u个派生、公私钥对,将派生DID注册请求发送给任意一所高校的高校DID服务管理员;
步骤4.2,任意一所高校的高校DID服务管理员收到派生DID注册请求,校验签名有效后,使用高校的高校DID服务管理员的DID身份对应的私钥对第二散列值进行签名,将上联盟链存储,使第i所高校的第t个用户的第u个派生生效;
步骤4.3,第i所高校的第t个用户将第u个派生,第i所高校的第j张可验证证书定义文件,身份验证信息,发送给第i所高校的高校DID服务管理员,申请第i所高校颁发的第j类可验证证书;
其中的身份验证信息,在系统初始时,需要附带物理世界的身份验证信息,用户拥有的可验证证书数量足够时,可以通过可验证证书证明身份。
步骤4.4,第i所高校的高校DID服务管理员为第i所高校的第t个用户按照第i所高校的第j张可验证证书定义文件中可验证证书属性列表填写对应属性值,生成一个大素数作为序列号,添加到可验证证书累加器中,计算并更新联盟链上可验证证书累加器的散列值,将属性值和序列号组合成为第i所高校颁发的第j类可验证证书并发送给第i所高校的第t个用户。
第i所高校的高校DID服务管理员为第i所高校的第t个用户按照第一可验证证书属性列表填写明文属性值和盐值,为第一可验证证书属性列表第一个可验证证书属性的明文属性值,是为第一可验证证书属性列表第一个可验证证书属性的明文属性值生成的随机数盐值,为第一可验证证书属性列表第s个可验证证书属性的明文属性值,是为第一可验证证书属性列表第s个可验证证书属性的明文属性值生成的随机数盐值,并为该第一可验证证书属性列表的明文属性值生成散列值列表,其中散列值列表中的第一个散列值,散列值列表中的第s个散列值;生成一个大素数作为序列号,添加到可验证证书累加器中,计算并更新联盟链上可验证证书累加器的散列值,将生成的可验证证书发送给第i所高校的第t个用户。
更新所述可验证证书累加器值,计算并更新链上的可验证证书累加器的散列值。
步骤5、证明文件生成和服务获取:用户将可验证证书处理为可验证证书声明,将所述可验证证书声明组成证明文件,并发送给服务提供方;服务提供方验证证明文件属性是否满足条件,通过联盟链上可验证证书累加器的散列值验证每个可验证证书声明的有效性,通过联盟链上公钥信息验证每个可验证证书声明对应的高校DID服务管理员的私钥签名和派生DID的私钥签名的正确性,均验证通过则提供服务;
步骤5具体包含以下步骤:
步骤5.1,第i所高校的第t个用户获得与第二列表匹配的可验证证书,表示第n所高校颁发的第l类可验证证书,校验签名有效后,将可验证证书中包含于属性需求列表的属性值以明文展示,其他以明文的散列值展示,成为可验证证书声明文件,分别使用请求可验证证书时的派生DID所对应的私钥对可验证证书声明文件签名,组合成为证明文件发送给服务提供方;
所述步骤5.1的具体步骤为:
第i所高校的第t个用户获得与第二列表匹配的可验证证书,表示第n所高校颁发的第l类可验证证书,校验签名有效后,将可验证证书中包含于属性需求列表的属性值以明文展示,其他以散列值展示,成为可验证证书声明列表,表示散列值处理后的第i所高校颁发的第j类可验证证书,表述散列值处理后的第n所高校颁发的第l类可验证证书,依次使用请求可验证证书时的第u个派生DID的私钥,……,第e个派生的私钥签名组合成证明文件,将所述证明文件发送给服务提供方。
步骤5.2,服务提供方接收到证明文件后,检查属性和属性值是否满足属性需求列表,对于证明文件中的每张可验证证书声明文件,分别通过可验证证书累加器信息检查可验证证书声明的有效性,通过联盟链上公钥信息验证每个可验证证书声明对应的高校DID服务管理员的私钥签名和派生DID的私钥签名的正确性,均验证通过则提供服务。
所述步骤5.2的具体步骤为:
服务提供方收到所述,验证是否满足中全部所需的属性,且其中属性的属性值属于所述属性的属性值空间;
服务提供方验证第i所高校颁发的第j类可验证证书有效性时,从高校的高校DID服务管理员处获取可验证证书累加器值,计算散列值并和存储在联盟链上的散列值进行对比,一致则验证证书累加器模第i所高校颁发的第j类可验证证书中的序列号Q的值是否为0,若为0,则该第i所高校的第j张可验证证书有效;
通过联盟链上公钥信息验证每个可验证证书声明对应的高校DID服务管理员的私钥签名和派生DID的私钥签名是否正确,均验证通过则提供服务。
步骤6、可验证证书撤销:可验证证书需要被撤销时,颁发所述可验证证书的高校DID服务管理员通过修改可验证证书累加器并更新联盟链上可验证证书累加器的散列值来撤销可验证证书。
所述步骤6的具体步骤为:
可验证证书超出有效期范围或者由于其他原因失效,需要由证书颁发高校的高校DID服务管理员进行撤销,执行可验证证书累加器更新,之后计算并更新联盟链上存储的可验证证书累加器的散列值。
值得注意的是,本发明实施例中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
综上所述,本发明实施例所提供的方法具有如下优点:
1)身份信息可信、不可篡改存储:依托区块链技术实现高校联盟用户身份系统,可以有效地促进高校间的资源互通和信息互认,并借助区块链不可篡改的特性,保证了高校间信息共享的可信度和安全性;
2)跨机构全局身份管理:采用DID和可验证证书技术,实现跨越不同机构的身份管理,实现了身份验证和信息共享的去中心化和高效性;用户只需要拥有一个DID标识和一些可验证证书,就可以在不同的机构和应用场景中实现身份验证和信息共享;
3)联盟链上信息关联性保护:采用派生DID技术,抵抗恶意用户通过联盟链上身份对用户进行画像,使得用户的联盟链上身份与其他联盟链上身份之间没有关联;
4)证书使用中的隐私保护:使用基于散列函数的属性处理方法,确保在生成证明文件时,使用最小范围的证书内容。
另外,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,相应的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。本文背景技术部分公开的信息仅仅旨在加深对本发明的总体背景技术的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域技术人员所公知的现有技术。
Claims (9)
1.一种基于区块链和DID的高校联盟用户身份管理方法,其特征在于,所述方法包括如下步骤:
步骤1、系统初始化:多所高校建立包括高校身份的联盟链,初始化高校DID服务管理员联盟链上DID身份;高校DID服务管理员定义可验证证书定义文件列表,将可验证证书定义文件列表存储在联盟链上;服务提供方生成用户可下载的属性需求列表;
步骤2、用户身份初始化:用户生成主DID,将身份验证信息和主DID提交给用户所在高校的高校DID服务管理员;高校DID服务管理员审核用户身份,将主DID存储在联盟链上,使主DID生效;
步骤3、服务所需属性需求列表及可验证证书定义文件查询:用户需要使用服务提供方的服务时,下载服务提供方公开的属性需求列表,用户依据所述属性需求列表中属性的类型在联盟链上高校的可验证证书定义文件列表中筛选具有属性需求列表部分或全部属性的所有可验证证书定义文件;
步骤4、可验证证书申请和颁发:用户生成派生DID,将其提交给任意高校DID服务管理员,所述任意高校DID服务管理员验证签名后将用户的派生DID存储在联盟链上;用户将该派生DID和身份验证信息发送给所述可验证证书定义文件所属高校的高校DID服务管理员;所述可验证证书定义文件所属高校的高校DID服务管理员对用户的身份验证通过后,向用户提交的派生DID颁发可验证证书,计算并更新存储在联盟链上的可验证证书累加器的散列值;
步骤5、证明文件生成和服务获取:用户将可验证证书处理为可验证证书声明,将所述可验证证书声明组成证明文件,并发送给服务提供方;服务提供方验证证明文件属性是否满足条件,通过联盟链上可验证证书累加器的散列值验证每个可验证证书声明的有效性,通过联盟链上公钥信息验证每个可验证证书声明对应的高校DID服务管理员的私钥签名和派生DID的私钥签名的正确性,均验证通过则提供服务;
步骤6、可验证证书撤销:可验证证书需要被撤销时,颁发所述可验证证书的高校DID服务管理员通过修改可验证证书累加器并更新联盟链上可验证证书累加器的散列值来撤销可验证证书。
2.根据权利要求1所述的一种基于区块链和DID的高校联盟用户身份管理方法,其特征在于,所述步骤1包括:
步骤1.1,所高校提供管理节点共同构成高校身份联盟链,每所高校设置各自的高校DID服务管理员,联盟链上记录所述所高校DID服务管理员的DID身份及公钥,代表第i所高校;
步骤1.2,第i所高校的高校DID服务管理员生成第一可验证证书定义文件列表,表示第i所高校的第1张可验证证书定义文件,表示第i所高校的第m张可验证证书定义文件,第i所高校的第j张可验证证书定义文件包含第i所高校的第j张可验证证书定义文件的公钥和可验证证书累加器的散列值,第一可验证证书属性列表,该可验证证书属性列表包括s个元素,代表第一可验证证书属性列表的第一个可验证证书属性,代表第一可验证证书属性列表的第s个可验证证书属性,将所述可验证证书定义文件列表中的所有文件分别使用第i所高校的私钥签名后上联盟链存储;
步骤1.3,服务提供方生成用户可下载的属性需求列表,该属性需求列表中有h个键值对,表示第1个属性,表示满足属性的属性值空间,表示第h个属性,表示满足属性的属性值空间。
3.根据权利要求1所述的一种基于区块链和DID的高校联盟用户身份管理方法,其特征在于,所述步骤2包括:
步骤2.1,第i所高校的第t个用户生成主DID身份、用户公私钥对,用户将主DID身份,用户公钥,身份验证信息发送给第i所高校的高校DID服务管理员,请求完成主DID初始化;
步骤2.2,第i所高校的高校DID服务管理员接收用户的主DID初始化请求后,验证第i所高校的第t个用户的身份验证信息,将存储在联盟链上,使第i所高校的第t个用户的主DID生效,代表使用第i所高校的私钥对第一散列值进行签名。
4.根据权利要求1所述的一种基于区块链和DID的高校联盟用户身份管理方法,其特征在于,所述步骤3包括:
步骤3.1,第i所高校的第t个用户需要使用服务提供方提供的服务时,下载公开的属性需求列表;
步骤3.2,第i所高校的第t个用户依据所述属性需求列表中属性的类型在高校的可验证证书定义文件列表中确定第二列表,使所述第二列表满足,表示第n个高校上联盟链存储的第l张可验证证书定义文件,含有第二可验证证书属性列表,该列表有q个元素,代表第二可验证证书属性列表的第一个可验证证书属性,代表第二可验证证书属性列表的第q个可验证证书属性。
5.根据权利要求1所述的一种基于区块链和DID的高校联盟用户身份管理方法,其特征在于,所述步骤4包括:
步骤4.1,第i所高校的第t个用户生成第u个派生DID、公私钥对,将派生DID注册请求发送给任意一所高校的高校DID服务管理员;
步骤4.2,任意一所高校的高校DID服务管理员收到派生DID注册请求,校验签名有效后,使用第p所高校的高校DID服务管理员的DID身份对应的私钥对第二散列值进行签名,将上联盟链存储,使第i所高校的第t个用户的第u个派生DID生效;
步骤4.3,第i所高校的第t个用户将第u个派生DID,第i所高校的第j张可验证证书定义文件,身份验证信息,发送给第i所高校的高校DID服务管理员,申请第i所高校颁发的第j类可验证证书;
步骤4.4,第i所高校的高校DID服务管理员为第i所高校的第t个用户按照第i所高校的第j张可验证证书定义文件中第一可验证证书属性列表填写对应属性值,生成一个大素数作为序列号,添加到可验证证书累加器中,计算并更新联盟链上可验证证书累加器的散列值,将属性值和序列号组合成为第i所高校颁发的第j类可验证证书并发送给第i所高校的第t个用户。
6.根据权利要求1所述的一种基于区块链和DID的高校联盟用户身份管理方法,其特征在于,所述步骤5包括:
步骤5.1,第i所高校的第t个用户获得与第二列表匹配的可验证证书,表示第n所高校颁发的第l类可验证证书,校验签名有效后,将可验证证书中包含于属性需求列表的属性值以明文展示,其他以明文的散列值展示,成为可验证证书声明文件,分别使用请求可验证证书时的派生DID所对应的私钥对可验证证书声明文件签名,组合成为证明文件发送给服务提供方;
步骤5.2,服务提供方接收到证明文件后,检查属性和属性值是否满足属性需求列表,对于证明文件中的每张可验证证书声明文件,分别通过可验证证书累加器信息检查可验证证书声明的有效性,通过联盟链上公钥信息验证每个可验证证书声明对应的高校DID服务管理员的私钥签名和派生DID的私钥签名的正确性,均验证通过则提供服务。
7.根据权利要求2所述的一种基于区块链和DID的高校联盟用户身份管理方法,其特征在于,所述可验证证书累加器工作的具体步骤为:
第i所高校的高校DID服务管理员为第i所高校的第j张可验证证书定义文件在本地维护可验证证书累加器,并初始化为随机的大素数=,之后计算可验证证书累加器的散列值,并存储在联盟链上;
第i所高校的高校DID服务管理员生成第j类可验证证书后,随机生成一个大素数作为序列号,可验证证书累加器值更新=,之后计算并更新联盟链上存储的可验证证书累加器的散列值;
当第i所高校颁发的第j类可验证证书被撤销时,执行可验证证书累加器更新=,之后计算并更新联盟链上存储的可验证证书累加器的散列值;
系统中任意实体验证第i所高校颁发的第j类可验证证书有效性时,从高校的高校DID服务管理员处获取可验证证书累加器值,计算散列值并和存储在联盟链上的散列值进行对比,一致则验证可验证证书累加器模第i所高校颁发的第j类可验证证书中的序列号Q的值是否为0,若为0,则该第i所高校颁发的第j类可验证证书有效。
8.根据权利要求5所述的一种基于区块链和DID的高校联盟用户身份管理方法,其特征在于,所述可验证证书生成的具体步骤为:
第i所高校的高校DID服务管理员为第i所高校的第t个用户按照第一可验证证书属性列表填写明文属性值和盐值,为第一可验证证书属性列表第一个可验证证书属性的明文属性值,是为第一可验证证书属性列表第一个可验证证书属性的明文属性值生成的随机数盐值,为第一可验证证书属性列表第s个可验证证书属性的明文属性值,是为第一可验证证书属性列表第s个可验证证书属性的明文属性值生成的随机数盐值,并为该第一可验证证书属性列表的明文属性值生成散列值列表,其中,散列值列表中的第一个散列值,散列值列表中的第s个散列值;生成一个大素数作为序列号,添加到可验证证书累加器中,计算并更新联盟链上的可验证证书累加器的散列值,将生成的可验证证书发送给第i所高校的第t个用户。
9.根据权利要求6所述的一种基于区块链和DID的高校联盟用户身份管理方法,其特征在于,所述证明文件形成的具体步骤为:
第i所高校的第t个用户获得与第二列表匹配的可验证证书,并校验签名有效后,将可验证证书中包含于属性需求列表的属性值以明文展示,其他以明文的散列值展示,成为可验证证书声明列表,表示散列值处理后的第i所高校颁发的第j类可验证证书,表述散列值处理后的第n所高校颁发的第l类可验证证书,依次使用请求可验证证书时的第u个派生DID的私钥,……,第e个派生的私钥签名组合成证明文件,将所述证明文件发送给服务提供方。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410806278.1A CN118381663B (zh) | 2024-06-21 | 2024-06-21 | 一种基于区块链和did的高校联盟用户身份管理方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202410806278.1A CN118381663B (zh) | 2024-06-21 | 2024-06-21 | 一种基于区块链和did的高校联盟用户身份管理方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN118381663A CN118381663A (zh) | 2024-07-23 |
| CN118381663B true CN118381663B (zh) | 2024-08-23 |
Family
ID=91902137
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202410806278.1A Active CN118381663B (zh) | 2024-06-21 | 2024-06-21 | 一种基于区块链和did的高校联盟用户身份管理方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN118381663B (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN119402198B (zh) * | 2024-08-28 | 2025-12-16 | 北京理工大学 | 基于可验证计算的分布式身份分级存储和可信认证方法 |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN112073479A (zh) * | 2020-08-26 | 2020-12-11 | 重庆邮电大学 | 一种基于区块链的去中心数据访问控制方法及系统 |
| CN115485682A (zh) * | 2020-04-28 | 2022-12-16 | 微软技术许可有限责任公司 | 带有选择性声明的派生子可验证证书 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US11769577B1 (en) * | 2020-01-15 | 2023-09-26 | Ledgerdomain Inc. | Decentralized identity authentication framework for distributed data |
| CN116391378A (zh) * | 2020-11-06 | 2023-07-04 | 联想(新加坡)私人有限公司 | 使用验证数字标识的订阅入网 |
| KR20230064354A (ko) * | 2021-11-03 | 2023-05-10 | 펜타시큐리티시스템 주식회사 | 블록체인 기반의 인증 심사 데이터 공유 및 무결성 검증 시스템, 장치 및 방법 |
| WO2023095967A1 (ko) * | 2021-11-29 | 2023-06-01 | 주식회사 블록체인기술연구소 | 블록체인 기반의 did 서비스, ipfs 기반의 데이터 공유 기술, 및 개인키 분산 저장 기술이 결합된 비대면 대용량 문서 접근 시스템 |
| CN116566705A (zh) * | 2023-05-24 | 2023-08-08 | 北京泰尔英福科技有限公司 | 基于密钥派生函数的认证方法、系统、客户端及服务端 |
-
2024
- 2024-06-21 CN CN202410806278.1A patent/CN118381663B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN115485682A (zh) * | 2020-04-28 | 2022-12-16 | 微软技术许可有限责任公司 | 带有选择性声明的派生子可验证证书 |
| CN112073479A (zh) * | 2020-08-26 | 2020-12-11 | 重庆邮电大学 | 一种基于区块链的去中心数据访问控制方法及系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN118381663A (zh) | 2024-07-23 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Das et al. | A secure blockchain-enabled vehicle identity management framework for intelligent transportation systems | |
| Abraham et al. | Revocable and offline-verifiable self-sovereign identities | |
| AU2017225928A1 (en) | Systems and methods for distributed data sharing with asynchronous third-party attestation | |
| CN111881483B (zh) | 基于区块链的资源账户绑定方法、装置、设备和介质 | |
| Brunner et al. | SPROOF: A Platform for Issuing and Verifying Documents in a Public Blockchain. | |
| CN106992988B (zh) | 一种跨域匿名资源共享平台及其实现方法 | |
| Chandra et al. | Novel blockchain-based framework to publish, verify, and store digital academic credentials of universities | |
| KR102460299B1 (ko) | 익명 크리덴셜 인증 시스템 및 그 방법 | |
| CN110855445B (zh) | 一种基于区块链的证书管理方法、装置及存储设备 | |
| Abraham et al. | Privacy-preserving eID derivation for self-sovereign identity systems | |
| CN114930770B (zh) | 基于分布式分类账的凭证鉴别方法及系统 | |
| CN114944937B (zh) | 分布式数字身份验证方法、系统、电子设备及存储介质 | |
| CN115688191A (zh) | 一种基于区块链的电子签章系统及方法 | |
| US12463822B2 (en) | Sharing security settings between entities using verifiable credentials | |
| CN117280346A (zh) | 用于生成、提供和转发基于与用户相关的电子文件的可信电子数据集或证书的方法和装置 | |
| Mukta et al. | Credtrust: Credential based issuer management for trust in self-sovereign identity | |
| CN115412253B (zh) | 基于区块链技术的数字证书制备方法 | |
| Abraham et al. | Privacy-preserving eID derivation to self-sovereign identity systems with offline revocation | |
| Garg | Blockchain ecosystem for education and employment verification | |
| Cheng et al. | A permissioned blockchain-based platform for education certificate verification | |
| CN118381663B (zh) | 一种基于区块链和did的高校联盟用户身份管理方法 | |
| Lohar et al. | A Self-Sovereign Identity Framework for Context-Aware De-Centralized Identifier Creation and Credential Verification | |
| Chiliveri et al. | ProveDoc: A blockchain based proof of existence with proof of storage | |
| CN119561696B (zh) | 基于区块链可验证凭证的学术参与主体可信身份认证方法 | |
| Namazi et al. | zkFaith: Soonami's Zero-Knowledge Identity Protocol |
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 |