区块链系统权限管理方法和装置的制造方法
【技术领域】
[0001]本发明涉及区块链技术领域,尤其涉及一种区块链管理系统和方法。
【背景技术】
[0002]自2009年比特币系统推出以来,以比特币及其衍生竞争币为代表的去中心化加密货币受到了广泛关注。该货币类系统的特点是基于区块链构建分布式共享总账,从而保证系统运行的安全、可靠、去中心化特性。
[0003]区块链是指通过去中心化和去信任的方式集体维护一个可靠数据库的技术方案。该技术方案主要让参与系统中的任意多个节点,通过一串使用密码学方法相关联产生的数据块,每个数据块中包含了一定时间内的系统全部信息交流数据,并且生成数据指纹用于验证其信息的有效性和链接下一个数据库块。
[0004]权限管理是区块链系统的核心内容,由于区块链系统用户数量巨大、区块数量众多,传统的权限管理技术存在资源消耗大且权限控制效率低的问题。
[0005]传统的权限管理技术可以分为三类:访问列表控制、强制访问控制以及基于角色的访问控制。访问列表控制方法通过列表进行权限管理,一个简单的访问列表是一个由用户与资源构成的数组,当数据量巨大时,权限管理效率低下。强制访问控制方法中,一旦系统建立,用户行为的访问控制强制执行,用户无法改变安全级别或对象的安全属性。基于角色的访问控制是一种基于用户责任属性进行资源访问的策略,其核心是明确用户性质,灵活进行资源访问权限授权,然而,基于角色的访问控制仍然存在如下缺点:一是授权过程中角色分配、权限授予工作量仍然很大;二是缺乏灵活的动态授权机制。
[0006]因此,提供一种能够适用于区块链系统的高效权限管理方法成为业内急需解决的问题。
【发明内容】
[0007]本发明的目的是提供一种面向区块链的高效的权限管理方法及系统。
[0008]根据本发明的一种方案,提供一种区块链系统权限管理方法,包括:系统在用户登陆系统成功后,根据用户注册信息生成以用户为根节点的权限树,权限树以用户角色、权限以及区块链为各层子节点;当用户对区块链进行操作时,系统遍历用户对应的权限树,判断用户是否具有合法权限对区块链进行该操作,若有则允许进行操作,若无则禁止进行操作。
[0009]其中,生成权限树之前进行以下步骤:区块链系统收集用户信息、用户角色信息、用户权限信息和区块链信息后,建立以下集合:用户集合、用户角色集合、用户权限集合和区块链集合。
[0010]具体地,该方法进一步包括:系统根据用户集合、角色集合、权限集合和区块链集合,建立对应的权限树:系统以每个用户为根建立一棵权限树;根据用户角色建立第二层子节点;根据用户和每个角色建立相应的权限建立第三层子节点;根据数据源集合中的数据资源建立叶子节点。
[0011]可选择地,在配置时,用户角色和权限可任意组合。
[0012]优选地,用户角色和权限组合可以映射至指定区块链。
[0013]可选择地,用户角色可以配置为管理员角色和普通用户。
[0014]可选择地,权限可以配置为修改、新建、读取和/或删除。
[0015]可选择地,区块链也可以为其它类型的数据资源。
[0016]根据本发明的另一方面,本发明还提供一种区块链系统权限管理装置,包括:控制模块,用于系统在用户登陆系统成功后,根据用户注册信息生成以用户为根节点的权限树,权限树以用户角色、权限以及区块链为各层子节点;判断模块,用于当用户对区块链进行操作时,通知控制模块遍历用户对应的权限树,根据控制模块的遍历结果,判断用户是否具有合法权限对区块链进行该操作,若有则允许进行操作,若无则禁止进行操作。
[0017]资源收集模块,用于收集用户信息,用户角色信息,用户权限信息和区块链,建立以下集合:用户集合、用户角色集合、用户权限集合和区块链集合。
[0018]具体地,控制模块建立对应的权限树的过程包括:以每个用户为根建立一棵权限树;根据用户角色建立第二层子节点;根据用户和每个角色的相应的权限建立第三层子节点;根据区块链集合中的区块链建立叶子节点。
[0019]可选择地,控制模块提供配置模式包括:用户角色和权限可任意组合;或者,用户角色和权限组合可以映射至指定区块链。
[0020]可选择地,角色、权限配置包括:用户角色配置为管理员角色和普通用户角色;权限配置为修改、新建、读取和/或删除。
[0021]本发明的有益效果是:本发明提出的权限管理方法和装置,采用用户、用户角色、用户权限以及区块链对象分离的权限管理体系,通过建立权限树进行灵活权限控制,由于权限树具有层数少、更新快的特点,可以降低权限资源消耗,并兼顾保证权限管理的效率。
【附图说明】
[0022]图1是本发明提供的区块链系统权限管理方法的简化流程示意图。
[0023]图2是本发明提供的区块链系统权限管理方法的权限树示意图。
[0024]图3是本发明提供的区块链系统权限管理方法的流程示意图。
[0025]图4是本发明提供的权限管理装置的构造示意图。
【具体实施方式】
[0026]下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0027]本发明提供一种权限管理方法,参见图1,包括以下步骤:
[0028]S10,系统在用户登陆系统成功后,根据用户注册信息生成以用户为根节点的权限树,权限树以用户角色、权限以及数据资源为各层子节点;
[0029]S20,当用户对数据资源进行操作时,系统遍历用户对应的权限树,判断用户是否具有合法权限对数据资源进行该操作,若有则允许进行操作,若无则禁止进行操作。
[0030]其中,这里所说的信息资源可以是存放数据的数据集合,例如区块链资源,用户进行的操作可以是多种多样的,根据现实的需求自行设定,通常可以是,对数据资源进行的读取、修改、新建、删除等操作。
[0031]进一步,在上述步骤S10中,首先,为了建立权限树,系统需要收集用户信息,用户角色信息,用户权限信息和区块链资源,建立包括用户集合、用户角色集合,权限集合和区块链集合的数据库,本发明中,将用户信息、用户角色信息、用户权限信息以及区块链资源均作为资源统一管理。然后,系统根据用户集合、角色集合、权限集合和区块链资源集合,建立对应的权限树。其中,针对用户集合中的每一个用户,参看图2所示,以每个用户为根建立一棵权限树,例如,分别以用户1,用户2和用户3建立权限树,每个用户建立的权限树用不同的线条加以区分;根据用户角色集合建立权限树的第二层子节点,同一个用户可以拥有多个角色,例如用户1可以是管理员角色,也可以是普通用户角色,用户在登录后,可以自由选择以哪个角色的身份进行资源访问;根据用户和每个角色的相应的权限作为权限树的第三层子节点;根据区块链资源集合中的区块链资源作为权限树的叶子节点。这样,以每个用户为根一〉用户角色为第二层子节点_>用户角色对应的权限为第三层子节点一〉区块链资源为叶子节点,每个用户对应的权限树就建立完成了。
[0032]进一步,用户角色可以有多种类型,参见图2,可以为管理员角色、普通用户角色;同样,权限也可以有多种类型的操作,如图2权限树所示,新建、修改、读取、删除等;不同的用户角色对应不同的权限,角色和权限间可以任意组合。将角色和权限的组合映射至某个数据资源,则反映了该数据资源的具体操作权限。角色、权限和映射对象之间,也是可以任意组合的。系统可以根据每个数据资源映射的角色和权限组合,判断用户访问的合法性。
[0033]进一步,权限树可以动态更新,权限树的子节点层数可
以无限制的增加,用户角色、用户权限信息以及数据资源信息可以随时增加、修改或删除,可以适应灵活多变的使用场景。
[0034]下面结合图2并参看图3,进一步详细说明本发明的实现过程。
[0035]步骤S301,用户初次登入系统,需要填写必要的注册信息,注册成功后,输入基本信息登录系统,包括用户ID、密码等。
[0036]步骤S302,系统对用户登录信息进行判断,如果通过认证,则转到步骤S303;否则转到步骤S307。
[0037]步骤S303,系统根据用户的注册信息生成对应的权限树,权限树以用户为根,以角色、权限和区块链资源为各层子节点;
[0038]步骤304,用户要对某块区块链资源进行某项操作,系统遍历检索用户对应的权限树,例如,米用深度优先检索或广度优先检索等方法进行权限树遍历与检索。
[0039]步骤305,找到以目标区块链资源为叶子节点,且包含该用户对应的角色的权限子树,查询该用户在该权限子树的对应的权限信息,即根据该权限子树的叶节点的目标区块链的资源查找对应的权限是否包括用户待操作的权限,如果是,执行步骤306,如果否,则执行步骤307。
[°04°]步骤306,允许进行该操作。
[0041 ]步骤307,禁止进行该操作。
[0042]其中,这里的操作可以根据具体情况具体设定,例如,该操作可以是修改、新建、读取和/或删除。
[0043]基于同样的原理,本发明提供了一种能够灵活修改配置、动态扩展权限层级的权限控制装置,请参考图4,权限控制装置从逻辑上包括控制模块和判断模块,控制模块用于系统在用户登陆系统成功后,根据用户注册信息生成以用户为根节点的权限树,权限树以用户角色、权限以及数据资源(比如区块链)为各层子节点;判断模块用于当用户对数据资源进行操作时,通知控制模块遍历用户对应的权限树,根据控制模块的遍历结果,判断用户是否具有合法权限对数据资源进行该操作,若有则允许进行操作,若无则禁止进行操作。
[0044]在本发明提供的一种实施例中,权限控制装置还进一步包括资源收集模块,用于收集用户信息、用户角色信息、用户权限信息和数据资源,建立用户集合、角色集合、权限集合和区块链集合。
[0045]在本发明的一个实施例中,控制模块建立对应的权限树的具体过程包括:以每个用户为根建立一棵权限树;根据用户角色建立第二层子节点;根据用户和每个角色建立相应的权限建立第三层子节点;根据区块链集合中的区块链建立叶子节点。
[0046]其中,在建立权限树过程中,控制模块提供灵活的配置参数和模式,包括但不限于,用户角色和权限可任意组合;用户角色和权限组合可以映射至指定数据资源。用户角色配置为管理员角色和普通用户;权限配置为修改、新建、读取和/或删除。
[0047]综上所述,本发明提出的权限管理方法和装置,由于采用用户、用户角色、用户权限以及区块链对象分离的权限管理体系,通过建立权限树进行灵活权限控制,具有层数少、更新快的特点,可以降低权限资源消耗,并兼顾权限管理的效率。
[0048]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0049]尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
【主权项】
1.一种区块链系统权限管理方法,其特征在于,包括: 在用户成功登陆区块链系统后,根据用户注册信息生成以所述用户为根节点的权限树,所述权限树以用户角色、权限以及区块链为各层子节点;以及 当所述用户对目标区块链进行操作时,系统遍历所述用户对应的所述权限树,判断所述用户是否具有合法权限对所述目标区块链进行该操作,若有则允许进行操作,若无则禁止进行操作。2.如权利要求1所述的区块链系统权限管理方法,其特征在于,生成所述权限树之前执行以下步骤: 所述区块链系统收集用户信息、用户角色信息、用户权限信息和区块链信息后,建立以下集合:用户集合、用户角色集合、用户权限集合和区块链集合。3.如权利要求2所述的区块链系统权限管理方法,其特征在于,所述方法进一步包括: 所述区块链系统根据所述用户集合、所述用户角色集合、所述用户权限集合和所述区块链集合,生成对应的权限树; 所述区块链系统以每个用户为根建立一棵权限树; 根据每个用户角色建立第二层子节点; 根据每个用户和每个用户角色的相应的用户权限建立第三层子节点;以及 根据所述区块链集合中的区块链建立叶子节点。4.如权利要求3所述的区块链系统权限管理方法,其特征在于,所述方法进一步包括: 将用户角色和用户权限的组合映射至指定的区块链。5.如权利要求1?4中任一项所述的区块链系统权限管理方法,其特征在于: 所述角色配置为管理员角色和普通用户角色;以及 所述权限配置为修改、新建、读取和/或删除。6.—种区块链系统权限管理装置,包括控制模块和判断模块,其特征在于: 所述控制模块用于在用户登陆系统成功后根据用户注册信息生成以所述用户为根节点的权限树,所述权限树以用户角色、权限以及区块链为各层子节点;以及 所述判断模块用于当所述用户对目标区块链进行操作时通知所述控制模块遍历所述用户对应的所述权限树,根据控制模块的遍历结果,判断所述用户是否具有合法权限对所述目标区块链进行该操作,若有则允许进行操作,若无则禁止进行操作。7.如权利要求6所述的区块链系统权限管理装置,其特征在于,所述权限控制装置还进一步包括: 资源收集模块,用于收集用户信息、用户角色信息、用户权限信息和区块链信息,建立以下集合:用户集合、用户角色集合、用户权限集合和区块链集合。8.如权利要求6所述的区块链系统权限管理装置,其特征在于,所述控制模块建立对应的权限树的步骤包括: 以每个用户为根建立一棵权限树; 根据每个用户角色建立第二层子节点; 根据每个用户和每个用户角色的相应的权限建立第三层子节点;以及 根据区块链集合中的区块链建立叶子节点。9.如权利要求6所述的区块链系统权限管理装置,其特征在于,所述控制模块提供配置模式包括: 用户角色和用户权限的组合映射至指定区块链。10.如权利要求6所述的区块链系统权限管理装置,其特征在于,所述用户角色和所述用户权限配置包括: 所述用户角色配置为管理员角色和普通用户角色;以及 所述用户权限配置为修改、新建、读取和/或删除。
【专利摘要】本发明公开了一种区块链系统权限管理方法和装置,能够实现在用户登陆系统成功后,根据用户注册信息生成以用户为根节点的权限树,权限树以用户角色、权限以及区块链为各层子节点;当用户对区块链进行操作时,通知控制模块遍历用户对应的权限树,根据控制模块的遍历结果,判断用户是否具有合法权限对区块链进行该操作,若有则允许进行操作,若无则禁止进行操作。采用本发明的权限树对权限管理进行灵活权限控制,由于权限树具有层数少、更新快的特点,可以降低权限资源消耗,并兼顾保证权限管理的效率。
【IPC分类】G06F21/62
【公开号】CN105488431
【申请号】CN201510860229
【发明人】蒋海, 王璟, 翟海滨, 赵正涌
【申请人】布比(北京)网络技术有限公司
【公开日】2016年4月13日
【申请日】2015年11月30日