一种基于分布式互通系统数据库的访问控制系统及方法与流程

文档序号:24502422发布日期:2021-03-30 21:32阅读:114来源:国知局
一种基于分布式互通系统数据库的访问控制系统及方法与流程

本发明涉及工业网络安全和信息查询领域,特别是涉及一种基于分布式互通系统数据库的访问控制系统及方法。



背景技术:

在多个用户公共一个数据模块的系统中,常常会存在无法有效地限定数据库用户访问能力的问题,一旦有非法用户恶意访问数据库,就容易造成数据库数据泄露的风险。另外,从实用性方面来说,企业内部的一些数据具有隐私性,这些数据并不能对使用此数据库的所有用户都公开,因此,对访问控制技术的研究具有十分重要的意义。

访问控制技术是将系统中的所有数据、用户组织起来,然后为系统中的数据和用户提供一个可供访问的接口,这个接口负责判断:谁对某个数据是否有访问的权限,从而赋予用户对资源的访问权限。传统的访问控制技术可以分成两大类:自主访问控制、强制访问控制。自主访问模型允许用户访问自身所创建的客体,同时,用户也可以将访问的权限转移给其他的主体,因此系统中权限的具体分布情况难以获取,系统抗风险能力较差。强制访问控制指系统对客体进行强制性的控制,即使是客体的创建者也无权更改或访问客体,只有安全级别达到系统要求的主体才能访问客体,这种访问控制模型虽然安全系数较高,但是缺乏灵活性,且不适用于数据量较大的互通系统。随着用户对访问控制策略的要求越来越多样化,人们又提出了基于角色的访问控制模型、基于任务的访问控制模型等多种模型,这些模型解决了一些问题,但是仍然存在着以下的一些问题:对于访问控制列表的维护成本过高、当用户身份或位置发生改变时难以管理复杂多变的权限。



技术实现要素:

本发明的目的是提供一种基于分布式互通系统数据库的访问控制系统及方法。

为实现上述目的,本发明提供了如下方案:

一种基于分布式互通系统数据库的访问控制系统,包括:主体管理服务器和客体管理服务器;所述客体管理服务器存储有访问许可集pi=(sgi,ogi,wi),i=1,2,3,其中,sgi表示第i组主体的集合,ogi表示第i组客体的集合,wi表示第i种权限约束方式,第一组主体的权限为能够访问各企业开放性信息,第二组主体的权限为能够访问企业内部公开信息,第三组主体的权限为能够访问企业保密信息,第一组客体为各企业的开放性信息所在节点,第二组客体为企业内部公开信息所在节点,第三组客体为企业保密信息所在节点,第一种权限约束方式为企业开放性信息约束,第二种权限约束方式为企业内部开放性信息约束,第三种权限约束方式为保密信息约束;

所述主体管理服务器包括身份验证ip分配模块,所述身份验证ip分配模块基于请求主体的权限为所述请求主体分配身份验证ip,不同权限对应有不同的身份验证ip;

所述客体管理服务器包括约束方式确定模块和权限验证模块,所述约束方式确定模块获取请求主体的访问请求,并根据所述访问请求中的身份验证ip确定所述请求主体的权限约束方式w,所述访问请求包括所述请求主体的身份验证ip、所述请求主体的序号sg以及所需访问客体的序号og;所述权限验证模块验证(sg,og,w)是否属于访问许可集,当(sg,og,w)属于访问许可集时,允许所述请求主体访问客体og,当(sg,og,w)不属于访问许可集时,禁止所述请求主体访问客体og。

可选的,所述主体管理服务器还包括权限识别模块,当请求主体请求访问的客体为企业的开放性信息所在的客体时,所述权限识别模块确定所述请求主体为第一种权限约束方式;当请求主体请求访问的客体不是企业的开放性信息所在的客体且请求主体的物理ip以及地址均符合设定条件时,所述权限识别模块确定所述请求主体为第二种权限约束方式;当请求主体请求访问的客体不是企业的开放性信息所在的客体且请求主体的物理ip为设定ip时,所述权限识别模块确定所述请求主体为第三种权限约束方式。

可选的,每一企业提供一所述主体管理服务器以及一所述客体管理服务器。

可选的,所述第二组主体包括若干主体子组,所述第二组客体包括若干客体子组,不同主体子组对不同客体子组具有访问权限;p2=(sg2,j,og2,j,w2),其中,sg2,j表示第二组主体中第j子组主体的集合,og2,j表示第二组客体中第j子组客体的集合。

可选的,当第二组主体中某一主体不属于任何一个子组时,所述主体对第二组客体中的所有客体均具有访问权限。

可选的,所述第三组主体包括若干主体子组,所述第三客体包括若干客体子组,不同主体子组对不同客体子组具有访问权限;p3=(sg3,j,og3,j,w3),其中,sg3,j表示第三组主体中第j子组主体的集合,og3,j表示第三组客体中第j子组客体的集合。

可选的,当第三组主体中某一主体不属于任何一个子组时,所述主体对第三组客体中的所有客体均具有访问权限。

可选的,所述客体管理服务器还包括优先级确定模块,所述优先级确定模块根据迭代次数确定同组请求主体的优先级:迭代次数越多优先级越高。

本发明还提供了一种基于分布式互通系统数据库的访问控制方法,该方法应用于本发明提供的基于分布式互通系统数据库的访问控制系统,所述方法包括:

请求主体向主体管理服务器发送身份验证ip分配请求;

主体管理服务器的身份验证ip分配模块根据所述请求主体请求访问的客体或所述请求主体自身的物理ip,向所述请求主体分配身份验证ip,将所述请求主体请求访问的客体记为目标客体;

请求主体向目标客体发送访问请求;

目标客体将接收到的访问请求发送至客体管理服务器;

所述客体管理服务器的约束方式确定模块根据所述访问请求中的身份验证ip确定所述请求主体的权限约束方式w;

所述客体管理服务器的权限验证模块验证(sg,og,w)是否属于访问许可集,当(sg,og,w)属于访问许可集时,允许所述请求主体访问客体og,当(sg,og,w)不属于访问许可集时,禁止所述请求主体访问客体og。

可选的,所述方法还包括:构建所述访问许可集。

根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明提供的基于分布式互通系统数据库的访问控制系统及方法针对工业互联网标识数据采集与互通系统中的数据特点,对传统的主体集和客体集进行分组,再通过管理服务器动态地为发出信息访问请求的用户分配身份验证ip,将用户分配到系统可识别的分组中,从而实现对主体访问权限的判别,有效地限定了用户对数据库地访问能力。本发明采用动态分配身份验证ip地址与主体、客体分组相结合的方法,有效地解决了访问控制列表的维护成本过高、难以管理复杂多变的权限的问题。

附图说明

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

图1为本发明实施例提供的基于分布式互通系统数据库的访问控制系统的结构示意图;

图2为本发明实施例提供的基于分布式互通系统数据库的访问控制系统的原理流程图;

图3为本发明实施例中的优先级情况的示意图;

图4为本发明实施例提供的基于分布式互通系统数据库的访问控制方法的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。

参见图1和图2,本实施例提供了一种基于分布式互通系统数据库的访问控制系统,该系统包括:主体管理服务器1和客体管理服务器2;客体管理服务器2存储有访问许可集pi=(sgi,ogi,wi),i=1,2,3,其中,sgi表示第i组主体的集合,ogi表示第i组客体的集合,wi表示第i种权限约束方式,第一组主体的权限为能够访问各企业开放性信息,第二组主体的权限为能够访问企业内部公开信息,第三组主体的权限为能够访问企业保密信息,第一组客体为各企业的开放性信息所在节点,第二组客体为企业内部公开信息所在节点,第三组客体为企业保密信息所在节点,第一种权限约束方式为企业开放性信息约束,第二种权限约束方式为企业内部开放性信息约束,第三种权限约束方式为保密信息约束。主体管理服务器1包括权限识别模块11和身份验证ip分配模块12,当请求主体请求访问的客体为企业的开放性信息所在的客体时,所述权限识别模块确定所述请求主体为第一种权限约束方式;当请求主体请求访问的客体不是企业的开放性信息所在的客体且请求主体的物理ip以及地址均符合设定条件时,所述权限识别模块确定所述请求主体为第二种权限约束方式;当请求主体请求访问的客体不是企业的开放性信息所在的客体且请求主体的物理ip为设定ip时,所述权限识别模块确定所述请求主体为第三种权限约束方式。身份验证ip分配模块12基于请求主体的权限为请求主体分配身份验证ip,不同权限对应有不同的身份验证ip。客体管理服务器2包括约束方式确定模块21和权限验证模块22,约束方式确定模块21获取请求主体的访问请求,并根据访问请求中的身份验证ip确定请求主体的权限约束方式w,访问请求包括请求主体的身份验证ip、请求主体的序号sg以及所需访问客体的序号og;权限验证模块22验证(sg,og,w)是否属于访问许可集,当(sg,og,w)属于访问许可集时,允许请求主体访问客体og,当(sg,og,w)不属于访问许可集时,禁止请求主体访问客体og。

分布式互通系统数据库,即工业互联网标识数据采集与互通系统的数据库,由多个节点组成,各节点可以通过自身的路由表进行迭代查询,查询到目标节点,获取相关信息。每个节点负责网络中的部分空间,存储一部分的数据信息,构成了去中心化的分布式存储的结构。用户可以向它所属的本地节点发送数据请求信息,网络中的节点客户端接收到信息后,可以把请求信息传送到相应的存储此信息的节点。

本实施例提供的基于分布式互通系统数据库的访问控制系统在构建访问许可集时,对客体和主体进行分组,其中,客体为被访问的节点,主体为发出访问请求的节点,一个节点可能既是主体也是客体。对客体和主体的分组,一方面实现了主体与客体之间权限关系的整体管理,另一方面,针对新用户的注册、用户角色的变更等情况,能够较方便地适应变化,为用户配置新的访问权限,简化了数据库的维护和更新流程。另外,在分组的同时,可以为每一个分组设置好优先级,也可以解决不同角色的用户同时发出需求,产生请求冲突的情况。为每个客体管理服务器配置相应的将主体、客体、访问权限联系在一起的访问许可集,访问许可集中的客体仅为储存其的客体管理服务器所管理的客体。

对主体集中的元素进行分组

按照主体的不同属性进行分组,依据企业中用户可访问的信息的涉密等级将用户划分成了4类。比如,互联互通系统包含了众多企业,每个企业中会有一些用户被企业定义为管理者的角色,就被分到sg0组中;有些用户被定义为企业外部的人员,比如求职者,就会被分入sg1组,这类人员查询信息时不会限制他们的地理位置是否在企业规定的地方,但同时,他们的访问权限较小,只能查到有限的信息;企业内一些访问权限较大的用户就被归入sg2组,比如某个项目的管理者等,sg3组通常是涉密用户。为系统中存在的用户设定不同的分组,每个分组用sg来表示。针对工业互联网标识数据采集与互通系统的特点,具体如下:

首先设定一个管理组sg0,每个企业各分配一个服务器作为管理服务器,将管理服务器的ip分配到管理组中。管理组负责为其企业中的其他用户角色分配对应的组,在整个数据查询系统中起到中间枢纽的作用。管理组作为优先级最高的分组,拥有优先访问客体的权利。设定分组sg1,被划分到此组内的用户拥有不受所在的地理位置限制的权力,随时查询到对应的数据。此组内的主体查询的范围通常是数据库中的开放信息。设定分组sg2,此组内的用户在查询信息时,除了要进行ip的匹配,还要验证用户当前所在的地址,sg2组内的主体拥有的查询范围和查询能力较大,也可查询到偏隐私的数据。设定sg2的子组sg2-1、sg2-2……sg2-n。作为子组,sg2-i(i∈(4,n))组内的主体受约束的条件仍然和sg2组内的主体相同,即对物理ip值、用户所在地址都有要求。除此之外,sg2-i组内的用户查询范围要小一些,即只能查到对应部门内的数据信息。例如,sg3-1组内存放的是市场调查部门的用户,那么sg3-1组只拥有查询互通系统中各个企业销售数额、各个产品的市场满意度等权限,而对于各个企业的人员调动记录、产品的研发参数等信息没有查询权限。设定分组sg3,作为可查询某些特殊信息的主体的分组,互通系统中的企业,每个企业内部都有一些信息并不是完全透明化的,若某条客体信息只允许被某个特定企业的特定人员读取,则这些客体的访问权限都与sg3组相联系。sg3组下设立子组,每个子组对应着特定的主体用户。

参见图3,本实施例还为各个用户组定义约束关系和优先级。约束关系的统一思路为:子组作为大组的派生,每一个大组的访问权限依旧可以约束大组下的子组;每个子组主体拥有的访问权限,大组内不属于其他子组的主体也拥有同样的访问权限。优先级的规定方法为,管理组sg0的优先级最高,其他的分组中,按照优先级从高到低排列依次是sg3、sg2、sg1。sg3、sg2组的子组中,优先级最高的子组是客体自身企业中的主体,剩余子组按照查询到对应的客体需要迭代的次数排列优先级,迭代次数较多的主体拥有更高的优先级,平衡了用户的等待时间。

当要添加一个新的组时,在每个企业的管理服务器中新增一些身份验证ip地址,将拥有这些ip地址的主体作为新的分组,就实现了在集合s中加入一个新的分组i。

对客体集中的元素进行分组

按照系统中客体允许被查找的权限的不同设立不同的分组,每个分组用og来表示。针对工业互联网标识数据采集与互通系统的特点,可以将数据库中的数据信息进行资源分级,从而形成不同的客体组,具体的分组方法如下:

设立客体管理组og0。工业互联网标识数据采集与互通系统上层的每个企业配备一些服务器,分布式地存储自身企业中的数据信息。客体管理组中的服务器用于验证请求主体是否具有访问权限,在确定访问主体拥有客体组的访问权限后,允许请求主体对目标客体进行访问。

工业互联网标识数据采集与互通系统的数据库中的共享数据总体上可以分为开放性数据、需确认地址信息的数据、只对部分用户开放的数据,对应这三种数据分别设立三个客体组og1、og2、og3,作为这三种数据的总分组。对于这三个客体组,每一个组中的数据按照数据类型、数据功能都可以再进行子组的划分,具体情况可以如下:

(1)将从下层mes系统中采集到的数据元进行分类,一类是虚拟信息,包括底层各个mes系统的服务过程、计算方式等;另一类是实体信息,包括各个mes系统的机器编号、零部件信息、生产信息等。

(2)将工业互联网标识数据采集与互通系统上层各个企业中的数据进行分组。先对各个企业的产品信息进行分组,包括产品设计思路、供应链、生产制造、销售与售后四部分,分别为设立四个分组。产品设计思路包括各个企业产品的工艺水平、使用算法、仿真流程等;供应链信息包括各个企业的仓库位置、仓库货物储量、物料等信息;生产制造信息包括所用原材料、产量、产品相关参数等信息;销售与售后信息包括个产品的销售数额、市场满意度、售后服务等信息。

(3)将工业互联网标识数据采集与互通系统上层各个企业中的数据进行分组,对各个企业中的企业组织信息进行分类,企业组织信息可分为人事安排、服务提供方、企业资源管理,为这三类信息设立三个分组,分别进行存放。人事安排组包括企业各部门的任职员工、人员调动、值班安排、联系方式等信息;服务提供方组包括企业设立的部门类型、各个部门的职责信息等;企业资源管理组包括企业中的一些数字资源。

在构建访问许可集合时,定义约束方式集w。w集合当中的元素包括了某些客体对访问的主体的特殊约束条件,根据工业互联网标识数据采集与互通系统的特点,约束条件可以分为:此客体是否为开放性信息、访问此客体的主体所在地理位置是否满足条件、此客体只对特定企业的特定人员开放。p集合是一个三维集合,其中的每一个元素pi都包含三个信息,即pi=(sgi,ogi,wi)。集合p为数据库中的主体、客体建立起了一个联系,当一个主体发出访问某个客体的请求时,进行笛卡尔乘积运算:sg×og×w,当运算结果(sgk,ogk,wk)∈p时,主体对客体才有访问权限。

对于开放性的客体,将它们与具有访问开放性信息权限的用户联系到一起。即将sg1分组中的元素、w集中约束方式为开放性信息的元素、og1中的所有元素组合到一起。对于第二种约束条件,即对访问主体的地理位置有要求,将w集中这种访问约束条件的元素与sg2组中的元素、og2组中的元素组合到一起,形成p集中的元素。由于sg2组、og2组都含有子组,因此在设计p集时需要注意sg2-j组中的元素与og2-j组中的元素进行组合,这样才能保证不同角色的用户只能访问对应类型的数据。另外,考虑到sg2组中的元素对它子组中的元素的访问权限应该具有继承性,p集中还应包含sg2大组中的元素与og2组中包含元素的组合。

对于第三种约束条件,即某些客体信息只对特定企业的特定人员开放,按照每个企业的不同要求,将sg3组内的元素和og3组中对应的元素、w集中的元素组合,设计为p集中的元素。

参见图4,本实施例提供的访问控制系统运行流程如下:

步骤401:请求主体向主体管理服务器发送身份验证ip分配请求。

步骤402:主体管理服务器的身份验证ip分配模块根据请求主体请求访问的客体以及请求主体自身的物理ip,向请求主体分配身份验证ip,将请求主体请求访问的客体记为目标客体。

步骤403:请求主体向目标客体发送访问请求。

步骤404:目标客体将接收到的访问请求发送至客体管理服务器。

步骤405:客体管理服务器的约束方式确定模块根据访问请求中的身份验证ip确定请求主体的权限约束方式w。

步骤406:客体管理服务器的权限验证模块验证(sg,og,w)是否属于访问许可集,当(sg,og,w)属于访问许可集时,允许请求主体访问客体og,当不属于访问许可集时,禁止请求主体访问客体og。

在步骤401之前,还包括构建访问许可集。

当某个主体用户发出信息请求时,主体集管理组的服务器对根据此用户被划分到的安全组为它分配对应的身份验证ip,身份验证ip的分配用采用了组播技术,即用户组可被分配的ip范围是224.0.0.0—239.255.255.255。224.0.0.0—224.0.0.255被分配给sg0组的用户;224.0.1.0—224.0.1.255被分配给sg1组的用户;224.0.2.0—238.255.255.255被分配给sg2组的用户;239.0.0.0—239.255.255.255被分配给sg3组的用户。每个组有不同的访问权限,客体组在收到信息查询请求时,就可以通过主体的ip地址判断出它是否有这个查询权限。经过中间节点的路由,请求信息到达目标客体,目标客体将请求信息传输至其所属的客体管理服务器,该客体管理服务器根据收到的ip地址判断客体所在的安全组,并判断其是否包含于访问许可集中。

本发明提供的基于分布式互通系统数据库的访问控制系统具有以下优势:

本发明针对标识数据采集与互通系统的特点,对访问控制模型中的主体集、客体集进行了设计。在传统的访问控制模型的基础上加入了分组的思路,不仅使得本发明提出的方法适合在标识数据采集与互通系统中使用,而且通过对各个分组优先级的规定解决了分布式存储数据库中配置访问权限优先级的问题。将动态访问控制思路与分组的方法相结合,带来了以下优点:①简化了传统的访问控制方法中对访问控制列表的繁琐管理。因为采用了动态控制的方法,在主体发出查询请求前,各个分组中并没有具体的用户,只是在主体发出请求后,管理服务器才会将用户分配到具体的分组中。②在增加用户或修改用户角色时,无需在全网进行注册,仍可以实现用户信息的全网共享。因为是由管理器将用户分配到它对应的分组内的,因此只要在当前企业内的管理器中加入或修改用户信息,管理器就可以为用户分配对应分组可以识别的身份验证ip,凭借身份验证ip,用户就可以被全网的任一节点识别。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。

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