一种基于区块链的联盟信任分布式身份凭证管理认证方法与流程

文档序号:23801191发布日期:2021-02-02 13:39阅读:212来源:国知局
一种基于区块链的联盟信任分布式身份凭证管理认证方法与流程

[0001]
本发明属于信息安全领域的身份认证安全领域,具体涉及到一种基于区块链的联盟信任分布式身份凭证管理认证方法。


背景技术:

[0002]
近年来,随着物联网、互联网+、5g、大数据等技术的快速发展,联盟组织中人员、设备等分布式异构网络实体之间信息交互日益增强,各分布式业务应用信息系统之间多方协作、数据融合需求增大。身份认证作为保护分布式应用信息系统安全的第一道关口,通过对各分布式网络实体身份信息的可靠识别实现网络实体间的互信,也变得越来越重要。然而,联盟组织中各分布式业务应用系统由于缺乏身份信息互通,不仅使得跨系统的分布式网络实体需要在各系统频繁注册身份,而且存在多方协作效率低、“数据孤岛”加大、身份被冒用等难题,难满足各业务系统多方协作和身份数据融合的跨域身份认证需求,亟需建立针对分布式异构网络实体的统一、安全、适应新业务发展的跨域身份认证方案。针对上述跨域认证身份需求,传统“中心化、以用户为中心”的身份认证方案有以下的弊端:(1)中心化身份认证方案中,用户的身份数据管理中心化,不为用户所控制,用户隐私数据散落在互联网上难以保护,如果中心认证服务器被攻击成功,整个身份认证系统会崩溃;(2)以用户为中心的身份认证方案中,用户自己完全掌控身份数据,但因双方认证过程缺乏信任,用户无法有效识别身份提供者的欺诈身份,很难防范“网络钓鱼”攻击。因此,利用区块链去中心化、不可篡改等特性,提出了基于区块链的去中心的身份认证方案。
[0003]
现有的基于区块链技术的身份认证方案,无法针对联盟组织中人员、设备、企业、组织机构等分布式异构网络实体,实现用户的身份信息自主控制、易扩展的跨域统一联盟信任分布式身份认证。专利《基于区块链技术的身份认证系统及其实现方法》(cn202010372661.2)提出基于区块链身份认证系统架构,及实名注册、身份认证和级联认证等过程实现,但是不同应用场景下的身份认证采用同一数字身份,不能满足不同场景下数字身份的应用需求,同时身份信息容易被归集,造成身份信息的泄露;该专利仅实现了数字身份注册、认证过程,缺少针对联盟内分布式异构网络实体的数字身份全生命周期的管理,分布式异构网络实体无法灵活自主的控制身份信息,防止身份隐私的泄露。专利《一种面向联盟链的身份认证方法》(cn202010046737.2)给出了用户在互不信任的情况下共同参与密钥生成并实现身份认证的方案,但用户不能自主的控制完成身份的生成、注册、更新、撤销;不同应用场景下采用同一私钥表示身份,身份信息也容易被归集,造成用户自身整个身份信息泄露,使其面临安全隐患。


技术实现要素:

[0004]
为了解决上述技术问题,本发明技术解决方案实现,一种基于区块链的联盟信任分布式身份凭证管理认证方法,具体包括:
[0005]
对联盟数字身份凭证进行颁发、验证、更新、撤消全生命周期管理,将联盟内能够
开具数字身份凭证的网络实体作为凭证颁发者、联盟内验证数字身份凭证真实性的网络实体作为凭证验证者和联盟内拥有数字身份凭证的网络实体作为凭证持有者三类角色。
[0006]
其中联盟数字身份凭证是与联盟分布式身份标识符关联的分布式网络实体身份属性集合,使分布式网络实体适应联盟内不同应用场景下分布式跨域身份认证。依据联盟数字身份凭证定义,通过属性赋值进而生成联盟数字身份凭证,其中联盟数字身份凭证定义的数据结构是由元数据credential metadata、属性集合claims及凭证颁发者签名信息proofs三部分组成,如:{credentialmetadata:{credentialname,issuancedate,expiredate,issuer},claims:{claim1,...,claimn},proofs:{signaturevalue,signaturealgorithm,createdtime}},其中元数据包含凭证名称credentialname、颁发日期issuancedate及有效期expiredate、凭证颁发者issuer等信息;凭证颁发者签名信息包括签名信息signaturevalue、签名算法signaturealgorithm、签名创建时间createdtime等。各凭证颁发者、持有者与验证者分布式身份客户端在进行交互之前,根据(1)完成各自联盟分布式身份标识符生成、注册过程。
[0007]
(a)联盟数字身份凭证颁发:分布式网络实体通过分布式身份客户端向联盟分布式身份服务节点发送查询凭证颁发者账本上身份信息的请求,以获取凭证颁发者存储在联盟分布式身份账本上的联盟分布式身份标识符和联盟数字身份凭证定义。联盟分布式身份服务节点收到该查询请求,查询联盟分布式身份账本,如果查询到凭证颁发者存储在联盟分布式身份账本上的联盟分布式身份标识符和联盟数字身份凭证定义,则将查询到的凭证颁发者存储在联盟分布式身份账本上的联盟分布式身份标识符和联盟数字身份凭证定义发送回发送查询请求的分布式身份客户端。分布式网络实体分布式身份客户端收到凭证颁发者在联盟分布式身份账本上的联盟分布式身份标识符和联盟数字身份凭证定义后,向凭证颁发者分布式身份客户端发送申请颁发凭证的请求,凭证颁发者接收到该申请颁发凭证的请求,对发起该请求的分布式网络实体的联盟分布式身份标识符进行验证,若验证通过,凭证颁发者则基于自身存储的联盟数字身份凭证定义,为该分布式网络实体创建联盟数字身份凭证,并发送给该分布式网络实体分布式身份客户端。申请颁发凭证分布式网络实体分布式身份客户端收到联盟数字身份凭证,通过账本上已获取的联盟数字身份凭证定义对收到联盟数字身份凭证的真实性进行验证,若验证通过,则将其保存在自己的身份钱包中。
[0008]
(b)联盟数字身份凭证验证:凭证持有者通过分布式身份客户端首先向联盟分布式身份服务节点发送查询凭证验证者在联盟分布式身份账本上的联盟分布式身份标识符验证结果及是否撤销标记请求。联盟分布式身份服务节点收到该查询请求,查询联盟分布式身份账本,如果查询到凭证验证者在联盟分布式身份账本上的联盟分布式身份标识符验证结果及是否撤销标记,则将该查询结果发送给凭证持有者分布式身份客户端。凭证持有者分布式身份客户端如果收到的查询结果显示凭证验证者的联盟分布式身份标识符验证结果是通过且未被撤销,则从内置身份钱包中取出相应联盟数字身份凭证,然后依据联盟数字身份凭证创建联盟数字身份凭证证明,接着向凭证验证者分布式身份客户端发送携带该凭证证明的验证请求。凭证验证者分布式身份客户端接收到该验证请求,首先对该凭证持有者的联盟分布式身份标识符进行验证,如果验证通过,则提取出该验证请求中联盟数字身份凭证证明,同时查询在联盟分布式身份账本中的联盟数字身份凭证的定义;然后依据查询到的联盟数字身份凭证定义对联盟数字身份凭证证明的真实性进行验证,如果验证
也通过,则发送验证请求的凭证持有者为合法用户,给予该发送验证请求的凭证持有者相应访问权限;否则,该发送验证请求的凭证持有者为不合法用户,拒绝提供访问服务。
[0009]
(c)联盟数字身份凭证更新:凭证颁发者通过分布式身份客户端首先生成新的联盟数字身份凭证定义,将该新的联盟数字身份凭证定义存储在自己身份钱包中,同时取出旧的联盟数字身份凭证定义;然后对新的联盟数字身份凭证定义进行哈希运算hash,生成新的联盟数字身份凭证定义信息摘要,并附加时间戳;接着利用(1)分布式网络实体联盟分布式身份标识符的生成过程中自身的私钥对该新的联盟数字身份凭证定义信息摘要和附加时间戳进行签名,生成新的联盟数字身份凭证定义相关签名;将携带新的联盟数字身份凭证定义相关签名、新的联盟数字身份凭证定义信息摘要、新的联盟数字身份凭证定义和旧的联盟数字身份凭证定义的更新请求发送给联盟分布式身份服务节点。联盟分布式身份服务节点收到该更新请求,获取凭证颁发者存储在联盟分布式身份账本中联盟分布式身份标识符里的公钥,对更新请求中的签名信息进行验签,如果验签通过,则联盟分布式身份服务节点通过共识机制将该新联盟数字身份凭证定义保存在了联盟分布式身份账本,完成联盟数字身份凭证定义的更新,并向待更新凭证持有者分布式身份客户端发送凭证更新通知。待更新凭证持有者分布式身份客户端收到更新通知,通过联盟分布式身份服务节点查询在联盟分布式身份账本上更新后的联盟数字身份凭证的定义,并给凭证颁发者分布式身份客户端发送更新凭证的请求。凭证颁发者分布式身份客户端收到该更新凭证更新请求,首先对待更新凭证持有者的联盟分布式身份标识符进行验证,若验证通过,则凭证颁发者基于更新后的联盟数字身份凭证的定义创建新的联盟数字身份凭证,然后凭证颁发者分布式身份客户端将新的联盟数字身份凭证发送给待更新凭证持有者分布式身份客户端;接着待更新凭证持有者分布式身份客户端收到新联盟数字身份凭证,通过已查询到的新联盟数字身份凭证定义对该新联盟数字身份凭证的真实性进行验证,若验证通过,则将收到新联盟数字身份凭证保存在自己的身份钱包中;若验证不通过,则凭证更新失败。
[0010]
(d)联盟数字身份凭证的撤消:联盟数字身份凭证的撤消包含两方面:联盟数字身份凭证本身的撤销和联盟数字身份凭证定义的撤消。其中联盟数字身份凭证本身的撤销是在联盟数字身份凭证中设置了有效期的属性,当超过有效期,则自动作废,而在凭证持有者分布式身份客户端将内置身份钱包中联盟数字身份凭证自行删除;联盟数字身份凭证定义的撤消是通过以下过程来实现:凭证颁发者通过分布式身份客户端向联盟分布式身份服务节点发送携带待被撤销联盟数字身份凭证定义的撤销请求。联盟分布式身份服务节点收到该撤销请求,对凭证颁发者的联盟分布式身份标识符进行验证,如果验证通过,则通过共识机制将联盟分布式身份账本上的待被撤销的联盟数字身份凭证定义标记为已撤销,同时将撤销的结果发送给凭证颁发者分布式身份客户端,凭证颁发者在分布式身份客户端自行删除联盟数字身份凭证定义。
[0011]
根据本发明的另一方面,还提出一种联盟内分布式异构网络实体提供在联盟内不同应用场景下跨域身份认证方法,其特征在于,包括如下步骤:
[0012]
(a)分布式数字身份标识生成:分布式网络实体通过分布式身份客户端首先生成自身联盟分布式身份标识符,该联盟分布式身份标识符主要包含:固定头部consortiumid、随机字符串randomstring、以及与之关联的公私钥对(pk,sk)其中pk代表公钥,sk代表私钥;对联盟分布式身份标识符进行哈希运算hash,生成联盟分布式身份标识符信息摘要,并
附加时间戳;然后利用自己的私钥对该联盟分布式身份标识符信息摘要和附加时间戳进行签名,生成联盟分布式身份标识符相关签名,接着将生成的联盟分布式身份标识符相关签名和联盟分布式身份标识符发送到联盟分布式身份服务节点。
[0013]
(b)联盟数字身份凭证生成:分布式网络实体作为凭证颁发者,通过分布式身份客户端对联盟数字身份凭证定义进行哈希运算hash,生成联盟数字身份凭证定义信息摘要,并附加时间戳;然后利用(a)分布式数字身份标识生成过程中自身的私钥对该联盟数字身份凭证定义信息摘要和附加时间戳进行签名,生成联盟数字身份凭证定义相关签名;接着将生成联盟数字身份凭证定义相关签名和联盟数字身份凭证定义发送到联盟分布式身份服务节点。凭证颁发者将基于该数字身份凭证定义为分布式网络实体颁发联盟数字身份凭证。
[0014]
(c)联盟数字身份区块的生成:联盟分布式身份服务节点接收到各分布式网络实体的联盟分布式身份标识符相关签名和联盟数字身份凭证定义相关签名后,对收到的签名进行验证,若验证通过,则根据接收到的联盟分布式身份标识符和联盟数字身份凭证定义生成新的区块,并广播至全网,接收到的联盟分布式身份标识符和联盟数字身份凭证定义通过共识机制存储到联盟分布式身份账本。
[0015]
(d)联盟数字身份验证:某分布式网络实体作为联盟数字身份凭证持有者,申请访问一个应用系统。该系统的联盟数字身份凭证验证者,首先对该申请访问分布式网络实体联盟数字身份标识符进行验证,然后查询并获取该申请访问分布式网络实体在联盟分布式身份账本上的数字身份凭证定义,对该申请访问分布式网络实体所出示的联盟数字身份凭证信息进行验证,从而完成对用户身份的验证,获得对该应用系统的访问。
[0016]
本发明与现有技术相比有优点在于:
[0017]
(1)传统的身份认证技术多采用中心化身份认证方案,在分布式基础架构上采用中心化认证方案存在一定的安全风险,易受ddos攻击、单点故障攻击等影响。本发明多个联盟组织提供内部一个或多个独立对等的节点,构建可信分布式身份认证联盟网络,其节点分散、去中心,能够有效防御ddos攻击。并且当攻击者对某个单一节点攻击时,即便该节点失效,也不会影响整个联盟分布式认证服务。
[0018]
(2)传统中心化的身份认证方案中,用户身份信息散落在各异构分布式系统上,用户不能控制相关私有数据,这将造成个人的身份隐私泄露;而以用户为中心的身份认证方案中,用户完全自主的控制身份信息,但双方认证过程缺乏信任,用户无法有效识别身份提供者的欺诈身份,很难防范“网络钓鱼”攻击。本发明通过区块链共识机制和身份隐私保护机制保证联盟网络环境中身份数据的安全、可信、共享,用户自主的控制自身身份信息,并只向联盟内特定组织或个人暴漏身份数据,防止身份隐私泄露。
[0019]
(3)传统的身份是在中心化身份的基础上增加了可移植性。与之不同的是,本发明的身份信息可移植性在于用户根据自身的需要对相应联盟分布式数字身份进行移植。即一个分布式网络实体基于去中心化的身份移植,可获得不同身份认证场景下的多个联盟分布式身份标识符及相关联盟数字身份凭证,完成分布式网络实体用户身份的移植。
附图说明
[0020]
图1本发明的整体架构示意图;
[0021]
图2本发明的联盟分布式身份标识符管理模型示意图;
[0022]
图3本发明的联盟数字身份凭证管理模型示意图;
[0023]
图4本发明的联盟分布式身份认证运行机制模型示意图。
具体实施方式
[0024]
为使本发明的目的、优点以及技术方案更加清楚明白,通过以下具体措施,并结合附图1-4,对本发明作进一步详细说明。
[0025]
根据本发明的一个实施例,提出一种基于区块链的联盟信任分布式身份凭证管理认证系统,如图1所示,主要包括联盟分布式身份账本、联盟分布式身份服务节点、分布式身份客户端。联盟分布式身份账本用来存储联盟内人员、设备、企业、组织机构等分布式网络实体的联盟数字身份信息,并通过共识机制和隐私保护机制保证联盟内分布式异构网络实体的联盟数字身份安全存储和安全共享,为上层联盟分布式身份服务节点提供联盟数字身份信息支撑。联盟分布式身份服务节点是连接联盟分布式身份账本和分布式身份客户端的桥梁,接收分布式网络实体的分布式身份客户身份管理或认证请求,借助联盟分布式身份账本对联盟分布式数字身份进行写入、查询、标记操作;分布式身份客户端为分布式异构网络实体提供本地的联盟分布式数字身份管理,并通过该客户端内置的身份钱包存储实体的联盟分布式数字身份。该系统实现对联盟数字身份凭证进行颁发、验证、更新、撤消的全生命周期管理,进一步为联盟内分布式异构网络实体提供跨域联盟信任分布式身份认证。分布式异构网络实体通过该系统可自主的控制联盟内联盟分布式数字身份,主动防止身份隐私泄露,同时实现在联盟内不同应用场景下统一、安全的跨域身份认证。
[0026]
根据本发的一个实施例,如图2所示,联盟分布式身份标识符是针对联盟内人员、设备、企业、组织机构等分布式异构网络实体而设计,具有联盟内全局唯一、易扩展、可信度高等优点。联盟分布式身份标识符管理模型实现了对联盟分布式身份标识符注册、验证、更新、注销全生命周期管理,分布式异构网络实体通过分布式身份客户端生成联盟分布式身份标识符,并向联盟分布式身份服务节点请求联盟分布式身份标识符注册、验证、更新、注销服务,自主的控制联盟分布式身份标识符的全生命周期管理,主动防止身份隐私泄露。
[0027]
(1.1)分布式网络实体联盟分布式身份标识符的生成。分布式网络实体通过分布式身份客户端首先根据自身类型选择联盟身份的type;然后基于选择的联盟身份type生成固定头部consortiumid、随机字符串randomstring、以及与之关联的公私钥对(pk,sk),其中pk代表公钥,sk代表私钥,进而组合得到联盟分布式身份标识符{<consortiumid:type:randomstring>,pk};最后将生成的联盟分布式身份标识符存储的内置身份钱包中。
[0028]
(1.2)分布式网络实体联盟分布式身份标识符的注册。
[0029]
(1.2.1)分布式网络实体通过分布式身份客户端首先从自身身份钱包取出联盟分布式身份标识符,对取出的联盟分布式身份标识符进行哈希运算hash,生成联盟分布式身份标识符信息摘要,并附加时间戳;然后利用自己的私钥对该联盟分布式身份标识符信息摘要和附加时间戳进行签名,生成联盟分布式身份标识符相关的签名信息;接着将生成的联盟分布式身份标识符相关的签名信息和钱包已取出的联盟分布式身份标识符作为注册请求参数发送到联盟分布式身份服务节点。
[0030]
(1.2.2)联盟分布式身份服务节点收到这个注册请求以后,通过提取注册请求中
联盟分布式身份标识符里的公钥对收到的注册请求中的签名信息进行验签;如果验签通过,则联盟分布式身份服务节点将收到的联盟分布式身份标识符通过共识机制存储在联盟分布式身份账本中;否则,注册失败。
[0031]
(1.3)分布式网络实体联盟分布式身份标识符的验证。
[0032]
(1.3.1)分布式网络实体首先通过分布式身份客户端对自身联盟分布式身份标识符进行哈希运算hash,生成联盟分布式身份标识符信息摘要h,并附加时间戳;然后利用自己的私钥对该联盟分布式身份标识符信息摘要h和附加时间戳进行签名,生成联盟分布式身份标识符相关的签名信息;接着将携带生成的联盟分布式身份标识符相关的签名和联盟分布式身份标识符的验证请求发送联盟分布式身份服务节点。
[0033]
(1.3.2)联盟分布式身份服务节点接收到这个验证请求后,首先查询发送验证请求的分布式网络实体在联盟分布式身份账本上的联盟分布式身份标识符信息,并提取出联盟分布式身份标识符里的公钥pk;然后利用提取到公钥pk对收到请求里的联盟分布式身份标识符相关的签名信息进行验签,则联盟分布式身份服务节点将验证结果通过共识机制存储在联盟分布式身份账本中,以备其他分布式网络实体查询,同时将验证结果返回给发送验证请求的分布式网络实体。
[0034]
(1.4)分布式网络实体联盟分布式身份标识符的更新。
[0035]
(1.4.1)分布式网络实体通过分布式身份客户端首先生成新联盟分布式身份标识符,然后对新联盟分布式身份标识符进行哈希运算hash,生成新联盟分布式身份标识符信息摘要,并附加时间戳,然后利用旧联盟分布式身份标识符对应私钥对新联盟分布式身份标识符信息摘要和附加时间戳进行签名,得到签名信息s,接着将携带旧联盟分布式身份标识符、新联盟分布式身份标识符和签名信息s的更新请求发送给联盟分布式身份服务节点。
[0036]
(1.4.2)联盟分布式身份服务节点收到该更新请求,首先查询在联盟分布式身份账本上旧联盟分布式身份标识符信息,并在联盟分布式身份账本上提取出旧联盟分布式身份标识符里对应的公钥pk;然后利用该提取出的公钥pk对收到签名信息s进行验签,如果验证通过,联盟分布式身份服务节点通过共识机制在联盟分布式身份账本中存储新联盟分布式身份标识符,标记旧联盟分布式身份标识符不可用,同时通知发送更新请求的分布式网络实体在自己分布式身份客户端的身份钱包中存储新联盟分布式身份标识符及删除旧联盟分布式身份标识符;否则,更新失败。
[0037]
(1.5)分布式网络实体联盟分布式身份标识符的撤销。
[0038]
(1.5.1)分布式网络实体通过分布式身份客户端首先从自身身份钱包中取出待被撤销的联盟分布式身份标识符,对待被撤销的联盟分布式身份标识符进行哈希运算hash,生成待被撤销的联盟分布式身份标识符信息摘要,并附加时间戳;然后利用自己的私钥对该待被撤销的联盟分布式身份标识符信息摘要和附加时间戳进行签名,生成待被撤销的联盟分布式身份标识符相关的签名信息;接着将携带待被撤销的联盟分布式身份标识符相关的签名信息和被撤销的联盟分布式身份标识符的撤销请求发送到联盟分布式身份服务节点。
[0039]
(1.5.2)联盟分布式身份服务节点收到该撤销请求,首先查询在联盟分布式身份账本上待被撤销的联盟分布式身份标识符,并在联盟分布式身份账本上提取出待被撤销的联盟分布式身份标识符的公钥;然后利用该提取出公钥对被待撤销的联盟分布式身份标识
符相关的签名信息进行验签,若验签通过,则将在联盟分布式身份账本上的待被撤销的联盟分布式身份标识符信息标记为已撤销。同时通知发送撤销请求的分布式网络实体将在自己分布式身份客户端的身份钱包中的待被撤销的联盟分布式身份标识符删除。
[0040]
根据本发的一个实施例,本发明提出的一种基于区块链的联盟信任分布式身份凭证管理认证方法,对联盟数字身份凭证进行颁发、验证、更新、撤消全生命周期管理,将联盟内能够开具数字身份凭证的网络实体作为凭证颁发者、联盟内验证数字身份凭证真实性的网络实体作为凭证验证者和联盟内拥有数字身份凭证的网络实体作为凭证持有者三类角色。其中联盟数字身份凭证是与联盟分布式身份标识符关联的分布式网络实体身份属性集合,使分布式网络实体适应联盟内不同应用场景下分布式跨域身份认证。依据联盟数字身份凭证定义,通过属性赋值进而生成联盟数字身份凭证,其中联盟数字身份凭证定义的数据结构是由元数据credential metadata、属性集合claims及凭证颁发者签名信息proofs三部分组成,如:{credentialmetadata:{credentialname,issuancedate,expiredate,issuer},claims:{claim1,...,claimn},proofs:{signaturevalue,signaturealgorithm,createdtime}},其中元数据包含凭证名称credentialname、颁发日期issuancedate及有效期expiredate、凭证颁发者issuer等信息;凭证颁发者签名信息包括签名信息signaturevalue、签名算法signaturealgorithm、签名创建时间createdtime等。各凭证颁发者、持有者与验证者分布式身份客户端在进行交互之前,根据(1)完成各自联盟分布式身份标识符生成、注册过程。具体包括如下步骤:
[0041]
(2.1)联盟数字身份凭证颁发
[0042]
(2.1.1)分布式网络实体通过分布式身份客户端向联盟分布式身份服务节点发送查询凭证颁发者账本上身份信息的请求,以获取凭证颁发者存储在联盟分布式身份账本上的联盟分布式身份标识符和联盟数字身份凭证定义。
[0043]
(2.1.2)联盟分布式身份服务节点收到该查询请求,查询联盟分布式身份账本,如果查询到凭证颁发者存储在联盟分布式身份账本上的联盟分布式身份标识符和联盟数字身份凭证定义,则将查询到的凭证颁发者存储在联盟分布式身份账本上的联盟分布式身份标识符和联盟数字身份凭证定义发送回发送查询请求的分布式身份客户端。
[0044]
(2.1.3)分布式网络实体分布式身份客户端收到凭证颁发者在联盟分布式身份账本上的联盟分布式身份标识符和联盟数字身份凭证定义后,向凭证颁发者分布式身份客户端发送申请颁发凭证的请求,凭证颁发者接收到该申请颁发凭证的请求,对发起该请求的分布式网络实体的联盟分布式身份标识符进行验证,若验证通过,凭证颁发者则基于自身存储的联盟数字身份凭证定义,为该分布式网络实体创建联盟数字身份凭证,并发送给该分布式网络实体分布式身份客户端。
[0045]
(2.1.4)申请颁发凭证分布式网络实体分布式身份客户端收到联盟数字身份凭证,通过账本上已获取的联盟数字身份凭证定义对收到联盟数字身份凭证的真实性进行验证,若验证通过,则将其保存在自己的身份钱包中。
[0046]
(2.2)联盟数字身份凭证验证:
[0047]
(2.2.1)凭证持有者通过分布式身份客户端首先向联盟分布式身份服务节点发送查询凭证验证者在联盟分布式身份账本上的联盟分布式身份标识符验证结果及是否撤销标记请求。联盟分布式身份服务节点收到该查询请求,查询联盟分布式身份账本,如果查询
到凭证验证者在联盟分布式身份账本上的联盟分布式身份标识符验证结果及是否撤销标记,则将该查询结果发送给凭证持有者分布式身份客户端。
[0048]
(2.2.2)凭证持有者分布式身份客户端如果收到的查询结果显示凭证验证者的联盟分布式身份标识符验证结果是通过且未被撤销,则从内置身份钱包中取出相应联盟数字身份凭证,然后依据联盟数字身份凭证创建联盟数字身份凭证证明,接着向凭证验证者分布式身份客户端发送携带该凭证证明的验证请求。
[0049]
(2.2.3)凭证验证者分布式身份客户端接收到该验证请求,首先对该凭证持有者的联盟分布式身份标识符进行验证,如果验证通过,则提取出该验证请求中联盟数字身份凭证证明,同时查询在联盟分布式身份账本中的联盟数字身份凭证的定义;然后依据查询到的联盟数字身份凭证定义对联盟数字身份凭证证明的真实性进行验证,如果验证也通过,凭证验证者认定发送验证请求的凭证持有者为合法,则给予该发送验证请求的凭证持有者相应访问权限;否则,不合法,拒绝提供访问服务。
[0050]
(2.3)联盟数字身份凭证更新
[0051]
(2.3.1)凭证颁发者通过分布式身份客户端首先生成新的联盟数字身份凭证定义,将该新的联盟数字身份凭证定义存储在自己身份钱包中,同时取出旧的联盟数字身份凭证定义;然后对新的联盟数字身份凭证定义进行哈希运算hash,生成新的联盟数字身份凭证定义信息摘要,并附加时间戳;接着利用(1.1)分布式网络实体联盟分布式身份标识符的生成过程中自身的私钥对该新的联盟数字身份凭证定义信息摘要和附加时间戳进行签名,生成新的联盟数字身份凭证定义相关签名;将携带新的联盟数字身份凭证定义相关签名、新的联盟数字身份凭证定义信息摘要、新的联盟数字身份凭证定义和旧的联盟数字身份凭证定义的更新请求发送给联盟分布式身份服务节点。
[0052]
(2.3.2)联盟分布式身份服务节点收到该更新请求,获取凭证颁发者存储在联盟分布式身份账本中联盟分布式身份标识符里的公钥,对更新请求中的签名信息进行验签,如果验签通过,则联盟分布式身份服务节点通过共识机制将该新联盟数字身份凭证定义保存在了联盟分布式身份账本,完成联盟数字身份凭证定义的更新,并向待更新凭证持有者分布式身份客户端发送凭证更新通知。
[0053]
(2.3.3)待更新凭证持有者分布式身份客户端收到更新通知,通过联盟分布式身份服务节点查询在联盟分布式身份账本上更新后的联盟数字身份凭证的定义,并给凭证颁发者分布式身份客户端发送更新凭证的请求。
[0054]
(2.3.4)凭证颁发者分布式身份客户端收到该更新凭证更新请求,首先对待更新凭证持有者的联盟分布式身份标识符进行验证,若验证通过,则凭证颁发者基于更新后的联盟数字身份凭证的定义创建新的联盟数字身份凭证,然后凭证颁发者分布式身份客户端将新的联盟数字身份凭证发送给待更新凭证持有者分布式身份客户端;接着待更新凭证持有者分布式身份客户端收到新联盟数字身份凭证,通过已查询到的新联盟数字身份凭证定义对该新联盟数字身份凭证的真实性进行验证,若验证通过,则将收到新联盟数字身份凭证保存在自己的身份钱包中;若验证不通过,则凭证更新失败。
[0055]
(2.4)联盟数字身份凭证撤消
[0056]
(2.4.1)联盟数字身份凭证本身的撤销是在联盟数字身份凭证中设置了有效期的属性,当超过有效期,则自动作废,而在凭证持有者分布式身份客户端将内置身份钱包中联
盟数字身份凭证自行删除;
[0057]
(2.4.2)凭证颁发者通过分布式身份客户端向联盟分布式身份服务节点发送携带待被撤销联盟数字身份凭证定义的撤销请求。联盟分布式身份服务节点收到该撤销请求,对凭证颁发者的联盟分布式身份标识符进行验证,如果验证通过,则通过共识机制将联盟分布式身份账本上的待被撤销的联盟数字身份凭证定义标记为已撤销,同时将撤销的结果发送给凭证颁发者分布式身份客户端,凭证颁发者在分布式身份客户端自行删除联盟数字身份凭证定义。
[0058]
根据本发明的另一个实施例,还提出一种联盟内分布式异构网络实体提供在联盟内不同应用场景下跨域身份认证方法,具体包括如下步骤:
[0059]
(3.1)分布式数字身份标识生成:分布式网络实体通过分布式身份客户端首先生成自身联盟分布式身份标识符,该联盟分布式身份标识符主要包含:固定头部consortiumid、随机字符串randomstring、以及与之关联的公私钥对(pk,sk)其中pk代表公钥,sk代表私钥;对联盟分布式身份标识符进行哈希运算hash,生成联盟分布式身份标识符信息摘要,并附加时间戳;然后利用自己的私钥对该联盟分布式身份标识符信息摘要和附加时间戳进行签名,生成联盟分布式身份标识符相关签名,接着将生成的联盟分布式身份标识符相关签名和联盟分布式身份标识符发送到联盟分布式身份服务节点。
[0060]
(3.2)联盟数字身份凭证生成:分布式网络实体作为凭证颁发者,通过分布式身份客户端对联盟数字身份凭证定义进行哈希运算hash,生成联盟数字身份凭证定义信息摘要,并附加时间戳;然后利用(a)分布式数字身份标识生成过程中自身的私钥对该联盟数字身份凭证定义信息摘要和附加时间戳进行签名,生成联盟数字身份凭证定义相关签名;接着将生成联盟数字身份凭证定义相关签名和联盟数字身份凭证定义发送到联盟分布式身份服务节点。凭证颁发者将基于该数字身份凭证定义为分布式网络实体颁发联盟数字身份凭证。
[0061]
(3.3)联盟数字身份区块的生成:联盟分布式身份服务节点接收到各分布式网络实体的联盟分布式身份标识符相关签名和联盟数字身份凭证定义相关签名后,对收到的签名进行验证,若验证通过,则根据接收到的联盟分布式身份标识符和联盟数字身份凭证定义生成新的区块,并广播至全网,接收到的联盟分布式身份标识符和联盟数字身份凭证定义通过共识机制存储到联盟分布式身份账本。
[0062]
(3.4)联盟数字身份验证:某分布式网络实体作为联盟数字身份凭证持有者,申请访问一个应用系统。该系统的联盟数字身份凭证验证者,首先对该申请访问分布式网络实体联盟数字身份标识符进行验证,然后查询并获取该申请访问分布式网络实体在联盟分布式身份账本上的数字身份凭证定义,对该申请访问分布式网络实体所出示的联盟数字身份凭证信息进行验证,从而完成对用户身份的验证,获得对该应用系统的访问。
[0063]
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,且应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1