基于区块链的数据分级分类鉴权方法、节点及区块链系统与流程

文档序号:17992821发布日期:2019-06-22 00:56阅读:1637来源:国知局
基于区块链的数据分级分类鉴权方法、节点及区块链系统与流程

本发明涉及数据分级分类授权控制领域,具体地说是一种基于区块链的数据分级分类鉴权方法、节点及区块链系统。



背景技术:

随着计算机和信息技术的迅猛发展和普及应用,公安迅速进入了大数据时代,公安信息化的高速发展积累了丰富的业务数据,种类不断丰富、结构不断异化、总量不断增长。各级公安机关快速积累并不断增长的信息数据已成为继警力资源、装备资源之后的新一类核心资源。然而这些数据大多由各业务警种掌握,并且具备不同的数据权限,权限由各警种掌握,如何在跨警种、跨区域、跨部门的信息共享、协作应用服务的过程中进行数据权限控制已经成为需要解决的关键问题。



技术实现要素:

本发明的技术任务是针对以上不足,提供一种基于区块链的数据分级分类鉴权方法、节点及区块链系统,来解决在跨警种、跨区域、跨部门的信息共享、协作应用服务的过程中进行数据权限控制的问题。

第一方面,本发明实施例提供一种基于区块链的数据分级分类鉴权方法,该方法应用于包含多警种信息的公安数据的数据分级、数据分类以及数据授权控制,包括:

将新增的警种作为新增节点,新增节点根据其自身警种信息生成区块,警种信息包括资源名称、资源位置以及数据分级分类权限信息;

将新增节点接入区块链网络、并向区块链网络中其它节点声明新增节点的数据分级分类权限信息;

区块链网络中其它节点验证新增节点的数据分级分类信息后,记录新增节点的数据分级分类权限信息并写入区块链。

本实施方式中,将一种警种作为一个节点,根据警种信息生成去区块,并将上述多个警种作为节点构建区块链网路,使得每种警种的警种信息均写入区块链中,在区块链网络中每个节点同时作为服务端和客户端,可根据区块链中记载的数据分级分类权限信息判断自身的数据权限,并依据数据权限使用其它警种的资源,实现了跨警种、跨区域、跨部门的信息共享、协作应用服务的过程中进行数据权限控制。

优选的,新增节点向区块链网络中其它节点声明新增节点的数据分级分类权限信息,包括如下步骤:

新增节点广播其自身的地址,并与区块链网络中其它节点建立链接;

新增节点获取区块链完整数据信息,区块链完整数据信息包括节点地址、数据类型以及区块哈希id;

新增节点向区块链网络中的每个节点声明其自身的数据分级分类权限信息。

优选的,当区块链网络中某个节点为变动节点时,变动节点新增或变更其数据分级分类权限信息并生成变动信息,变动节点通过其本地区块链记录变动信息、并将变动信息广播至区块链网络中其它所有节点。

该优选实施方式中,节点后续变动由在区块链网络中的所有节点共同维护,节点的变动需要按照该区块链网络的规则和共识进行修改,从而保证了数据权限的权威性。

优选的,变动节点通过其本地区块链记录变动信息、并将变动信息广播至区块链网络中其它节点,包括如下步骤:

变动节点对变动信息进行组装,并记录在其本地区块链中;

变动节点将组装后的变动信息发送至区块链网络中其它所有节点;

第一个获取变动信息的节点为第一节点,第一个节点验证变动信息后,将变动信息打包成区块记录在其本地区块链上,并将变动信息广播给区块链网络中除变动节点及第一节点之外的每个剩余节点;

每个剩余节点验证变动信息后,在其本地区块链上新增区块存储变动信息。

优选的,区块链网络中节点根据数据分级分类权限信息使用对方节点的警种信息,包括:

节点根据其本地区块链进行鉴权,判断是否具有对方节点的资源使用权限;

如果节点具有对方节点的资源使用权限,则向区块链网络进行广播,并待区块链网络中其它具有优先权的节点记录使用记录后,节点使用对方节点的资源。

第二方面,本发明实施例提供一种节点,用于按照上述第一方面任一项所述的基于区块链的数据分级分类鉴权方法构建区块链网络,包括:

生成模块,用于根据自身警种信息生成区块,警种信息包括资源名称、资源位置以及数据分级分类权限信息;

广播模块,用于接入区块链网络,并用于将其数据分级分类权限信息广播至区块链网络中其它节点;

验证模块,用于接收并验证区块链网络其它节点的数据分级分类权限信息;

处理模块,用于在区块链网络其它节点的数据分级分类权限信息后,将区块链网络其它节点的数据分级分类权限信息生成区块并写入其本地区块链。

本实施方式中,将警钟要加入区块链网络的新增节点,该新增节点通过其生成模块生成区块,通过其广播模块接入区块链网络并将其数据分级分类权限信息广播至区块链网络中其它节点,当区块链网络中其它节点通过验证模块验证节点后,区块链网络中其它节点可通过本身的处理模块接收节点的数据分级分类权限信息、生成区块并写入其本地区块链。

优选的,生成模块还用于新增或变更其数据分级分类权限信息并生成变动信息,并用于将变动信息进行组装、并记录在其本地区块链中;广播模块还用于将变动信息发送至区块链网络中;验证模块还用于接收并验证区块链网络其它节点的变动信息;处理模块,用于将区块链网络其它节点的变动信息打包成区块记录在其本地区块链上。

该优选实施方式中,通过生成模块新增或变更数据分级分类权限信息,便于用户根据需求调整数据权限,且变动信息通过广播模块广播至区块链网络中其它节点,使得节点的变动按照约定的规则进行,保证了数据权限的权威性。

更优的,还包括鉴权模块,用于根据其本地区块链进行鉴权,判断是否具有区块链网络中对方节点的资源使用权限,如果节点具有对方节点的资源使用权限,则与广播模块配合向区块链网络进行广播,并待区块链网络中其它具有优先权的节点记录使用记录后,节点使用对方节点的资源。

优选的,生成模块配置有分级分类权限配置模型,所述分级分类权限配置模型包括:数据分级模型,用于将警种信息按照敏感程度、密级程度或开放范围界定级别,并用于将分级信息与用户角色关联,从而判定用户的数据权限;分级分类模型,用于在数据分级模型基础上,将分级信息、分类信息以及用户角色关联,从而进一步判定用户的数据权限。

第三方面,本发明实施例提供一种区块链系统,该区块链系统为通过第一方面任一项所述的基于区块链的公安大数据分级分类鉴别方法构建的区块链系统。

本发明的基于区块链的数据分级分类鉴权方法、节点及区块链系统具有以下优点:

1、将警种作为节点构建区块链网络,所有警种的资源均存储在区块链网络汇总,任何节点都可对区块链进行查看,并根据数据分级分类权限使用对方节点的资源,不存在单一用户的控制,实现了跨警种、跨区域、跨部门的信息共享、协作应用服务的过程中进行数据权限控制;

2、每个警钟的权限的变动由在区块链网络中的各个警种共同维护,警种的权限变动只能严格按照该区块链网络的规则和共识进行修改,保证了权限的权威性。

附图说明

为了更清除地说明本发明实施例中的技术方案,下面将对实施例中描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

下面结合附图对本发明进一步说明。

附图1为实施例1基于区块链的数据分级分类鉴权方法的流程框图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互结合。

需要理解的是,在本发明实施例中的“多个”,是指两个或两个以上。

本发明实施例提供基于区块链的数据分级分类鉴权方法、节点及区块链系统,用于解决在跨警种、跨区域、跨部门的信息共享、协作应用服务的过程中进行数据权限控制的技术问题。

实施例1:

本发明的基于区块链的数据分级分类鉴权方法,应用于包含多警种信息的公安数据的数据分级、数据分类以及数据授权控制,包括如下步骤:

步骤s100、将新增的警种作为新增节点,新增节点根据其自身警种信息生成区块,警种信息包括资源名称、资源位置以及数据分级分类权限信息;

步骤s200、将新增节点接入区块链网络、并向区块链网络中其它节点声明新增节点的数据分级分类权限信息;

步骤s300、区块链网络中其它节点验证新增节点的数据分级分类信息后,记录新增节点的数据分级分类权限信息并写入区块链。

其中,数据分级是针对公安数据的敏感程度、密级程度或开放范围进行划分,可划分为绝密、机密、秘密、公开四个类别。

数据分类针对数据来源、业务属性、数据类型等进行划分。如,按照公安五要素分类,用人员、案(事)件、物品、地点、组织要素对主要公安业务共享结构化信息加以涵盖和抽象,以“人”为基础,“案(事)件”为重点的五要素分类;按照按共享数据结构进行分类,如数据库信息、普通文件、图片、表格、录音、录像等各种内容形式,存储于特定的信息共享服务器中(文件服务器)以供各部门共同访问;按照业务性质分类,如户政管理类、治安管理类、刑侦管理类、交通管理类、涉外管理类、监管类、社会单位企业、政法信息。数据权限采用分级与分类相结合的方式进行控制。

步骤s200中,从区块链网络中选取一个节点作为种子节点,新增节点通过与种子节点建立链接的方式接入区块链网络,具体包括如下步骤:

s211、新增节点向种子节点发送version消息,version消息包括区块链版本号、本地节点区块高度、本节点地址;

s212、种子节点向新增节点返回verack消息,verack消息包括区块链版本号、本地节点区块高度、本节点地址。

新增节点向区块链网络中其它节点声明新增节点的数据分级分类权限信息,包括如下步骤:

s221、新增节点广播其自身的地址,并与区块链网络中其它节点建立链接;

s222、新增节点获取区块链完整数据信息,区块链完整数据信息包括节点地址、数据类型以及区块哈希id;

s223、新增节点向区块链网络中的每个节点声明其自身的数据分级分类权限信息。

上述步骤s221中,新增节点广播其自身的地址,并与区块链网络中其它节点建立链接,包括如下分步骤:

分步骤s221-1、新增节点向种子节点发送getaddr消息用于获取种子节点的相邻节点地址列表,种子节点向新增节点返回addr消息;

分步骤s221-2、新增节点向种子节点相邻节点发送getaddr消息用于获取种子节点相邻节点的相邻节点地址列表,种子节点相邻节点向新增节点返回addr消息;

分步骤s221-3、按照上述方式,新增节点通过发送getaddr消息获取对方节点的相邻节点地址列表的方式与区块链的每个节点构建链接。

步骤s222中新增节点获取区块链完整数据信息的方法为:新增节点向种子节点发送getdata消息用于获取区块链完整数据信息,种子节点向新增节点返回响应消息;其中,区块链完整数据信息包括节点地址、数据类型以及区块哈希id,响应消息包括节点地址以及区块链完整数据信息。

步骤s300中,区块链网络中的每个节点验证新增节点的数据分级分类权限信息后,记录新增节点的数据分级分类权限信息并写入本地区块链,最终新增节点和区块链网络中的其它节点形成新的区块链网络,同时产生新的区块链,该新的区块链包括所有节点的数据。

区块链网络中节点根据数据分级分类权限信息使用对方节点的警种信息。当其中一个节点想要使用对方节点的资源时,通过如下步骤执行:节点根据其本地区块链进行鉴权,判断是否具有对方节点的资源使用权限;如果节点具有对方节点的资源使用权限,则向区块链网络进行广播,并待区块链网络中其它具有优先权的节点记录使用记录后,节点使用对方节点的资源。

针对公安数据的数据分级、数据分类、授权控制和高可信度的数据鉴权,在公安网搭建一个psp网络,作为区块链的基础网络,将各种警种作为构成区块链网络的节点,每个节点既是客户端(数据申请使用端,在某个警种申请其它警种时)也是服务端(加入区块链网络后向网络中其它节点声明自身所拥有的数据分级分类权限信息,以便其它节点访问并记录)。

作为本实施例的进一步改进,当某一种警种的数据权限进行变动时,其变动信息同步到该区块链网络的其它节点。具体为:当区块链网络中某个节点为变动节点时,变动节点新增或变更其数据分级分类权限信息并生成变动信息,变动节点通过其本地区块链记录变动信息、并将变动信息广播至区块链网络中其它所有节点。

在该改进的实施方式中,变动节点通过其本地区块链记录变动信息、并将变动信息广播至区块链网络中其它节点,包括如下步骤:

(1)变动节点对变动信息进行组装,并记录在其本地区块链中;

(2)变动节点将组装后的变动信息发送至区块链网络中其它所有节点;

(3)第一个获取变动信息的节点为第一节点,第一个节点验证变动信息后,将变动信息打包成区块记录在其本地区块链上,并将变动信息广播给区块链网络中除变动节点及第一节点之外的每个剩余节点;

(4)每个剩余节点验证变动信息后,在其本地区块链上新增区块存储变动信息。

实施例2:

本发明提供一种节点,用于按照上述实施例1公开的基于区块链的数据分级分类鉴权方法构建区块链网络,该节点包括生成模块、广播模块、验证模块、处理模块和鉴权模块。

其中,生成模块,用于根据自身警种信息生成区块,警种信息包括资源名称、资源位置以及数据分级分类权限信息。

广播模块,用于接入区块链网络,并用于将其数据分级分类权限信息广播至区块链网络中其它节点。

本实施例中,广播模块接入区块链网络的方法为:从区块链网络中选取一个节点作为种子节点,该节点作为新增节点通过与种子节点建立链接的方式接入区块链网络,具体包括如下步骤:

(1)、新增节点向种子节点发送version消息,version消息包括区块链版本号、本地节点区块高度、本节点地址;

(2)、种子节点向新增节点返回verack消息,verack消息包括区块链版本号、本地节点区块高度、本节点地址。

同时,该节点作为新增节点通过广播模块将其数据分级分类权限信息广播至区块链网络中其它节点,所采用的方法为,:

(1)、新增节点广播其自身的地址,并与区块链网络中其它节点建立链接;

(2)、新增节点获取区块链完整数据信息,区块链完整数据信息包括节点地址、数据类型以及区块哈希id;

(3)、新增节点向区块链网络中的每个节点声明其自身的数据分级分类权限信息。

具体地,上述步骤(1)新增节点广播其自身的地址,并与区块链网络中其它节点建立链接,包括如下分步骤:

(1-1)、新增节点向种子节点发送getaddr消息用于获取种子节点的相邻节点地址列表,种子节点向新增节点返回addr消息;

(1-2)、新增节点向种子节点相邻节点发送getaddr消息用于获取种子节点相邻节点的相邻节点地址列表,种子节点相邻节点向新增节点返回addr消息;

(1-3)、按照上述方式,新增节点通过发送getaddr消息获取对方节点的相邻节点地址列表的方式与区块链的每个节点构建链接。

上述步骤(2)中节点作为新增节点获取区块链完整数据信息的方法为:新增节点向种子节点发送getdata消息用于获取区块链完整数据信息,种子节点向新增节点返回响应消息;其中,区块链完整数据信息包括节点地址、数据类型以及区块哈希id,响应消息包括节点地址以及区块链完整数据信息。

验证模块,用于接收并验证区块链网络其它节点的数据分级分类权限信息。

处理模块,用于在区块链网络其它节点的数据分级分类权限信息后,将区块链网络其它节点的数据分级分类权限信息生成区块并写入其本地区块链。

鉴权模块,用于根据其本地区块链进行鉴权,判断是否具有区块链网络中对方节点的资源使用权限,如果节点具有对方节点的资源使用权限,则与广播模块配合向区块链网络进行广播,并待区块链网络中其它具有优先权的节点记录使用记录后,节点使用对方节点的资源。

上述节点,可按照实施例1公开的基于区块链的数据分级分类鉴权方法构建区块链网络。

为实现节点对其数据分级分类权限的变动,该节点中生成模块还用于新增或变更其数据分级分类权限信息并生成变动信息,并用于将变动信息进行组装、并记录在其本地区块链中;广播模块还用于将变动信息发送至区块链网络中;验证模块还用于接收并验证区块链网络其它节点的变动信息;处理模块,用于将区块链网络其它节点的变动信息打包成区块记录在其本地区块链上。

节点中生成模块、广播模块、验证模块以及处理模块配合,可实现当区块链网络中某个节点为变动节点时,变动节点新增或变更其数据分级分类权限信息并生成变动信息,变动节点通过其本地区块链记录变动信息、并将变动信息广播至区块链网络中其它所有节点。

实施例3:

本发明提供一种区块链系统,为通过实施例1公开的基于区块链的数据分级分类鉴权方法构建区块链系统,具体是一种网络系统。

该区块链系统为将警种作为节点构建的,每个节点为警种节点,每个警钟节点均记录有包含所有警钟的资源信息,在后续过程中,某个警钟变动信息时,通过广播的方式传递给各个警钟,在所有警钟记录完毕后将变动信息接入区块链中。各个警钟作为节点构建区块链网络,其中一个警钟访问其它警钟的数据时通过公开透明、可信不可篡改的区块链数据分级分类进行数据鉴权并获取相关数据资源。

以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

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