1.一种隐私保护的安全去中心化自我主权身份认证协议方法,其特征在于:包含以下步骤:步骤1:分布式域身份注册,参与方包括:用户终端、组织节点、区块链存储和世界状态;
用户请求分布式标识符进行分布式域注册,组织节点收到请求生成分布式标识符和分布式标识符文档;组织节点处理数据后,区块链存储数据并使用世界状态来保存分布式标识符最新的状态,最后返回分布式标识符完成注册;
步骤2:中心域身份注册,参与方包括:用户终端、可信第三方和个人存储;用户请求可验证声明进行中心域注册,可信第三方验证数据,产生可验证声明和属性证书返回给用户,用户使用策略控制签名对可验证声明进行签名产生策略可验证声明,用户在个人存储中保存策略可验证声明完成中心域注册;
步骤3:用户请求分布式域认证服务,服务端通过组织节点解析分布式标识符,检查世界状态中的分布式标识符是否有效,若有效则从区块链中返回分布式标识符文档;服务端通过分布式标识符文档进行认证,验证成功则授权登录;
步骤4:用户请求中心域认证服务,服务端验证策略可验证声明和分布式标识符权威性,验证成功则授权登录;
步骤5:用户请求分布式标识符分布式域身份吊销,组织节点解析请求,更改分布式标识符世界状态,分布式标识符身份吊销完成;
步骤6:用户请求可验证声明中心域身份吊销,吊销节点解析,更新可验证声明吊销列表,可验证声明身份吊销成功。
2.根据权利要求1所述的一种隐私保护的安全去中心化自我主权身份认证协议方法,其特征在于:步骤1所述用户请求分布式标识符分布式域注册的方法为:
用户使用客户端进行请求来创建分布式标识符,首先在客户端产生随机种子,生成公私钥对
步骤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所述吊销节点解析的方法为:
从声明中取出可以检查吊销状态的吊销节点列表,获取吊销列表,将列表中可验证声明的状态更新为吊销状态;返回信息后,身份吊销成功。