一种基于区块链角色的RPC接口权限管理方法技术

技术编号:35525073 阅读:10 留言:0更新日期:2022-11-09 14:46
本发明专利技术公开一种基于区块链角色的RPC接口权限管理方法,所述方法具体包括:划分一角色列表,并划分角色等级、指定一接口列表,并将接口角色列表进行对应匹配、指定一I P列表,并将端口与角色列表进行对应匹配、指定一端口列表,并将端口与角色列表进行对应匹配,依据端口列表以启动多个RPC接口服务;本发明专利技术与现有技术相比,实现了区块链角色的RPC接口权限管理,不依赖外部系统实现权限控制,降低了系统复杂度,且可通过程序编译等方式进行角色类型管理,解决联盟链节点私有化持有场景中角色权限管控问题,切合区块链分布式运行特点。切合区块链分布式运行特点。

【技术实现步骤摘要】
一种基于区块链角色的RPC接口权限管理方法


[0001]本专利技术涉及区块链
,具体来说是一种基于区块链角色的RPC接口权限管理方法。

技术介绍

[0002]RPC(Remote Procedure Call)远程过程调用,是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议;区块链系统通过RPC接口形式,提供链上数据获取,交易数据提交等服务,然而,在调用区块链系统的RPC接口过程中可能存在安全风险,一些RPC接口因其业务敏感性容易被恶意者所利用,对链上数据造成污染或破坏,从而进行对区块链系统的安全造成损害,联盟链作为由多个机构及组织参与管理的区块链,其自身区块链数据仅允许联盟内部机构及组织读取和修改,接口功能无需暴露在全网的用户下,但需对联盟内部的不同成员用户进行安全级别的控制。
[0003]传统方式中常使用JWT(Json Web Token)方式进行用户鉴权及访问控制,在使用JWT时,通常需要将用户信息、过期时间、签发时间等业务数据写入Token中以进行校验,由此导致Token内容较大,传输时消耗更多流量,挤占数据带宽,同时为实现访问控制,工程上JWT常伴随黑名单机制实现、依赖业务系统进行token的生成与维护、使用内存数据库等形式存储token,对外部系统依赖较多。

技术实现思路

[0004]本专利技术的目的在于解决现有技术的不足,提供一种基于区块链角色的RPC接口权限管理方法。
[0005]为了实现上述目的,设计一种基于区块链角色的RPC接口权限管理方法,其中任何的RPC接口是绑定计算机的端口对外提供服务的,依据计算机端口的可扩展性,利用可配置的方式启动多个端口的RPC接口服务,每个端口依据角色权限分类,对应端口仅允许指定用户进行访问,用于实现计算机端口与角色权限、用户的分类绑定,所述方法具体如下:
[0006]S1.划分一角色列表,并划分角色等级;
[0007]S2.指定一接口列表,并将接口与步骤S1中角色列表进行对应匹配;
[0008]S3.指定一IP列表,并将端口与步骤S1中角色列表进行对应匹配;
[0009]S4.指定一端口列表,并将端口与步骤S1中角色列表进行对应匹配,依据端口列表以启动多个RPC接口服务;
[0010]S41.若存在区块链节点私有化持有场景,且持有人确实S1角色列表中某类角色权限,如并无管理角色,则通过程序编译禁止管理角色,而后依据S4中端口列表以启动多个RPC接口服务;
[0011]S42若存在区块链节点私有化持有场景,且节点持有者具有S1角色列表中完整角色权限,则可依据S4中端口列表以启动多个RPC接口服务。
[0012]本专利技术还包括如下优选的技术方案:
[0013]进一步,所述步骤S1具体如下:端口与角色权限绑定的实现方式为定义RPC端口对应指定角色权限,包括管理角色权限为Port1、普通角色权限为Port2、监控角色权限为Port3、...;再进一步地定义RPC接口属于哪一类的角色权限,包括账本裁剪为管理权限一类、交易提交为普通权限一类、交易和账本查询为监控权限一类,同时,设置角色等级,包括管理角色>普通角色>监控角色,用于实现计算机端口与角色及具体RPC接口功能的分类绑定。
[0014]进一步,所述步骤S2具体如下:用户需访问管理权限一类的RPC接口时,必须通过管理角色权限端口Port1端才可正常访问,同理,用户通过监控角色权限端口Port3访问时,只能访问监控权限的RPC接口,同时,为了RPC接口访问灵活性,设置了角色等级,所以,用户可通过角色等级高的端口可以访问到所有小于此端口角色的权限接口。
[0015]进一步,所述步骤S3具体如下:不同角色等级用户可进行不同的管理措施,对于安全级别高的接口,将其划归于监管权限,通过IP限定方式进行权限控制,对于交易提交等常用业务接口,将其划归于普通用户权限,在保护RPC接口访问控制同时减少解析消耗。
[0016]进一步,所述步骤S4具体如下:通过程序编译方式实现权限控制,联盟链中不同组织及机构均需持有区块链节点,以实现区块链系统去中心化特性,但不同组织及机构需区分角色以确定权限,对于联盟链成员本地持有的私有化节点,通过程序编译方式,禁止掉指定角色类型的使用。
[0017]本专利技术同现有技术相比,其优点在于:
[0018]1.本专利技术实现了区块链角色的RPC接口权限管理,不依赖外部系统实现权限控制,降低了系统复杂度。
[0019]2.本专利技术以角色等级划分权限,与传统JWT方式相比,减少了网络带宽消耗,降低系统解析成本。
[0020]3.本专利技术可通过程序编译等方式进行角色类型管理,解决联盟链节点私有化持有场景中角色权限管控问题,切合区块链分布式运行特点。
附图说明
[0021]图1为本专利技术的角色权限管理图。
[0022]图2为本专利技术的方法流程图。
[0023]图3为本专利技术的拓展流程图。
具体实施方式
[0024]为了使本领域技术人员能够更好地理解本专利技术,下面结合附图及实施例对本专利技术进行下一步详细的说明:
[0025]本专利技术包含一种基于区块链角色的RPC接口权限管理方法,如图2所示,包括:
[0026]步骤S1,依据场景需要,划分一角色列表,如管理角色、普通用户角色、及监控角色,并划分角色等级,如管理角色>普通用户角色>监控角色。
[0027]步骤S2,依据场景需要,指定一接口列表,并将接口与步骤S1中角色列表进行对应匹配,如账本裁剪对应管理角色,交易提交对应普通用户角色,交易查询对应监控角色。
[0028]步骤S3,依据场景需要,指定一IP列表,并将端口与步骤S1中角色列表进行对应匹
配,如管理角色设置为仅允许从本机(127.0.0.1)访问,普通用户角色设置为允许从外部机器(0.0.0.0)访问,监控角色设置为允许从外部机器(0.0.0.0)访问。
[0029]步骤S4,依据场景需要,指定一端口列表,并将端口与步骤S1中角色列表进行对应匹配,如端口port1对应管理角色,端口port2对应普通用户角色,端口port3对应监控角色;依据端口列表以启动多个RPC接口服务。
[0030]本专利技术的较佳的实施例中,进一步的,步骤S4可进行拓展,如图3所示,包括:
[0031]步骤S41,若存在区块链节点私有化持有场景,且持有人确实S1角色列表中某类角色权限,如并无管理角色,则通过程序编译禁止管理角色,而后依据S4中端口列表以启动多个RPC接口服务。
[0032]步骤S42,若存在区块链节点私有化持有场景,且节点持有者具有S1角色列表中完整角色权限,则可依据S4中端口列表以启动多个RPC接口服务
[0033]以上所述,仅为此专利技术的具体实施方式,但本专利技术的保护范围不局限于此,任何熟悉本
的技术人员在本专利技术揭露的技术范围内,根据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于区块链角色的RPC接口权限管理方法,其特征在于任何的RPC接口是绑定计算机的端口对外提供服务的,依据计算机端口的可扩展性,利用可配置的方式启动多个端口的RPC接口服务,每个端口依据角色权限分类,对应端口仅允许指定用户进行访问,用于实现计算机端口与角色权限、用户的分类绑定,所述方法具体如下:S1.划分一角色列表,并划分角色等级;S2.指定一接口列表,并将接口与步骤S1中角色列表进行对应匹配;S3.指定一IP列表,并将端口与步骤S1中角色列表进行对应匹配;S4.指定一端口列表,并将端口与步骤S1中角色列表进行对应匹配,依据端口列表以启动多个RPC接口服务;S41.若存在区块链节点私有化持有场景,且持有人确实S1角色列表中某类角色权限,如并无管理角色,则通过程序编译禁止管理角色,而后依据S4中端口列表以启动多个RPC接口服务;S42若存在区块链节点私有化持有场景,且节点持有者具有S1角色列表中完整角色权限,则可依据S4中端口列表以启动多个RPC接口服务。2.如权利要求1所述的一种基于区块链角色的RPC接口权限管理方法,其特征在于所述步骤S1具体如下:端口与角色权限绑定的实现方式为定义RPC端口对应指定角色权限,包括管理角色权限为Port1、普通角色权限为Port2、监控角色权限为Port3、...;再进一步地定义RPC接口属于哪一类的角色权限,包括账本裁剪为管理权限一类、交易提...

【专利技术属性】
技术研发人员:张宇聪蔡楚煌魏胜男刘俊明朱贤张清姚嘉华刘雪峰唐麟雁
申请(专利权)人:上证所信息网络有限公司
类型:发明
国别省市:

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

1