一种基于许可链的用户身份管理方法与流程

文档序号:12693946阅读:来源:国知局

技术特征:

1.一种基于许可链的用户身份管理方法,其特征在于,包括以下步骤:

(1)在创世块中配置身份管理系统合约,所述身份管理系统合约包含一个结构为map(用户公钥=>身份合约)的“白名单”。

所述身份合约的属性有:合约地址、公钥地址、历史公钥地址列表、用户信息、创建管理员、状态、权限列表。其中状态的可选值有:“正常”、“停止”、“已删”,权限列表中的权限的可选值有:“创建身份合约”(表示用户能否创建下级用户,生成新的身份合约)、“创建业务合约”(表示用户能否创建业务相关的合约,非身份合约均为业务合约)。

(2)在创世块中构造生成“初始管理员”身份合约,所述初始管理员拥有“创建身份合约”的权限。

(3)在创世块中将“初始管理员”身份合约加入“白名单”中。

(4)链从创世块启动,持续接受交易并出块,然后由“初始管理员”创建其余下级身份合约。创建方法为:

(4.1)用户在链下生成好自己的公私钥对,并提交“公钥地址”和“身份信息”给初始管理员审核,审核通过后,初始管理员通过调用身份合约的构造函数,传入用户“公钥地址”、“用户信息”,发起“创建身份合约”交易,创建一级身份合约。构造函数对每个用户部署生成一个固定的合约地址,作为用户的唯一标识,并加入“白名单”,新创建的用户状态设置为“正常”,同时将发起交易的管理员设为该用户的上级“创建管理员”。

所述“创建管理员”的权限包括:修改下属身份合约的权限列表,为其赋予权限或回收权限;对下属的身份合约采取冻结操作,如果用户状态是“正常”,则将用户状态设置为“停止”;对下属的身份合约采取解冻操作,如果用户状态是“停止”,则将用户状态设置为“正常”;对下属的身份合约采取删除操作,将用户状态设置为“已删”。

(4.2)一级身份合约中被赋予了“创建身份合约”权限的用户按照步骤1所述的方法,进一步创建二级身份合约,如此进行不断创建。

(4.3)用户如果遇到私钥丢失,通过链下向上级“创建管理员”提交“新公钥地址”,申请更换公钥地址。上级“创建管理员”通过审核后,发起更换公钥地址交易,传入“新公钥地址”,等待上链。链收到交易后,将“旧公钥地址”加入用户“历史公钥列表”,将用户的“公钥地址”设置为“新公钥地址”,并将“白名单”中“旧公钥地址”的索引修改为“新公钥地址”。

(5)节点在收到用户交易请求后,提取出用户“公钥地址”,根据“公钥地址”对该交易进行判断,若“公钥地址”满足合法条件,则为合法交易,否则为非法。对于合法交易,节点接收请求,广播并上链;对于非法交易,节点直接拒绝请求,不会广播,也不会上链。所述合法条件包括:

条件1:在“白名单”中存在。

条件2:其对应的身份合约返回的状态是“正常”。

条件3:其对应的身份合约需要具有该交易对应的所需权限。

条件4:递归向上查找“创建管理员”的状态都是“正常”。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1