APP下载

三元形式概念分析的RBAC访问控制设计

2020-07-16王静宇栾俊清谭跃生

哈尔滨理工大学学报 2020年2期
关键词:访问控制

王静宇 栾俊清 谭跃生

摘要:形式概念分析可以用于设计访问控制所需要的层次结构,文献中提及的方法通常是将三维访问控制矩阵转换成二元形式背景,进行这种转换主要目的是导出形式概念、概念格结构以及角色层次和RBAC的约束。为了探索三元形式概念分析在RBAC访问控制中的应用,提出了三元形式概念分析对RBAC进行建模的方法,不必将三维访问控制矩阵转换为二元形式背景即能实现角色层次和角色责任分离。实验部分以医疗系统网络为例展示了该方法遵循RBAC角色层次和角色责任分离约束,证明了三元形式概念分析可对RBAC访问控制策略提供合理的表示。

关键词:访问控制;概念格;基于角色的访问控制;角色层次

DOU:10.15938/j.jhust.2020.02.005

中图分类号:TP309文献标志码:A 文章编号:1007-2683(2020)02-0031-07

0 引言

访问控制是重要的安全机制之一,访问控制系统能够根据访问控制策略中指定的访问权限设置和控制用户的访问权限。其中基于角色的访问控制(RBAC)以其强大的功能适用于多种类型用户的需求,除了在企业系统中广泛应用之外,RBAC也在诸如类UNIX操作系统和数据库管理系统中实现。RBAC的主要优势在于它是策略中立的,通过角色的层次结构和约束条件,可以表达广泛的安全策略。RBAC最初由Sandhu于1996年提出,随后由NIST标准化,RBAC在主体和权限之间引入角色的概念,通过对角色的授权来控制主体对资源的访问。用户可以执行分配给其对应角色的访问权限。角色将每个用户映射到一组权限。RBAC模型支持3个安全原则:数据抽象,最小权限和角色责任分离。NIST标准将RBAC划分为核心RBAC,层次RBAC和限制RBAC。核心RBAC包含RBAC的基本功能。层次RBAC除了核心RBAC功能外,还遵循角色层次访问结构。限制RBAC遵循角色责任分离(SOD)等约束。文[5]对RBAC进行了深入讨论并提出了几种对RBAC建模的方法。由于RBAC在诸多文献中已得到充分的讨论,本文对于RBAC的基础将不再赘述。

形式概念分析(FCA)是一种基于格理论的数学框架,主要用于知识的表示、提取和分析。形式概念分析的基础是形式背景,定义为(C,M,Y),其中G是对象集合,M是属性集合,Y是这两个集合之间的二元关系。这种结构也被称为二元形式背景。文提出了采用形式概念分析对RBAC建模的方法。RBAC访问控制矩阵是由角色(R),数据对象(D)和权限(P)表示的三维矩阵,在形式概念分析中访问控制矩阵可以确定一个描述RBAC这3个部分之间的关系三元形式背景。应用形式概念分析的过程中,在对二元形式背景进行转换的基础上,采用形式概念分析算法进行概念格构造、属性探索和含义分析。以便推导RBAC的角色层次结构和职责分离约束,这种转换通过将三元形式背景中的任意两个元素的向量积作为二元形式背景的对象,将另外一个元素作为属性实现的。例如,将三元形式背景(R,D,P,Y)转换为二元情形(R×D,P,YR×D.P)。然而,从二元情形的基本概念出发,形式概念分析被扩展到三元情形,其中输入数据将是在称为三元形式背景的表中表示的三维关系数据。表中的条目表示哪些对象具有哪些属性。这种表示类似于RBAC三维数据。但现有文献中没有采用三元形式概念分析直接处理三元形式背景而不将其转化为二元形式背景的研究。基于已有的研究成果,我们将形式概念分析从二元推广到三元,在三元形式概念分析中,输入数据是三维关系数据,可以表示为三元形式背景。将形式概念分析应用于RBAC建模时,在满足RBAC的角色层次结构和角色职责分离约束的情况下,三元形式概念分析能够合理表示RBAC访问控制策略,也更具应用前景。

综上所述,本文提出了以下3個问题:如何用三元形式概念分析如何对RBAC进行合理的表示;如何理解和解释三维RBAC矩阵产生的三元层次概念格;这种表示是否遵循策略约束和隐含权限;本文在不改变RBAC三元背景的前提下,通过三元形式概念和三元概念格对RBAC进行建模。

1 相关研究

在一些涉及到形式概念分析的文献中,已经将形式概念分析的二元算法推广到三元形式背景当中。文讨论了三元形式概念分析在在认知系统模型中的应用,文讨论了三元形式概念分析和三元聚类,文使用形式概念分析建模RBAC,并实现了角色层次结构。文提出了一种利用形式概念分析设计RBAC的方法。文提出了基于模糊形式概念分析的模糊角色访问控制模型。这些研究都使用了二元形式概念分析。

2 相关知识

2.1 二元形式概念分析

定义1(形式背景)一个形式背景K:=(G,M,I)是由两个集合G和M以及G与M间的关系J组成。G的元素称为(形式)对象,M的元素称为(形式)属性。(g,m)∈I或glm表示对象g具有属性m。

三元概念格是一种对称结构,其中的对象集,属性集和条件是等价的。一般地,我们将这种结构绘制为三角形图。为方便理解,可为每个外延,内涵和形式绘制完整的概念格。

3 本文提出的方法

为了实现三元形式概念分析对RBAC模型进行表示,利用上面定义的外闭包运算和内闭包运算,给出了将三维访问控制矩阵导出三元概念的方法:

1)确定给定访问策略的角色(R),数据对象(D)和访问权限(P)。

2)将具有角色(R)、数据对象(D)和访问权限(P)的三维访问矩阵构成三元形式背景:看R.D.P:=(R,D,P,I),其中I表示R,D和P的三元关系。

3)对于每个权限集合H∈P,使用内闭包运算φ和φ'计算二元背景(R,D×H,Y3)。

4)使用文中的二元概念生成算法,计算步骤3中生成的背景中的每一个概念。

5)对于每个二元概念,使用外闭包运算ψ和ψ计算包含它的条件集合。

6)形成定义9给出的三元概念。

7)对于所有子条件集合重复步骤5)。

8)若存在多余的三元概念则将其删除。

利用上述方法,我们从三维RBAC矩阵导出三元概念,得到三元形式概念分析的RBAC模型表示。算法上这个过程复杂度为指数阶。为了说明问题,考虑表l所示的RBAC三元背景(R,D,P,Y)。形式背景中包含4个角色,3个数据对象和3个权限。

考虑{i,j,k}={1,2,3},X1=RA3={p1,p2}且Z=|r3}。根据定义8中内导运算可得到φ(Z)=(d2,d3)和φ'φ(Z)=(r2,r3)。此外,由定义7的外导运算可得到,ψ(Z)={(d2,p1),(d3,p1),(d2,p2),(d3,P2),(d2,P3),(d3,p3)}。其中注意到ψ'(ψ(Z))=(r4,r4)。根据定义9可得到三元概念({r3,r4},{d2,d3},{p1,p2,p3})。

4 实验分析

我们以一个医疗系统为例来演示本文给出的三元形式概念分析的设计方法。图1中确定了9个角色分别为:办公室助理(R1),卫生监察员(R2),母婴保育员(R3),护士(R4),治疗师(R5),医生(R6),会计(R7),会计主管(R8)和内部审计师(R9)。图l显示了这个医疗系统网络的角色层次结构。以下是系统中的数据对象:家庭文件夹(D1),母亲营养图(D2),儿童疫苗接种信息(D3),住院病人记录(D4),治疗记录(D5),处方记录(D6),卫生单位业务记录(D7)和总帐(D8)。这些数据对象的访问权限包括:创建(P1),删除(P2),输入/修改(P3),生成(P4)和校验(P5)。

表2给出了根据医疗系统三维访问控制矩阵生成的三元背景。首先,对于每个访问权限,分别使用内闭包运算,然后使用外导运算。三元形式概念分析产生了表3所列出的17个三元概念。正如所讨论的,三元概念的外延,内涵和模式并会形成与二元形式概念分析相同的闭包系统。同样地,我们可以从表3中观察到,例如,三元概念9表明角色及,和R8是其外延,有权限P3访问其内涵即数据对象D1。同一组角色R7和R8是概念10的外延,有权限P4访问数据对象D8

图2给出了表3所示的三元概念中获得的三元概念格的几何结构。图中每个圆点示一个三元概念。这个结构可以通过右侧的外延图,左侧的内涵图和顶部的方式图来理解。在RBAC模型中,角色为外延,数据对象为内涵,访问权限为方式。右侧线图中显示的圆点表示由下方对应该点的对象组成的外延(角色)。即外延从左下到右上增大。同样地,内涵(数据对象)从左上到右下增大。形式(访问权限)从右上方向左下方增大。对于位于图表中心和底部节点之上的圆点,该点具有外延{R2,R3},内涵{D2,D3}在左下方的方式{P3}。

可以觀察到,三元概念格的每一边的概念格是完全格。用户角色之间有权限继承关系,在RBAC中表示角色层次结构。三元概念格右侧的概念格表示RBAC的角色层次结构,这样左下角的角色就可以继承其上面连接的角色的权限。例如,我们观察到R6(医生)具有R5(治疗师)和R4(护士)的访问权限。结果与表2中所示的RBAC访问控制矩阵一致。

在经典的二元形式概念分析中。由二元RBAC形式背景所产生的概念格表示角色和访问权限层次结构。可以导出角色、访问权限和数据对象之间的依赖关系,从而可以控制安全格结构的大小。在角色层次结构中,角色“r”可以从它上面的角色继承角色功能并连接到它。

静态角色责任分离约束(SoD)定义角色,权限或用户之间的互斥关系。基于这种互斥关系强制将用户分配给角色和角色的某些权限赋予条件。因此,相同的用户不会被分配相互冲突的角色,冲突的访问权限也不会被分配给相同的角色。根据该医疗保健网络的SoD约束,互斥角色为:(R3和R8),(R3和R9),(R6和R8),(R6和R9),(R2和R8),(R2和R9)。从图2中显示的三元格结构中,可以注意到冲突角色在层次结构中被分开。我们也可以在图中观察角色层次结构中的角色优先关系。

本文提出的方法有以下优势,首先方法可以从三元背景中获得角色层次和职责分离约束,在表示RBAC时不用将三元背景转换成不同的二元背景。其次,RBAC成员(R,D,P)之间的关系可以通过从它们推导出来的三元概念和条件属性的蕴含来获得,由此产生的三元概念格角色层次结构有助于管理员验证用户角色层次和依赖关系。

5 结论

本文提出的方法将三维RBAC矩阵表示为三元概念格,即可实现角色层次和职责分离。给出了三维RBAC矩阵生成三元概念格的层次解释,从三元背景中推导条件属性含义,证明了RBAC元素之间的依赖关系。方法为使用三元形式概念分析表示RBAC策略提供了理论基础,可以在访问控制系统中得到应用。

猜你喜欢

访问控制
电力通信运维系统中基于用户可信度的访问控制
云的访问控制研究
云计算访问控制技术研究综述
基于分级保护的OA系统应用层访问控制研究
浅谈分层管控建立集团大厦内部网络权限管理
浅析数据库的安全设计与管理
校园网多层次访问控制探析
新时期校园网络安全体系构建的研究与应用
探讨企业如何实行分级授权的管理模式
校园骨干层网络交换机的访问控制技术