一种基于许可链的用户身份管理方法技术

技术编号:15653131 阅读:54 留言:0更新日期:2017-06-17 07:12
本发明专利技术提供了一种基于许可链的用户身份管理方法,该方法首先在创世块中预置白名单管理合约和初始管理员,并为后续用户创建单独的身份合约,根据身份合约的创建管理员,形成多级的用户管理结构。创建管理员可以为用户更换公钥、修改状态、赋予或回收权限。该方法解决了公有链没有身份管理的弊端,通过在创世块中预置管理合约和初始管理员,实现了不可篡改的初始权限和管理规则,迎合了现实商业环境中的多级用户管理需求。

【技术实现步骤摘要】
一种基于许可链的用户身份管理方法
本专利技术涉及许可链上的用户身份管理方法,通过在创世块中预置管理合约和每人一个身份合约的方式,为许可链上层业务制定安全可扩展的用户协议。
技术介绍
区块链(BlockChain)按照访问和管理权限可以分为公有链和许可链。公有链是指没有准入机制,全世界任何人都可以根据公开协议,生成合法账户,参与读取,发送交易,交易确认,甚至参与共识的区块链。公有链没有账户准入机制,任何人都可以生成账户,再获得一点代币,承担一些交易手续费就可以发起转账或其他合法交易。同时公链上公钥地址是用户的唯一标识,对应私钥丢失即丧失对账户数据和资产的控制权。许可链(PermissionedChain)是指其共识过程受到预选节点控制的区块链,由若干个机构组成的共同体,每个机构都运行着一个节点,而且为了使每个区块生效需要获得其中多数机构的确认。许可链上运行着实际的商业活动,需要严格的成员身份管理、方便的身份找回、细致的权限管理,以保证网络运行的安全高效。所以许可链上的用户身份需经过审核,大多为实名制,与现实世界的身份关系对应。
技术实现思路
本专利技术的目的在于针对现有技术的不足,提供一种基于许可链的用户身份管理方法。本专利技术的目的是通过以下技术方案实现的:一种基于许可链的用户身份管理方法,包括以下步骤:(1)在创世块中配置身份管理系统合约,所述身份管理系统合约包含一个结构为map(用户公钥=>身份合约)的“白名单”。所述身份合约的属性有:合约地址、公钥地址、历史公钥地址列表、用户信息、创建管理员、状态、权限列表。其中状态的可选值有:“正常”、“停止”、“已删”,权限列表中的权限的可选值有:“创建身份合约”(表示用户能否创建下级用户,生成新的身份合约)、“创建业务合约”(表示用户能否创建业务相关的合约,非身份合约均为业务合约)。(2)在创世块中构造生成“初始管理员”身份合约,所述初始管理员拥有“创建身份合约”的权限。(3)在创世块中将“初始管理员”身份合约加入“白名单”中。(4)链从创世块启动,并持续接受交易并出块,然后由“初始管理员”创建其余下级身份合约。创建方法为:(4.1)用户在链下生成好自己的公私钥对,并提交“公钥地址”和“身份信息”给初始管理员审核,审核通过后,初始管理员通过调用身份合约的构造函数,传入用户“公钥地址”、“用户信息”,发起“创建身份合约”交易,创建一级身份合约。构造函数对每个用户部署生成一个固定的合约地址,作为用户的唯一标识,并加入“白名单”,新创建的用户状态设置为“正常”,同时将发起交易的管理员设为该用户的上级“创建管理员”。所述“创建管理员”的权限包括:修改下属身份合约的权限列表,为其赋予权限或回收权限;对下属的身份合约采取冻结操作,如果用户状态是“正常”,则将用户状态设置为“停止”;对下属的身份合约采取解冻操作,如果用户状态是“停止”,则将用户状态设置为“正常”;对下属的身份合约采取删除操作,将用户状态设置为“已删”。(4.2)一级身份合约中被赋予了“创建身份合约”权限的用户按照步骤1所述的方法,进一步创建二级身份合约,如此进行不断创建。(4.3)用户如果遇到私钥丢失,通过链下向上级“创建管理员”提交“新公钥地址”,申请更换公钥地址。上级“创建管理员”通过审核后,发起更换公钥地址交易,传入“新公钥地址”,等待上链。链收到交易后,将“旧公钥地址”加入用户“历史公钥列表”,将用户的“公钥地址”设置为“新公钥地址”,并将“白名单”中“旧公钥地址”的索引修改为“新公钥地址”。(5)节点在收到用户交易请求后,提取出用户“公钥地址”,根据“公钥地址”对该交易进行判断,若“公钥地址”满足合法条件,则为合法交易,否则为非法。对于合法交易,节点接收请求,广播并上链;对于非法交易,节点直接拒绝请求,不会广播,也不会上链。所述合法条件包括:条件1:在“白名单”中存在。条件2:其对应的身份合约返回的状态是“正常”。条件3:其对应的身份合约需要具有该交易对应的所需权限。条件4:递归向上查找“创建管理员”的状态都是“正常”。本专利技术的有益效果在于:该方法解决了公有链没有身份管理的弊端,通过在创世块中预置管理合约和初始管理员,实现了不可篡改的初始权限和管理规则,迎合了现实商业环境中的多级用户管理需求。附图说明图1为该方法的整体架构图。具体实施方式如图1所示,一种基于许可链的用户身份管理方法,包括以下步骤:(1)在创世块中配置身份管理系统合约,所述身份管理系统合约包含一个结构为map(用户公钥=>身份合约)的“白名单”。所述身份合约的属性有:合约地址、公钥地址、历史公钥地址列表、用户信息、创建管理员、状态、权限列表。其中状态的可选值有:“正常”、“停止”、“已删”,权限列表中的权限的可选值有:“创建身份合约”(表示用户能否创建下级用户,生成新的身份合约)、“创建业务合约”(表示用户能否创建业务相关的合约,非身份合约均为业务合约)。所述身份合约可以由任意权限者发起只读操作,但只能由“创建管理员”发起写操作。(2)在创世块中构造生成“初始管理员”身份合约,所述初始管理员拥有“创建身份合约”的权限。(3)在创世块中将“初始管理员”身份合约加入“白名单”中。(4)链从创世块启动,并持续接受交易并出块,然后由“初始管理员”创建其余下级身份合约。创建方法为:(4.1)用户在链下生成好自己的公私钥对,并提交“公钥地址”和“身份信息”给初始管理员审核,审核通过后,初始管理员通过调用身份合约的构造函数,传入用户“公钥地址”、“用户信息”,发起“创建身份合约”交易,创建一级身份合约。构造函数对每个用户部署生成一个固定的合约地址,作为用户的唯一标识,并加入“白名单”,新创建的用户状态设置为“正常”,同时将发起交易的管理员设为该用户的上级“创建管理员”。所述“创建管理员”的权限包括:修改下属身份合约的权限列表,为其赋予权限或回收权限;对下属的身份合约采取冻结操作,如果用户状态是“正常”,则将用户状态设置为“停止”;对下属的身份合约采取解冻操作,如果用户状态是“停止”,则将用户状态设置为“正常”;对下属的身份合约采取删除操作,将用户状态设置为“已删”。(4.2)一级身份合约中被赋予了“创建身份合约”权限的用户按照步骤1所述的方法,进一步创建二级身份合约,如此进行不断创建。(4.3)用户如果遇到私钥丢失,通过链下向上级“创建管理员”提交“新公钥地址”,申请更换公钥地址。上级“创建管理员”通过审核后,发起更换公钥地址交易,传入“新公钥地址”,等待上链。链收到交易后,将“旧公钥地址”加入用户“历史公钥列表”,将用户的“公钥地址”设置为“新公钥地址”,并将“白名单”中“旧公钥地址”的索引修改为“新公钥地址”。(5)节点在收到用户交易请求后,提取出用户“公钥地址”,根据“公钥地址”对该交易进行判断,若“公钥地址”满足合法条件,则为合法交易,否则为非法。对于合法交易,节点接收请求,广播并上链;对于非法交易,节点直接拒绝请求,不会广播,也不会上链。所述合法条件包括:条件1:在“白名单”中存在。条件2:其对应的身份合约返回的状态是“正常”。条件3:其对应的身份合约需要具有该交易对应的所需权限。条件4:递归向上查找“创建管理员”的状态都本文档来自技高网...
一种基于许可链的用户身份管理方法

【技术保护点】
一种基于许可链的用户身份管理方法,其特征在于,包括以下步骤:(1)在创世块中配置身份管理系统合约,所述身份管理系统合约包含一个结构为map(用户公钥=>身份合约)的“白名单”。所述身份合约的属性有:合约地址、公钥地址、历史公钥地址列表、用户信息、创建管理员、状态、权限列表。其中状态的可选值有:“正常”、“停止”、“已删”,权限列表中的权限的可选值有:“创建身份合约”(表示用户能否创建下级用户,生成新的身份合约)、“创建业务合约”(表示用户能否创建业务相关的合约,非身份合约均为业务合约)。(2)在创世块中构造生成“初始管理员”身份合约,所述初始管理员拥有“创建身份合约”的权限。(3)在创世块中将“初始管理员”身份合约加入“白名单”中。(4)链从创世块启动,持续接受交易并出块,然后由“初始管理员”创建其余下级身份合约。创建方法为:(4.1)用户在链下生成好自己的公私钥对,并提交“公钥地址”和“身份信息”给初始管理员审核,审核通过后,初始管理员通过调用身份合约的构造函数,传入用户“公钥地址”、“用户信息”,发起“创建身份合约”交易,创建一级身份合约。构造函数对每个用户部署生成一个固定的合约地址,作为用户的唯一标识,并加入“白名单”,新创建的用户状态设置为“正常”,同时将发起交易的管理员设为该用户的上级“创建管理员”。所述“创建管理员”的权限包括:修改下属身份合约的权限列表,为其赋予权限或回收权限;对下属的身份合约采取冻结操作,如果用户状态是“正常”,则将用户状态设置为“停止”;对下属的身份合约采取解冻操作,如果用户状态是“停止”,则将用户状态设置为“正常”;对下属的身份合约采取删除操作,将用户状态设置为“已删”。(4.2)一级身份合约中被赋予了“创建身份合约”权限的用户按照步骤1所述的方法,进一步创建二级身份合约,如此进行不断创建。(4.3)用户如果遇到私钥丢失,通过链下向上级“创建管理员”提交“新公钥地址”,申请更换公钥地址。上级“创建管理员”通过审核后,发起更换公钥地址交易,传入“新公钥地址”,等待上链。链收到交易后,将“旧公钥地址”加入用户“历史公钥列表”,将用户的“公钥地址”设置为“新公钥地址”,并将“白名单”中“旧公钥地址”的索引修改为“新公钥地址”。(5)节点在收到用户交易请求后,提取出用户“公钥地址”,根据“公钥地址”对该交易进行判断,若“公钥地址”满足合法条件,则为合法交易,否则为非法。对于合法交易,节点接收请求,广播并上链;对于非法交易,节点直接拒绝请求,不会广播,也不会上链。所述合法条件包括:条件1:在“白名单”中存在。条件2:其对应的身份合约返回的状态是“正常”。条件3:其对应的身份合约需要具有该交易对应的所需权限。条件4:递归向上查找“创建管理员”的状态都是“正常”。...

【技术特征摘要】
1.一种基于许可链的用户身份管理方法,其特征在于,包括以下步骤:(1)在创世块中配置身份管理系统合约,所述身份管理系统合约包含一个结构为map(用户公钥=>身份合约)的“白名单”。所述身份合约的属性有:合约地址、公钥地址、历史公钥地址列表、用户信息、创建管理员、状态、权限列表。其中状态的可选值有:“正常”、“停止”、“已删”,权限列表中的权限的可选值有:“创建身份合约”(表示用户能否创建下级用户,生成新的身份合约)、“创建业务合约”(表示用户能否创建业务相关的合约,非身份合约均为业务合约)。(2)在创世块中构造生成“初始管理员”身份合约,所述初始管理员拥有“创建身份合约”的权限。(3)在创世块中将“初始管理员”身份合约加入“白名单”中。(4)链从创世块启动,持续接受交易并出块,然后由“初始管理员”创建其余下级身份合约。创建方法为:(4.1)用户在链下生成好自己的公私钥对,并提交“公钥地址”和“身份信息”给初始管理员审核,审核通过后,初始管理员通过调用身份合约的构造函数,传入用户“公钥地址”、“用户信息”,发起“创建身份合约”交易,创建一级身份合约。构造函数对每个用户部署生成一个固定的合约地址,作为用户的唯一标识,并加入“白名单”,新创建的用户状态设置为“正常”,同时将发起交易的管理员设为该用户的上级“创建管理员”。所述“创建管理员”的权限包括:...

【专利技术属性】
技术研发人员:谢晗剑岳利鹏
申请(专利权)人:杭州秘猿科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1