一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于区块链的权限控制方法、系统、设备及可读存储介质与流程

2022-11-16 18:25:23 来源:中国专利 TAG:


1.本发明涉及区块链技术领域,尤其涉及一种基于区块链的权限控制方法、系统、设备及可读存储介质。


背景技术:

2.当前主流开源联盟链超级账本fabric采用许可准入的机制,自身提供了比较丰富的安全与隐私保护机制,包括联盟级系统隔离、账本级数据隔离、策略级应用隔离以及合约级操作隔离,但是更细粒度的隐私隔离,比如合约资产数据细粒度的权限控制就不支持了,很难满足需要实际应用中对权限控制要求比较细致的业务场景,不利于超级账本fabric在实际企业生产环境中的推广。
3.因此,如何解决目前超级账本的隐私保护机制的权限控制粒度精细度低成为了亟待解决的技术问题。


技术实现要素:

4.本发明的主要目的在于提供一种基于区块链的权限控制方法、系统、设备及可读存储介质,旨在解决目前超级账本的隐私保护机制的权限控制粒度精细度低的技术问题。
5.为实现上述目的,本发明提供一种基于区块链的权限控制方法,所述基于区块链的权限控制方法包括:基于目标用户发送的数字证书申请指令,生成目标证书;通过区块链智能合约解析调用所述目标证书,获得所述目标证书中的扩展属性信息;其中,所述扩展属性信息包括用户类型和用户权限;基于所述区块链智能合约对所述扩展属性信息的分析结果,确定所述目标用户的权限范围,并基于所述权限范围,确定所述目标用户的上链请求对应的权限。
6.进一步地,所述基于目标用户发送的数字证书申请指令,生成目标证书,包括:
7.基于所述数字证书申请指令中所包含的所述目标用户的身份信息和扩展属性信息,向数字身份服务发送数字证书申请;
8.通过所述数字身份服务验证所述数字证书申请信息,并查询与所述数字证书申请匹配的ca服务,通过ca服务生成所述目标证书。
9.进一步地,所述基于所述区块链智能合约对所述扩展属性信息的分析结果,确定所述目标用户的权限范围,并基于所述权限范围,确定所述目标用户的上链请求对应的权限,包括:
10.通过区块链智能合约对所述目标证书的所述扩展属性信息进行分析,确定所述目标用户的权限范围;
11.基于所述目标用户的上链请求和所述权限范围,调用权限处理共通lib,查询所述上链请求对应的权限,判断所述目标用户是否具备所述上链请求对应的权限。
12.进一步地,所述基于所述目标用户的上链请求和所述权限范围,调用权限处理共通lib,查询所述上链请求对应的权限,判断所述目标用户是否具备所述上链请求对应的权
限,包括:
13.若所述上链请求对应的权限在所述权限范围内,则响应所述上链请求,并将响应结果输出给所述目标用户;
14.若所述上链请求对应的权限不在所述权限范围内,则向所述目标用户反馈错误提醒,以提示所述目标用户不具备相应权限。
15.此外,为实现上述目的,本发明还提供一种基于区块链的权限控制系统,所述基于区块链的权限控制系统,所述系统包括ca服务、智能合约网关服务、数字身份服务以及区块链服务;所述ca服务用于基于目标用户发送的数字证书申请指令,生成目标证书;
16.所述智能合约网关服务用于区块链智能合约调用的统一调配;
17.所述数字身份服务用于接收目标用户发送的数字证书申请指令,并根据数字证书申请指令对所述ca服务进行查询匹配,以实现对数字身份证书的管理,所述数字身份证书的管理包括:数字证书的发行、验证和吊销;
18.所述区块链服务用于执行智能合约;用于通过区块链智能合约解析调用所述目标证书,获得所述目标证书中的扩展属性信息;其中,所述扩展属性信息包括用户类型和用户权限;基于所述扩展属性信息的分析结果,确定所述目标用户的权限范围,并基于所述权限范围,确定所述目标用户的上链请求对应的权限,以实现合约资产权限的控制。
19.进一步地,所述区块链服务包括区块链节点服务:
20.所述区块链节点服务用于执行对应的区块链节点的智能合约;一个所述区块链节点服务对应一个所述ca服务,用于生成所述区块链节点的所述数字身份证书;
21.所述区块链节点之间通过区块链虚拟网络进行通信连接,以实现所述区块链节点之间的信息传递。
22.进一步地,所述数字身份服务包括:
23.数字证书申请模块,用于通过所述数字身份服务验证所述数字证书申请信息,并查询与所述数字证书申请匹配的ca服务,通过ca服务生成所述目标证书。
24.进一步地,所述数字身份服务还包括:
25.用户权限范围确定模块,用于通过区块链智能合约对所述目标证书的所述扩展属性信息进行分析,确定所述目标用户的权限范围;
26.请求权限判断模块,用于基于所述目标用户的上链请求和所述权限范围,调用权限处理共通lib,查询所述上链请求对应的权限,判断所述目标用户是否具备所述上链请求对应的权限。
27.此外,为实现上述目的,本发明还提供一种基于区块链的权限控制设备,所述基于区块链的权限控制设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的基于区块链的权限控制程序,其中所述基于区块链的权限控制程序被所述处理器执行时,实现如上述的基于区块链的权限控制方法的步骤。
28.此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于区块链的权限控制程序,其中所述基于区块链的权限控制程序被处理器执行时,实现如上述的基于区块链的权限控制方法的步骤。
29.本发明提供一种基于区块链的权限控制方法,所述方法基于目标用户发送的数字证书申请指令,生成目标证书;通过区块链智能合约解析调用所述目标证书,获得所述目标
证书中的扩展属性信息;其中,所述用户类型和用户权限;基于所述区块链智能合约对所述扩展属性信息的分析结果,确定所述目标用户的目标权限。通过上述方式,根据目标用户发送的数字证书申请指令,生成目标证书,并且通过区块链智能合约对目标证书进行解析,从而获得目标证书中的扩展属性信息;扩展属性信息包括目标用户的用户类型和用户权限,区块链智能合约通过解析扩展属性信息,能够获悉目标用户对合约资产数据的权限范围,从而能够根据该权限范围对目标用户的权限进行控制,提高权限控制准确性,解决了超级账本的隐私保护机制的权限控制准确性低的技术问题。
附图说明
30.图1为本发明实施例方案中涉及的基于区块链的权限控制设备的硬件结构示意图;
31.图2为本发明基于区块链的权限控制方法第一实施例的流程示意图;
32.图3为本发明基于区块链的权限控制方法第二实施例的流程示意图;
33.图4为本发明基于区块链的权限控制方法第三实施例的流程示意图;
34.图5为本发明基于区块链的权限控制系统第一实施例的结构示意图;
35.图6为本发明基于区块链的权限控制系统第二实施例的结构示意图。
36.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
37.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
38.本发明实施例涉及的基于区块链的权限控制方法主要应用于基于区块链的权限控制设备,该基于区块链的权限控制设备可以是pc、便携计算机、移动终端等具有显示和处理功能的设备。
39.参照图1,图1为本发明实施例方案中涉及的基于区块链的权限控制设备的硬件结构示意图。本发明实施例中,基于区块链的权限控制设备可以包括处理器1001(例如cpu),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信;用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard);网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口);存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器,存储器1005可选的还可以是独立于前述处理器1001的存储装置。
40.本领域技术人员可以理解,图1中示出的硬件结构并不构成对基于区块链的权限控制设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
41.继续参照图1,图1中作为一种计算机可读存储介质的存储器1005可以包括操作系统、网络通信模块以及基于区块链的权限控制程序。
42.在图1中,网络通信模块主要用于连接服务器,与服务器进行数据通信;而处理器1001可以调用存储器1005中存储的基于区块链的权限控制程序,并执行本发明实施例提供的基于区块链的权限控制方法。
43.本发明实施例提供了一种基于区块链的权限控制方法。
44.参照图2,图2为本发明基于区块链的权限控制方法第一实施例的流程示意图。
45.本实施例中,所述基于区块链的权限控制方法包括:
46.步骤s10,基于目标用户发送的数字证书申请指令,生成目标证书;
47.本实施例中,在去中心化应用程序(dapp)中录入目标用户的身份信息以及x.509扩展属性信息,向数字身份服务提交数字身份申请,dapp根据目标用户发送的数字证书申请指令,生成对应目标用户权限的目标证书。
48.步骤s20,通过区块链智能合约解析调用所述目标证书,获得所述目标证书中的扩展属性信息;其中,所述扩展属性信息包括用户类型和用户权限;
49.本实施例中,dapp在上链前处理后,通过智能合约网关服务调用区块链智能合约,通过区块链智能合约解析调用目标用户的x.509扩展属性信息,得到证书扩展属性auths。
50.其中,上链前处理是指业务数据上链前需要将业务数据处理,并且对信息进行签名,即生成数字证书。这些过程可以通过对应的工具,比如序列化工具和各种椭圆曲线的签名工具来完成,或者通过将各种工具集成的sdk来完成。
51.具体地,x.509扩展属性信息包括:用户类型(type)和用户权限(auths)。
52.具体实施例中,x.509扩展属性信息的用户权限(auths)示例如下:
[0053][0054]
[0055]
具体地,用户类型(type)为用户在区块链平台中的用户类型,包括:组织管理员、企业管理员、企业用户等;用户权限(auths)为用户在区块链平台中对各种资产数据的权限,以json数组的形式存储,包括权限对象(target)、资产数据行权限(rowauth)、资产数据列权限(colauths)。
[0056]
具体地,权限对象(target)为string,是合约资产中需要权限控制的对象,包括资产识别子、资产某属性识别子等。
[0057]
具体地,资产数据行权限(rowauth)为json对象,包含识别子ids和权限mode,其中ids为逗号分隔的字符串(例:ids=“1001,1003,1004”),mode为对这些数据的权限,以linux文件权限形式存储,即读(r/4)、写(w/2)、预留(x/1),(例:rwx全权限:mode=7、只读r权限:mode=4、无权限:mode=0)。
[0058]
具体地,资产数据列权限(colauths)为json对象数组,包含了对资产相关属性的权限信息,包括item和mode两个字段。其中item为具体属性的识别符,mode为该属性的权限。
[0059]
步骤s30,基于所述区块链智能合约对所述扩展属性信息的分析结果,确定所述目标用户的权限范围,并基于所述权限范围,确定所述目标用户的上链请求对应的权限。
[0060]
本实施例中,基于目标证书中的扩展属性信息auths(授权),根据用户上链处理的目的,调用权限处理共通lib,判断用户权限并作相应处理。
[0061]
其中,权限处理共通lib为针对x.509数字证书的扩展属性而做的权限控制处理,以共通lib的形式供业务智能合约调用,包含接口如下:
[0062]
函数名:getrowauth
[0063]
入口参数:auth、id
[0064]
返回结果:mode
[0065]
处理流程:序列化参数auth,从中查询出参数id对应的mode结果返回,若没查到结果,则返回0表示无权限。
[0066]
函数名:getcolauth
[0067]
入口参数:auth、item
[0068]
返回结果:mode
[0069]
处理流程:序列化参数auth,从中查询出参数item对应的mode结果返回,若没查到结果,则返回0表示无权限。
[0070]
本实施例中提供一种基于区块链的权限控制方法,所述方法基于目标用户发送的数字证书申请指令,生成目标证书;通过区块链智能合约解析调用所述目标证书,获得所述目标证书中的扩展属性信息;其中,所述用户类型和用户权限;基于所述区块链智能合约对所述扩展属性信息的分析结果,确定所述目标用户的目标权限。通过上述方式,根据目标用户发送的数字证书申请指令,生成目标证书,并且通过区块链智能合约对目标证书进行解析,从而获得目标证书中的扩展属性信息;扩展属性信息包括目标用户的用户类型和用户权限,区块链智能合约通过解析扩展属性信息,能够获悉目标用户对合约资产数据的权限范围,从而能够根据该权限范围对目标用户的权限进行控制,提高权限控制准确性,解决了超级账本的隐私保护机制的权限控制准确性低的技术问题。
[0071]
参照图3,图3为本发明基于区块链的权限控制方法第二实施例的流程示意图。
[0072]
基于上述图2所示,本实施例中,所述步骤s10具体包括:
[0073]
步骤s11,基于所述数字证书申请指令中所包含的所述目标用户的身份信息和扩展属性信息,向数字身份服务发送数字证书申请;
[0074]
步骤s12,通过所述数字身份服务验证所述数字证书申请信息,并查询与所述数字证书申请匹配的ca服务,通过ca服务生成所述目标证书。
[0075]
本实施例中,每一个区块链节点对应一个ca服务,当目标用户通过dapp提交数字证书申请时,数字身份服务对数字证书申请中的相关申请信息进行验证,并查询与目标用户申请信息匹配的ca服务;如果存在ca服务与数字证书申请中的扩展属性完全一致,则表示验证通过,从而通过ca服务生成目标用户的目标证书,并且调用ca服务接口获取目标证书,将目标证书上传至区块链,然后返回dapp。
[0076]
其中,数字身份服务管理所有组织的ca服务信息、发证账户公钥、发证账户id、数字身份凭证专用公私钥。
[0077]
参照图4,图4为本发明基于区块链的权限控制方法第三实施例的流程示意图。
[0078]
基于上述图2所示,本实施例中,所述步骤s30具体包括:
[0079]
步骤s31,通过区块链智能合约对所述目标证书的所述扩展属性信息进行分析,确定所述目标用户的权限范围;
[0080]
步骤s32,基于所述目标用户的上链请求和所述权限范围,调用权限处理共通lib,查询所述上链请求对应的权限,判断所述目标用户是否具备所述上链请求对应的权限。
[0081]
进一步地,所述步骤s32具体包括:
[0082]
若所述上链请求对应的权限在所述权限范围内,则响应所述上链请求,并将响应结果输出给所述目标用户;
[0083]
若所述上链请求对应的权限不在所述权限范围内,则向所述目标用户反馈错误提醒,以提示所述目标用户不具备相应权限。
[0084]
本实施例中,通过区块链智能合约对目标证书中的扩展属性信息进行解析,获得目标用户的用户类型和用户权限,即目标用户的权限范围;然后根据目标用户的上链请求,对目标用户上链请求的权限进行验证,判断目标用户是否具备该请求对应的权限;如果目标用户具备该请求的对应的权限,则通过验证,并响应该请求,输出该上链请求对应的处理结果,如果目标用户不具备该上链请求对应的权限,则反馈错误,提醒目标用户不具备该请求的相应权限。比如,目标用户完成区块链合约资产系统的用户注册,确定了目标用户在该系统中的用户类型和用户权限,当用户在该系统中提出有关某一资产账单的查阅请求时,系统会对目标用户的身份信息进行验证,并确定目标用户的用户权限,同时,系统会根据该资产账单的查询权限要求对目标用户的用户权限进行验证,判断目标用户的是否具备该资产账单的查询权限,如果目标用户的用户权限可以通过验证,则将该资产账单反馈给用户,以供用户查阅;反之,则拒绝目标用户查阅该资产账单。
[0085]
此外,本发明实施例还提供一种基于区块链的权限控制系统。
[0086]
参照图5,图5为本发明基于区块链的权限控制系统第一实施例的结构示意图。
[0087]
本实施例中,所述基于区块链的权限控制系统包括:ca服务、智能合约网关服务、数字身份服务以及区块链服务;
[0088]
所述ca服务用于基于目标用户发送的数字证书申请指令,生成目标证书;
[0089]
所述智能合约网关服务用于区块链智能合约调用的统一调配;
[0090]
所述数字身份服务用于接收目标用户发送的数字证书申请指令,并根据数字证书申请指令对所述ca服务进行查询匹配,以实现对数字身份证书的管理,所述数字身份证书的管理包括:数字证书的发行、验证和吊销;
[0091]
所述区块链服务用于执行智能合约;用于通过区块链智能合约解析调用所述目标证书,获得所述目标证书中的扩展属性信息;其中,所述扩展属性信息包括用户类型和用户权限;基于所述扩展属性信息的分析结果,确定所述目标用户的权限范围,并基于所述权限范围,确定所述目标用户的上链请求对应的权限,以实现合约资产权限的控制。
[0092]
进一步地,所述区块链服务包括区块链节点服务:
[0093]
所述区块链节点服务用于执行对应的区块链节点的智能合约;一个所述区块链节点服务对应一个所述ca服务,用于生成所述区块链节点的所述数字身份证书;
[0094]
所述区块链节点之间通过区块链虚拟网络进行通信连接,以实现所述区块链节点之间的信息传递。
[0095]
进一步地,所述数字身份服务具体包括:
[0096]
数字证书申请模块,用于通过所述数字身份服务验证所述数字证书申请信息,并查询与所述数字证书申请匹配的ca服务,通过ca服务生成所述目标证书。
[0097]
进一步地,所述数字身份服务具体还包括:
[0098]
用户权限范围确定模块,用于通过区块链智能合约对所述目标证书的所述扩展属性信息进行分析,确定所述目标用户的权限范围;
[0099]
请求权限判断模块,用于基于所述目标用户的上链请求和所述权限范围,调用权限处理共通lib,查询所述上链请求对应的权限,判断所述目标用户是否具备所述上链请求对应的权限。
[0100]
进一步地,所述智能合约网关服务具体包括:
[0101]
权限范围确定单元,用于通过区块链智能合约对所述目标证书的所述扩展属性信息进行分析,确定所述目标用户的权限范围;
[0102]
上链请求权限查询单元,用于基于所述目标用户的上链请求和所述权限范围,调用权限处理共通lib,查询所述上链请求对应的权限,判断所述目标用户是否具备所述上链请求对应的权限。
[0103]
进一步地,所述上链请求权限查询单元具体包括:
[0104]
权限响应子单元,用于若所述上链请求对应的权限在所述权限范围内,则响应所述上链请求,并将响应结果输出给所述目标用户;
[0105]
权限拒绝子单元,用于若所述上链请求对应的权限不在所述权限范围内,则向所述目标用户反馈错误提醒,以提示所述目标用户不具备相应权限。
[0106]
本实施例中,用户通过业务系统中录入身份信息以及x.509扩展属性信息,然后发送数字身份证书申请到数字身份服务;数字身份服务用于身份帧数管理,对数字身份证书申请进行验证,通过查询ca服务系统,确定数字身份证书申请对应的数字身份证书,并生成用户的数字身份证书,并通过数字身份服务反馈到业务系统;在获取数字身份证书之后,通过区块链操作,发送上链请求,智能合约网关服务调用区块链系统执行智能合约,对用户的数字身份证书进行解析,对用户的权限进行判别,并对上链请求进行反馈,由此,完成对合
约资产权限的控制。
[0107]
参照图6,图6为本发明基于区块链的权限控制系统第二实施例的结构示意图。
[0108]
基于上述图5所示,本实施例展示了一种基于区块链的权限控制系统的部署方法,所述系统包括三个不同组织服务器、一个可信第三方服务器,以及一个区块链虚拟网络。
[0109]
三个组织服务器内都部署了区块链节点服务以及各自ca服务;可信第三方服务器内部署了数字身份服务以及智能合约网关服务;区块链虚拟网络用于所有三个组织的区块链系统之间的通信,通过各组织在防火墙开通固定端口,允许区块链虚拟网络节点互相访问。
[0110]
本实施例中,通过区块链虚拟网络实现区块链节点之间的通信,一个区块链节点对应一个ca服务,区块链节点用于执行智能合约;ca服务用于生成对应区块链节点的数字证书;智能合约网关服务用于调用区块链节点执行智能合约;而数字身份服务用于管理所有组织的ca服务信息、发证账户公钥、发证账户id、数字身份凭证专用公私钥。
[0111]
此外,本发明实施例还提供一种计算机可读存储介质。
[0112]
本发明计算机可读存储介质上存储有基于区块链的权限控制程序,其中所述基于区块链的权限控制程序被处理器执行时,实现如上述的基于区块链的权限控制方法的步骤。
[0113]
其中,基于区块链的权限控制程序被执行时所实现的方法可参照本发明基于区块链的权限控制方法的各个实施例,此处不再赘述。
[0114]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
[0115]
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0116]
本技术可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本技术可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本技术,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0117]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
[0118]
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发
明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献