CN113204783A - 一种隐私保护的安全去中心化自我主权身份认证协议方法 - Google Patents
一种隐私保护的安全去中心化自我主权身份认证协议方法 Download PDFInfo
- Publication number
- CN113204783A CN113204783A CN202110439338.7A CN202110439338A CN113204783A CN 113204783 A CN113204783 A CN 113204783A CN 202110439338 A CN202110439338 A CN 202110439338A CN 113204783 A CN113204783 A CN 113204783A
- Authority
- CN
- China
- Prior art keywords
- distributed
- user
- distributed identifier
- identity
- identifier
- 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
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/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
-
- 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/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/33—User authentication using certificates
-
- 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/64—Protecting data integrity, e.g. using checksums, certificates or signatures
- G06F21/645—Protecting data integrity, e.g. using checksums, certificates or signatures using a third party
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种隐私保护的安全去中心化自我主权身份认证协议方法,本发明基于自我主权的特性,使用W3C规划的分布式标识符作为统一标识符实现在分布式域和中心域身份平台互相通用,满足可移植性。利用支持策略隐藏的策略控制签名方案和可验证声明标准结合对用户身份信息进行断言,实现身份数据细粒度授权和隐私保护。将不暴露隐私的可验证声明存储在底层区块链作为信任背书,实现不对同身份域的数据访问,满足安全性和去中心化验证。本发明满足自我主权的概念并进行了实现,也丰富了自我主权身份认证方法的发展。
Description
技术领域
本发明属于信息安全中身份管理技术领域,尤其涉及一种隐私保护的安全去中心化自我主权身份认证协议方法。
背景技术
安全的身份认证协议是网络空间安全稳定发展的一个必要前提。在如今大数据搜索、人脸识别、云计算和中心化认证等互联网环境下,庞大的数据和智能算法给社会带来便利的同时,也给用户的数字身份隐私泄露带来了巨大的隐患。
早期的身份信息管理从单点登录身份模型,发展到联合身份认证模型,再演变为以OpenID为主的以用户为中心认证模型。这些方案都摆脱不了认证过程造成的隐私泄露、缺少对自己身份的可控性和集中式的身份认证,导致身份数据始终不属于自己。于是近年来有人提出了自我主权(Self-Sovereign Identity,SSI)的概念,它能提供一种可移植、安全和可控的身份的方式,将数字身份由用户管理。Allen等最早提出SSI必须满足十个属性。但是这些属性太过抽象,不利于理解和开发,Andrew等又将SSI属性分为可控性、安全性、可移植性和可控性、可接受、零成本。这些分类虽然名称不同,但含义类似。为了避免分歧,Ferdous等对之前的分类进行了全面分析,把相似的属性提炼出来,创建了一个扩展的分类,分别为基础属性、安全性、可控性、灵活性和持久性。最终,可以从分析SSI的定义发展了解到属性的要求主要围绕三个方面:安全性、可控性和可移植性。
作为新一代的身份认证概念,很多企业都在尝试开发SSI身份系统。而大部分还在测试的SSI系统都是基于区块链的,区块链技术虽然可以提供各种技术优势,但是对于实现SSI的细粒度授权和隐私保护,仍然存在一些缺陷。联盟链结合了公共链和私有链,通过节点选举或投票来达成公式的一种半中心化区块链类型。相对于公共链开放所有节点拥有计票权力来说更为严格,加入联盟链的节点需经过审核,但对比私有链去中心化程度更高,预设的节点可以在区块链中进行交易。
目前的SSI身份认证协议不仅不支持身份信息授权的细粒度控制,而且没有考虑身份信息的隐私保护。而传统的策略控制签名可以实现细粒度共享,但公开的访问策略会在认证时受到不同程度的隐私泄露。
发明内容
为了解决上述问题,本发明提供了一种隐私保护的安全去中心化自我主权身份认证协议方法,本发明基于自我主权的特性,使用W3C规划的分布式标识符作为统一标识符实现在分布式域和中心域身份平台互相通用,满足可移植性。然后利用支持策略隐藏的策略控制签名方案和可验证声明标准结合对用户身份信息进行断言,实现身份数据细粒度授权和隐私保护。然后将不暴露隐私的可验证声明存储在底层联盟链作为信任背书,实现不对同身份域的数据访问,满足安全性和去中心化验证。
本发明所采用的技术方案是:一种隐私保护的安全去中心化自我主权身份认证协议方法,其特征在于:
基于联盟链的特征,发明了一种满足自我主权身份属性,用户拥有对身份数据控制唯一控制权的身份认证协议;本发明所设计协议的参与方包括用户终端、服务端、可信第三方、组织节点、区块链存储节点和个人存储,包含以下步骤:
步骤1:分布式域身份注册,参与方包括:用户终端、组织节点、区块链存储和世界状态;用户请求分布式标识符分布式域注册,组织节点收到请求生成分布式标识符和分布式标识符文档;组织节点处理数据后,区块链存储数据并使用世界状态来保存分布式标识符最新的状态,最后返回分布式标识符完成注册;
步骤2:中心域身份注册,参与方包括:用户终端、可信第三方和个人存储;用户请求可验证声明中心域注册,可信第三方验证数据,产生可验证声明和属性证书返回给用户,用户使用策略控制签名对可验证声明进行签名产生策略可验证声明,用户在个人存储中保存策略可验证声明完成中心域注册;
步骤3:用户请求分布式域认证服务,服务端通过组织节点解析分布式标识符,检查世界状态中的分布式标识符是否有效,若有效则从区块链中返回分布式标识符文档;服务端通过分布式标识符文档进行认证,验证成功则授权登录;
步骤4:用户请求中心域认证服务,服务端验证策略可验证声明和分布式标识符权威性,验证成功则授权登录;
步骤5:用户请求分布式标识符分布式域身份吊销,组织节点解析请求,更改分布式标识符世界状态,分布式标识符身份吊销完成;
步骤6:用户请求可验证声明中心域身份吊销,吊销节点解析,更新可验证声明吊销列表,可验证声明身份吊销成功。
作为优选,步骤1所述用户请求分布式标识符分布式域注册的方法为:
用户使用客户端进行请求来创建分布式标识符,首先在客户端产生随机种子,生成公私钥对<SK,PK>,将私钥SK保存在本地,然后选择需要注册的联盟链节点,客户端发送公钥PK来请求生成分布式标识符;
步骤1所述生成分布式标识符文档为:
计算公钥和组织节点的端口等验证信息得到DIDD=SetDIDD(PK,ST);其中PK为公钥,ST为端口等验证信息,DIDD为分布式标识符文档;函数SetDIDD将解析当前版本、创建时间和更新时间,记录公钥发行人,公钥机制和公钥内容,记录端口信息ST和认证方式,以JSON格式保存所有类型名称和对应数值生成分布式标识符文档;
步骤1所述生成分布式标识符的方法为:
计算分布式标识符文档,使用分布式标识符方法得到DID=PPCS-SSI method(Base58((sha256(DIDD)));其中DIDD为分布式标识符文档,sha256为哈希函数,base58为编码函数,方法PPCS-SSI method为支持隐私自我主权的DID生成方法,主要对分布式标识符文档进行sha256处理后,再使用Base58做编码,然后添加did:PPCS-SSI method在结果前生成DID;
步骤1所述区块链存储数据的方法为:
将分布式标识符与分布式标识符文档以键值对的形式存放在域内的区块链中,通过解析分布式标识符可以得到分布式标识符文档;
步骤1所述使用世界状态来保存分布式标识符最新的状态的方法为:
世界状态表示链交易日志所有值地最新值,新建以分布式标识符为键,分布式标识符文档为值的有效数据提交到世界状态;
步骤1所述返回分布式标识符的方法为:
分布式标识符注册完成后通过加密通道返回分布式标识符给用户终端,本地存储后完成去中心化域注册。
作为优选,步骤2所述用户请求可验证声明中心域注册的方法为:
用户使用客户端录入个人可标识属性和数字资产,例如年龄和驾驶证等;然后以加密通道将分布式标识符和需要验证的数字身份提交给可信第三方;
步骤2所述可信第三方验证数据的方法为:
对用户的数字身份进行确认,确认成功后,使用可信第三方分布式标识符的私钥SKTA对用户满足某个身份进行断言得到声明Claim=SetVC(DID,ATT,SKTA)生成声明可验证声明;其中DID为用户的分布式标识符,ATT为用户的属性身份,SKTA为可信第三方的私钥;函数SetVC解析发行人、发行日期和更新时间;记录声明主体内容,包括用户DID,用户所满足的身份ATT,签名机制;产生签名本体,包括签名内容,签名机制,第三方DIDTTP;以JSON格式保存所有类型名称和对应数值生成可验证声明;
同时为了可以验证他人的签名,根据用户的属性生成属性证书Cre,并将可验证声明和属性证书Cre返回给用户;
步骤2所述用户生成策略可验证声明方法为:
用户接收可验证声明和属性证书,客户端通过策略控制签名算法使用访问策略对可验证声明进行签名σ=Sign(POL,VC,DID);其中POL为用户制定的访问策略,VC为可验证声明,DID为用户的分布式标识符;函数Sign为策略控制签名,通过用户私钥对可验证声明进行签名,同时在签名上附加访问策略,最后签名连接可验证声明得到策略可验证声明PVC;
步骤2所述策略可验证声明存储方法为:
用户将策略可验证声明存储到私人云存储上,完成中心化域注册。
作为优选,步骤3所述用户请求服务方法为:
用户选择服务类型,发送个人分布式标识符给服务端;
步骤3所述服务端解析分布式标识符方法为:
服务端收到用户分布式标识符,根据用户所需要的服务进入身份域内,再通过区块链组织节点对分布式标识符进行解析,得到分布式标识符文档;
步骤3所述分布式标识符世界状态检查方法为:
得到分布式标识符文档后,世界状态提供对这些键的最新值的直接访问,先检查世界状态,是否在有效期内;若有效,则进行返回状态,并得到分布式标识符文档的信息;
步骤3所述分布式标识符认证方法:
服务端得到分布式标识符文档后,使用身份认证组件的信息运行验证算法进行验证;首先使用分布式标识符文档中的公钥对挑战值加密得到CT=En(Nonce,DIDD(PK)),其中CT为加密后的挑战值,Nonce为明文挑战值,DIDD(PK)为分布式标识符文档中的公钥,函数En为公钥加密;经过挑战应答后,用户终端解密挑战值PT=De(CT,SK)发送给服务端,其中SK为用户私钥,CT为加密后的挑战值,PT为解密后的应答值;若Nonce=PT,则服务端验证成功;
如果验证算法通过,证明分布式标识符登录成功,认证结束。
作为优选,步骤4所述用户请求中心域认证的方法为:
根据服务端返回认证所需要的身份资格要求,用户从个人云端获取选择有关身份的策略可验证声明策略可验证声明和分布式标识符,将分布式标识符和策略可验证声明发送给服务端;
步骤4所述服务端验证策略可验证声明的方法为:
服务端使用属于自己的属性证书来验证策略可验证声明上的策略控制签名Checkpol=(POL,Cre),其中,POL为策略可验证声明附带的访问策略,Cre为拥有属性值的属性证书,函数Checkpol通过配对属性证书中的属性是否满足访问策略;若满足,则服务端得到可验证声明;
步骤4所述服务端验证可验证声明的方法为:
首先根据所签署可验证声明的可信第三方分布式标识符获得对应的联盟链上的分布式标识符文档,如果提前没有认证第三方,需要步骤3中进行分布式域认证,从而得到获取可验证声明上用户身份声明的签名来验证权威性;可验证声明验证分布式标识符Verify(DIDTTP)!=True;其中DIDTTP为可信第三方分布式标识符,函数Verify通过检测可信第三方分布式标识符是否认证过,来验证可验证声明的真实性,认证成功后授权服务。
作为优选,步骤5所述用户请求分布式标识符分布式域身份吊销的方法为:
用户提交分布式标识符吊销请求发送给组织节点;
步骤5所述组织节点解析请求的方法为:
组织节点收到分布式标识符请求后,根据分布式标识符地址返回所需的资源,处理信息解析为分布式标识符文档;
步骤5所述更改分布式标识符世界状态的方法为:
根据分布式标识符文档更新所附带的分布式标识符世界状态,将分布式标识符最新状态设置为已吊销,并记录时间;返回状态详情给用户,分布式标识符吊销成功。
作为优选,步骤6所述用户请求可验证声明中心域身份吊销的方法为:
用户从个人云端提交策略可验证声明身份吊销,发出策略可验证声明吊销请求;
步骤6所述吊销节点解析的方法为:
从声明中取出可以检查吊销状态的吊销节点列表,获取吊销列表,将列表中可验证声明的状态更新为吊销状态;返回信息后,身份吊销成功。
本发明其满足三个要求:一是利用支持策略隐藏的策略控制签名方案和可验证声明标准结合对用户身份信息进行断言,实现身份数据细粒度授权和隐私保护。二是使用W3C规划的分布式标识符作为统一标识符实现在分布式域和中心域身份平台互相通用,满足可移植性。三是将不暴露隐私的可验证声明存储在底层联盟链作为信任背书,实现不对同身份域的数据访问,满足安全性和去中心化验证。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1:是本发明实施例的分布式域注册阶段;
图2:是本发明实施例的中心域注册阶段;
图3:是本发明实施例的分布式域认证阶段;
图4:是本发明实施例的中心域认证阶段;
图5:是本发明实施例的分布式域吊销阶段;
图6:是本发明实施例的中心域吊销阶段;
图7:是本发明方法流程图。
具体实施方式
为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。
本发明采用的技术方案是:借助联盟链和分布式标识符结合,将分布式标识符作为全局标识符为用户去中心化域进行注册、认证和吊销。最后使用策略控制签名对可验证声明进行封装产生策略可验证声明,实现用户在中心化域中对身份注册的访问权限控制、认证和吊销。
请见图1-图7,本发明提供的一种基于联盟链的支持隐私保护主权身份认证方法,包括以下步骤:
一种隐私保护的安全去中心化自我主权身份认证协议方法,其特征在于:
基于联盟链的特征,发明了一种满足自我主权身份属性,用户拥有对身份数据控制唯一控制权的身份认证协议;本发明所设计协议的参与方包括用户终端、服务端、可信第三方、组织节点、区块链存储节点和个人存储,包含以下步骤:
步骤1:分布式域身份注册,参与方包括:用户终端、组织节点、区块链存储和世界状态;用户请求分布式标识符分布式域注册,组织节点收到请求生成分布式标识符和分布式标识符文档;组织节点处理数据后,区块链存储数据并使用世界状态来保存分布式标识符最新的状态,最后返回分布式标识符完成注册;
步骤1所述用户请求分布式标识符分布式域注册的方法为:
用户使用客户端进行请求来创建分布式标识符,例如选择学术门户网站进行注册,不需要提供详细证明的快速认证场景。首先在客户端产生随机种子,生成公私钥对<SK,PK>,将私钥SK保存在本地,然后选择学术门户联盟链中组织节点,客户端将公钥PK发送给组织节点,来请求生成分布式标识符;
步骤1所述生成分布式标识符文档为:
计算公钥和学术门户组织节点的端口等验证信息得到DIDD=SetDIDD(PK,ST);其中PK为公钥,ST为端口、服务类型等验证信息,DIDD为分布式标识符文档;函数SetDIDD将解析当前版本、创建时间和更新时间,记录公钥发行人,公钥机制和公钥内容,记录端口信息ST和认证方式,以JSON格式保存所有类型名称和对应数值生成分布式标识符文档;
步骤1所述生成分布式标识符的方法为:
计算分布式标识符文档,使用分布式标识符方法得到DID=PPCS-SSI method(Base58((sha256(DIDD)));其中DIDD为分布式标识符文档,sha256为哈希函数,base58为编码函数,方法PPCS-SSI method为支持隐私自我主权的DID生成方法,主要对分布式标识符文档进行sha256处理后,再使用Base58做编码,然后添加did:PPCS-SSI method在结果前生成DID;
步骤1所述区块链存储数据的方法为:
将分布式标识符与分布式标识符文档以键值对的形式存放在域内的区块链中,通过解析分布式标识符可以得到分布式标识符文档;
步骤1所述使用世界状态来保存分布式标识符最新的状态的方法为:
世界状态表示链交易日志所有值的最新值,新建以分布式标识符为键,分布式标识符文档为值的有效数据提交到世界状态;
步骤1所述返回分布式标识符的方法为:
分布式标识符注册完成后通过加密通道返回分布式标识符给用户终端,本地存储后完成去中心化域注册。
步骤2:中心域身份注册,参与方包括:用户终端、可信第三方和个人存储;用户请求可验证声明中心域注册,可信第三方验证数据,产生可验证声明和属性证书返回给用户,用户使用策略控制签名对可验证声明进行签名产生策略可验证声明,用户在个人存储中保存策略可验证声明完成中心域注册;
步骤2所述用户请求可验证声明中心域注册的方法为:
中心域身份注册适合需要某种身份达到某些权限的服务,例如请求医疗网络身份注册。首先用户使用客户端录入个人可标识属性和数字资产,例如医疗记录所需的年龄、身高、体重、血压、职业或身份证、驾驶证等;然后以加密通道将分布式标识符和需要验证的数字身份提交给可信第三方;
步骤2所述可信第三方验证数据的方法为:
对用户的数字身份进行确认,确认成功后,使用可信第三方分布式标识符的私钥SKTA对用户满足某个身份进行断言得到声明Claim=SetVC(DID,ATT,SKTA)生成可验证声明,而声明指对某一资格的证明,例如某一服务需要年满是18岁,而用户年龄23岁,则声明断言是“年龄超过18”;其中DID为用户的分布式标识符,ATT为用户的属性身份,如学生、18岁、男和血型等;SKTA为可信第三方的私钥;函数SetVC解析发行人、发行日期和更新时间;记录声明主体内容,包括用户DID,用户所满足的身份ATT,签名机制;产生的签名本体,包括签名内容,签名机制,第三方DIDTTP;以JSON格式保存所有类型名称和对应数值生成可验证声明;
同时为了可以验证他人的签名,根据用户的属性生成属性证书Cre,并将可验证声明和属性证书Cre返回给用户;
步骤2所述用户生成策略可验证声明方法为:
用户接收可验证声明和属性证书,客户端通过策略控制签名算法使用访问策略对可验证声明进行签名σ=Sign(POL,VC,DID);其中POL为用户制定的访问策略,例如用户定制的访问策略为(内科∧门诊∧(医生∨护士))。VC为可验证声明,DID为用户的分布式标识符;函数Sign为策略控制签名,通过用户私钥对可验证声明进行签名,同时在签名上附加访问策略,最后签名连接可验证声明得到策略可验证声明PVC,根据附加的访问策略表示能够正确验证可验证声明的人必须具有属性为内科门诊的医生或护士;
步骤2所述策略可验证声明存储方法为:
用户将策略可验证声明存储到私人云存储上,完成中心化域注册。
步骤3:用户请求分布式域认证服务,服务端通过组织节点解析分布式标识符,检查世界状态中的分布式标识符是否有效,若有效则从区块链中返回分布式标识符文档;服务端通过分布式标识符文档进行认证,验证成功则授权登录;
步骤3所述用户请求服务方法为:
用户选择服务类型,发送个人分布式标识符给服务端;
步骤3所述服务端解析分布式标识符方法为:
服务端收到用户分布式标识符,根据用户所需要的服务进入身份域内,再通过区块链组织节点对分布式标识符进行解析,得到分布式标识符文档;
步骤3所述分布式标识符世界状态检查方法为:
得到分布式标识符文档后,世界状态提供对这些键的最新值的直接访问,先检查世界状态,是否在有效期内;若有效,则进行返回状态,并得到分布式标识符文档的信息;
步骤3所述分布式标识符认证方法:
服务端得到分布式标识符文档后,使用身份认证组件的信息运行验证算法进行验证;首先使用分布式标识符文档中的公钥对挑战值加密得到CT=En(Nonce,DIDD(PK)),其中CT为加密后的挑战值,Nonce为明文挑战值,DIDD(PK)为分布式标识符文档中的公钥,函数En为公钥加密;经过挑战应答后,用户终端解密挑战值PT=De(CT,SK)发送给服务端,其中SK为用户私钥,CT为加密后的挑战值,PT为解密后的应答值;若Nonce=PT,则服务端验证成功;
如果验证算法通过,证明分布式标识符登录成功,认证结束。
步骤4:用户请求中心域认证服务,服务端验证策略可验证声明和分布式标识符权威性,验证成功则授权登录;
步骤4所述用户请求中心域认证的方法为:
根据服务端返回认证所需要的身份资格要求,用户从个人云端获取选择有关身份的策略可验证声明策略可验证声明和分布式标识符,将分布式标识符和策略可验证声明发送给服务端;
步骤4所述服务端验证策略可验证声明的方法为:
服务端使用属于自己的属性证书来验证策略可验证声明上的策略控制签名Checkpol=(POL,Cre),其中,POL为策略可验证声明附带的访问策略,如(内科∧门诊∧(医生∨护士)),Cre为拥有属性值的属性证书,函数Checkpol通过配对属性证书中的属性是否满足访问策略;如Cre中的属性为外科门诊医生则无法正确验证。若具有属性为内科门诊的医生或护士满足,则服务端得到可验证声明;
步骤4所述服务端验证可验证声明的方法为:
首先根据所签署可验证声明的可信第三方分布式标识符获得对应的联盟链上的分布式标识符文档,如果提前没有认证第三方,需要步骤3中进行分布式域认证,从而得到获取可验证声明上用户身份声明的签名来验证权威性,如用户所签署的可验证声明为某个信托公司,则需要信托公司的分布式标识符之前已完成了分布式域认证;可验证声明验证分布式标识符Verify(DIDTTP)!=True;其中DIDTTP为可信第三方分布式标识符,函数Verify通过检测可信第三方分布式标识符是否认证过,来验证可验证声明的真实性,认证成功后授权服务。
步骤5:用户请求分布式标识符分布式域身份吊销,组织节点解析请求,更改分布式标识符世界状态,分布式标识符身份吊销完成;
步骤5所述用户请求分布式标识符分布式域身份吊销的方法为:
用户提交分布式标识符吊销请求发送给组织节点;
步骤5所述组织节点解析请求的方法为:
组织节点收到分布式标识符请求后,根据分布式标识符地址返回所需的资源,处理信息解析为分布式标识符文档;
步骤5所述更改分布式标识符世界状态的方法为:
根据分布式标识符文档更新所附带的分布式标识符世界状态,将分布式标识符最新状态设置为已吊销,并记录时间;返回状态详情给用户,分布式标识符吊销成功。
步骤6:用户请求可验证声明中心域身份吊销,吊销节点解析,更新可验证声明吊销列表,可验证声明身份吊销成功。
步骤6所述用户请求可验证声明中心域身份吊销的方法为:
用户从个人云端提交策略可验证声明身份吊销,发出策略可验证声明吊销请求;
步骤6所述吊销节点解析的方法为:
从声明中取出可以检查吊销状态的吊销节点列表,获取吊销列表,将列表中可验证声明的状态更新为吊销状态;返回信息后,身份吊销成功。
应当理解的是,本说明书未详细阐述的部分均属于现有技术,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。
Claims (7)
1.一种隐私保护的安全去中心化自我主权身份认证协议方法,其特征在于:包含以下步骤:
步骤1:分布式域身份注册,参与方包括:用户终端、组织节点、区块链存储和世界状态;用户请求分布式标识符分布式域注册,组织节点收到请求生成分布式标识符和分布式标识符文档;组织节点处理数据后,区块链存储数据并使用世界状态来保存分布式标识符最新的状态,最后返回分布式标识符完成注册;
步骤2:中心域身份注册,参与方包括:用户终端、可信第三方和个人存储;用户请求可验证声明中心域注册,可信第三方验证数据,产生可验证声明和属性证书返回给用户,用户使用策略控制签名对可验证声明进行签名产生策略可验证声明,用户在个人存储中保存策略可验证声明完成中心域注册;
步骤3:用户请求分布式域认证服务,服务端通过组织节点解析分布式标识符,检查世界状态中的分布式标识符是否有效,若有效则从区块链中返回分布式标识符文档;服务端通过分布式标识符文档进行认证,验证成功则授权登录;
步骤4:用户请求中心域认证服务,服务端验证策略可验证声明和分布式标识符权威性,验证成功则授权登录;
步骤5:用户请求分布式标识符分布式域身份吊销,组织节点解析请求,更改分布式标识符世界状态,分布式标识符身份吊销完成;
步骤6:用户请求可验证声明中心域身份吊销,吊销节点解析,更新可验证声明吊销列表,可验证声明身份吊销成功。
2.根据权利要求1所述的一种隐私保护的安全去中心化自我主权身份认证协议方法,其特征在于:
步骤1所述用户请求分布式标识符分布式域注册的方法为:
用户使用客户端进行请求来创建分布式标识符,首先在客户端产生随机种子,生成公私钥对<SK,PK>,将私钥SK保存在本地,然后选择需要注册的联盟链节点,客户端发送公钥PK来请求生成分布式标识符;
步骤1所述生成分布式标识符文档为:
计算公钥和组织节点的端口等验证信息得到DIDD=SetDIDD(PK,ST);其中PK为公钥,ST为端口等验证信息,DIDD为分布式标识符文档;函数SetDIDD将解析当前版本、创建时间和更新时间,记录公钥发行人,公钥机制和公钥内容,记录端口信息ST和认证方式,以JSON格式保存所有类型名称和对应数值生成分布式标识符文档;
步骤1所述生成分布式标识符的方法为:
计算分布式标识符文档,使用分布式标识符方法得到DID=PPCS-SSI method(Base58((sha256(DIDD)));其中DIDD为分布式标识符文档,sha256为哈希函数,base58为编码函数,方法PPCS-SSI method为支持隐私自我主权的DID生成方法,主要对分布式标识符文档进行sha256处理后,再使用Base58做编码,然后添加did:PPCS-SSI method在结果前生成DID;
步骤1所述区块链存储数据的方法为:
将分布式标识符与分布式标识符文档以键值对的形式存放在域内的区块链中,通过解析分布式标识符可以得到分布式标识符文档;
步骤1所述使用世界状态来保存分布式标识符最新的状态的方法为:
世界状态表示链交易日志所有值地最新值,新建以分布式标识符为键,分布式标识符文档为值的有效数据提交到世界状态;
步骤1所述返回分布式标识符的方法为:
分布式标识符注册完成后通过加密通道返回分布式标识符给用户终端,本地存储后完成去中心化域注册。
3.根据权利要求1所述的一种隐私保护的安全去中心化自我主权身份认证协议方法,其特征在于:
步骤2所述用户请求可验证声明中心域注册的方法为:
用户使用客户端录入个人可标识属性和数字资产,例如年龄和驾驶证等;然后以加密通道将分布式标识符和需要验证的数字身份提交给可信第三方;
步骤2所述可信第三方验证数据的方法为:
对用户的数字身份进行确认,确认成功后,使用可信第三方分布式标识符的私钥SKTA对用户满足某个身份进行断言得到声明Claim=SetVC(DID,ATT,SKTA)生成声明可验证声明;其中DID为用户的分布式标识符,ATT为用户的属性身份,SKTA为可信第三方的私钥;函数SetVC解析发行人、发行日期和更新时间;记录声明主体内容,包括用户DID,用户所满足的身份ATT,签名机制;产生签名本体,包括签名内容,签名机制,第三方DIDTTP;以JSON格式保存所有类型名称和对应数值生成可验证声明;
同时为了可以验证他人的签名,根据用户的属性生成属性证书Cre,并将可验证声明和属性证书Cre返回给用户;
步骤2所述用户生成策略可验证声明方法为:
用户接收可验证声明和属性证书,客户端通过策略控制签名算法使用访问策略对可验证声明进行签名σ=Sign(POL,VC,DID);其中POL为用户制定的访问策略,VC为可验证声明,DID为用户的分布式标识符;函数Sign为策略控制签名,通过用户私钥对可验证声明进行签名,同时在签名上附加访问策略,最后签名连接可验证声明得到策略可验证声明PVC;
步骤2所述策略可验证声明存储方法为:
用户将策略可验证声明存储到私人云存储上,完成中心化域注册。
4.根据权利要求1所述的一种隐私保护的安全去中心化自我主权身份认证协议方法,其特征在于:
步骤3所述用户请求服务方法为:
用户选择服务类型,发送个人分布式标识符给服务端;
步骤3所述服务端解析分布式标识符方法为:
服务端收到用户分布式标识符,根据用户所需要的服务进入身份域内,再通过区块链组织节点对分布式标识符进行解析,得到分布式标识符文档;
步骤3所述分布式标识符世界状态检查方法为:
得到分布式标识符文档后,世界状态提供对这些键的最新值的直接访问,先检查世界状态,是否在有效期内;若有效,则进行返回状态,并得到分布式标识符文档的信息;
步骤3所述分布式标识符认证方法:
服务端得到分布式标识符文档后,使用身份认证组件的信息运行验证算法进行验证;首先使用分布式标识符文档中的公钥对挑战值加密得到CT=En(Nonce,DIDD(PK)),其中CT为加密后的挑战值,Nonce为明文挑战值,DIDD(PK)为分布式标识符文档中的公钥,函数En为公钥加密;经过挑战应答后,用户终端解密挑战值PT=De(CT,SK)发送给服务端,其中SK为用户私钥,CT为加密后的挑战值,PT为解密后的应答值;若Nonce=PT,则服务端验证成功;
如果验证算法通过,证明分布式标识符登录成功,认证结束。
5.根据权利要求1所述的一种隐私保护的安全去中心化自我主权身份认证协议方法,其特征在于:
步骤4所述用户请求中心域认证的方法为:
根据服务端返回认证所需要的身份资格要求,用户从个人云端获取选择有关身份的策略可验证声明策略可验证声明和分布式标识符,将分布式标识符和策略可验证声明发送给服务端;
步骤4所述服务端验证策略可验证声明的方法为:
服务端使用属于自己的属性证书来验证策略可验证声明上的策略控制签名Checkpol=(POL,Cre),其中,POL为策略可验证声明附带的访问策略,Cre为拥有属性值的属性证书,函数Checkpol通过配对属性证书中的属性是否满足访问策略;若满足,则服务端得到可验证声明;
步骤4所述服务端验证可验证声明的方法为:
首先根据所签署可验证声明的可信第三方分布式标识符获得对应的联盟链上的分布式标识符文档,如果提前没有认证第三方,需要步骤3中进行分布式域认证,从而得到获取可验证声明上用户身份声明的签名来验证权威性;可验证声明验证分布式标识符Verify(DIDTTP)!=True;其中DIDTTP为可信第三方分布式标识符,函数Verify通过检测可信第三方分布式标识符是否认证过,来验证可验证声明的真实性,认证成功后授权服务。
6.根据权利要求1所述的一种隐私保护的安全去中心化自我主权身份认证协议方法,其特征在于:
步骤5所述用户请求分布式标识符分布式域身份吊销的方法为:
用户提交分布式标识符吊销请求发送给组织节点;
步骤5所述组织节点解析请求的方法为:
组织节点收到分布式标识符请求后,根据分布式标识符地址返回所需的资源,处理信息解析为分布式标识符文档;
步骤5所述更改分布式标识符世界状态的方法为:
根据分布式标识符文档更新所附带的分布式标识符世界状态,将分布式标识符最新状态设置为已吊销,并记录时间;返回状态详情给用户,分布式标识符吊销成功。
7.根据权利要求1所述的一种隐私保护的安全去中心化自我主权身份认证协议方法,其特征在于:
步骤6所述用户请求可验证声明中心域身份吊销的方法为:
用户从个人云端提交策略可验证声明身份吊销,发出策略可验证声明吊销请求;
步骤6所述吊销节点解析的方法为:
从声明中取出可以检查吊销状态的吊销节点列表,获取吊销列表,将列表中可验证声明的状态更新为吊销状态;返回信息后,身份吊销成功。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110439338.7A CN113204783B (zh) | 2021-04-23 | 2021-04-23 | 一种隐私保护的安全去中心化自我主权身份认证协议方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110439338.7A CN113204783B (zh) | 2021-04-23 | 2021-04-23 | 一种隐私保护的安全去中心化自我主权身份认证协议方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113204783A true CN113204783A (zh) | 2021-08-03 |
CN113204783B CN113204783B (zh) | 2022-07-05 |
Family
ID=77028011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110439338.7A Active CN113204783B (zh) | 2021-04-23 | 2021-04-23 | 一种隐私保护的安全去中心化自我主权身份认证协议方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113204783B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113541970A (zh) * | 2021-09-17 | 2021-10-22 | 中国信息通信研究院 | 分布式标识符的使用方法和分布式标识符使用系统 |
CN113743921A (zh) * | 2021-09-09 | 2021-12-03 | 网易(杭州)网络有限公司 | 数字资产的处理方法、装置、设备及存储介质 |
CN114422138A (zh) * | 2021-12-06 | 2022-04-29 | 中国科学院信息工程研究所 | 一种域名所有者自定义验证策略的证书透明化方法和系统 |
CN114584316A (zh) * | 2022-02-28 | 2022-06-03 | 广州世安智链科技有限公司 | 一种面向物联网的去中心化did身份聚合验证方法及装置 |
CN115134092A (zh) * | 2022-08-25 | 2022-09-30 | 北京共识数信科技有限公司 | 基于国密算法的智能合约的证书管理控制方法及系统 |
WO2023065842A1 (zh) * | 2021-10-21 | 2023-04-27 | 南京邮电大学 | 基于区块链的电子免疫护照监管方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109493082A (zh) * | 2018-09-25 | 2019-03-19 | 西安纸贵互联网科技有限公司 | 一种农产品区块链溯源方法及装置 |
US20190097812A1 (en) * | 2013-10-01 | 2019-03-28 | Kalman Csaba Toth | Architecture and Methods for Self-Sovereign Digital identity |
CN111932261A (zh) * | 2020-09-22 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 一种基于可验证声明的资产数据管理方法和装置 |
US20210011905A1 (en) * | 2019-07-11 | 2021-01-14 | Coinplug, Inc. | Method for providing relational decentralized identifier service and blockchain node using the same |
-
2021
- 2021-04-23 CN CN202110439338.7A patent/CN113204783B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190097812A1 (en) * | 2013-10-01 | 2019-03-28 | Kalman Csaba Toth | Architecture and Methods for Self-Sovereign Digital identity |
CN109493082A (zh) * | 2018-09-25 | 2019-03-19 | 西安纸贵互联网科技有限公司 | 一种农产品区块链溯源方法及装置 |
US20210011905A1 (en) * | 2019-07-11 | 2021-01-14 | Coinplug, Inc. | Method for providing relational decentralized identifier service and blockchain node using the same |
CN111932261A (zh) * | 2020-09-22 | 2020-11-13 | 支付宝(杭州)信息技术有限公司 | 一种基于可验证声明的资产数据管理方法和装置 |
Non-Patent Citations (1)
Title |
---|
崔久强: "基于区块链的数字身份发展现状", 《网络空间安全》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113743921A (zh) * | 2021-09-09 | 2021-12-03 | 网易(杭州)网络有限公司 | 数字资产的处理方法、装置、设备及存储介质 |
CN113743921B (zh) * | 2021-09-09 | 2024-01-23 | 网易(杭州)网络有限公司 | 数字资产的处理方法、装置、设备及存储介质 |
CN113541970A (zh) * | 2021-09-17 | 2021-10-22 | 中国信息通信研究院 | 分布式标识符的使用方法和分布式标识符使用系统 |
CN113541970B (zh) * | 2021-09-17 | 2021-11-26 | 中国信息通信研究院 | 分布式标识符的使用方法和分布式标识符使用系统 |
WO2023065842A1 (zh) * | 2021-10-21 | 2023-04-27 | 南京邮电大学 | 基于区块链的电子免疫护照监管方法 |
CN114422138A (zh) * | 2021-12-06 | 2022-04-29 | 中国科学院信息工程研究所 | 一种域名所有者自定义验证策略的证书透明化方法和系统 |
CN114422138B (zh) * | 2021-12-06 | 2024-03-01 | 中国科学院信息工程研究所 | 一种域名所有者自定义验证策略的证书透明化方法和系统 |
CN114584316A (zh) * | 2022-02-28 | 2022-06-03 | 广州世安智链科技有限公司 | 一种面向物联网的去中心化did身份聚合验证方法及装置 |
CN115134092A (zh) * | 2022-08-25 | 2022-09-30 | 北京共识数信科技有限公司 | 基于国密算法的智能合约的证书管理控制方法及系统 |
CN115134092B (zh) * | 2022-08-25 | 2022-11-01 | 北京共识数信科技有限公司 | 基于国密算法的智能合约的证书管理控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113204783B (zh) | 2022-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113204783B (zh) | 一种隐私保护的安全去中心化自我主权身份认证协议方法 | |
US10636240B2 (en) | Architecture for access management | |
US10829088B2 (en) | Identity management for implementing vehicle access and operation management | |
US20210409221A1 (en) | Portable Biometric Identity on a Distributed Data Storage Layer | |
CN108701276B (zh) | 用于管理数字身份的系统和方法 | |
US8006288B2 (en) | Method and apparatus for accessing a computer application program | |
CN108122109B (zh) | 一种电子凭据身份管理的方法及装置 | |
US20040010697A1 (en) | Biometric authentication system and method | |
Shahraki et al. | Attribute-based data access control for multi-authority system | |
US20220385475A1 (en) | Endorsement claim in a verfifiable credential | |
Mukta et al. | Credtrust: Credential based issuer management for trust in self-sovereign identity | |
US20210319116A1 (en) | Systems and methods of access validation using distributed ledger identity management | |
CN117280346A (zh) | 用于生成、提供和转发基于与用户相关的电子文件的可信电子数据集或证书的方法和装置 | |
EP4050923A1 (en) | Systems and methods of access validation using distributed ledger identity management | |
US20240187259A1 (en) | Method and apparatus for generating, providing and distributing a trusted electronic record or certificate based on an electronic document relating to a user | |
US11860992B1 (en) | Authentication and authorization for access to soft and hard assets | |
US11539533B1 (en) | Access control using a circle of trust | |
George et al. | Health Passport: A blockchain-based PHR-integrated self-sovereign identity system | |
Belsky et al. | Personal data exchange protocol: X | |
Reddy et al. | EASEID-A SESSION-BASED SINGLE SIGN-ON SELF-SOVEREIGN IDENTITY AND ACCESS MANAGEMENT SYSTEM 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 |