论文部分内容阅读
摘 要:通过研究传统角色访问控制策略核心思想,分析其特点与不足,提出一种基于神经网络的角色层次访问控制方法。这种方法采用了结合神经网络的样本训练机制以及对角色之间的层次关系进行改进,来实现对用户的复杂权限进行合理的控制。该方法在实际的信息系统软件开发中得到应用。
关键词:角色;权限;角色层次;人工神经网络
中图分类号:TP183 文献标识码:A
A Study on the Role Hierarchy Access Control based on Neural Network
LIU-Lijuan,GUO-Shanshan,ZHENG-Fengbin,LIU-Dingyi
(Department of Computer Science and Engineering,HeNan University,Henan Kaifeng 475004)
Key words: role;access right;role hierarchy;artificial neural network
1 传统角色访问控制思想
目前的访问控制管理大致上可以分为两类:系统级的安全管理,例如操作系统级的安全管理,数据库级的安全管理等;另一种是应用级的安全管理,该部分权限的控制主要取决于具体的系统[2]。在应用级的安全管理方面,目前的研究很受关注,比较成熟的是RBAC96(Role based Access Contro1)模型。它是美国NIST(National Institute of Standards and Technology 于20世纪90年代初提出的一种新的访问控制技术。其核心思想是:①在用户(User)和权限(Permission)之间引入角色(Role)的概念,把对用户的授权分成两部分,用角色来充当用户行使权限的中介(如图1示)。
这样,用户与角色之间以及角色与权限之间就形成了两个多对多的关系。一个用户可以是很多角色的成员,一个角色也可以有多个用户。同样地,一个角色可以有多个权限,而一个权限也可以重复配置于多个角色。②引入了角色之间的继承关系。当一个角色R1继承另一个角色R2时,R2就自动拥有了R1的访问权限。角色继承关系自然地反映了一个组织内部的权利和责任关系。③引入角色之间、用户角色之间、角色权限之间约束关系。如角色互斥、前提角色、前提权限等 。基于角色的策略由于其实现了用户与权限的逻辑分离,极大地简化了权限管理。目前的应用系统多采用这种权限分配方法。但是我们发现这种方法有以下几点不足之处:①大量的查表操作。对一个大型的信息系统,用户、角色、和权限数量众多,如果针对用户每一步操作都要进行与访问控制相关的查表操作,会影响系统的性能[3]。②产生大量冗余角色。这种方法将一个逻辑上统一的、属于同一角色的权限分离开来,使得许多角色成为不完整的角色,只是为了继承而存在,没有实际的物理意义[7]。③私有角色的继承关系复杂,用其描述复杂的角色层次关系的情况比较困难。
针对上述三点,本文提出一种改进方法:在角色设计和权限分配中,融合了扩充角色层次关系和人工神经网络的思想,来实现对系统的访问控制,避免了大量的冗余角色的产生和重复的查表操作,同时明确了角色的权限和提高系统访问效率。
2 改进的角色层次控制策略
用户、角色、权限为这个方法的三个组成部分,分别用下列三个集合来表示:Uers={u1,u2,…,un}表示用户集合;Permission={p1,p2,…,pn} 表示权限集合;Roles={r1,r2,…,rn}表示角色集合;
为了实现角色权限的部分继承,我们将角色所拥有的权限划分为公共权限和私有权限两种.
令CP:Roles→2Permission,CP(r)为角色r所拥有的公共权限集合。令PP:Roles→2Permission,PP(r)为角色r所拥有的私有权限集合。
因此采用一般继承和扩展继承两种继承机制来实现角色对公共权限和私有权限的继承。从而得到两个角色之间的层次关系:
①r1→r2表示角色r2一般继承r1。意为如果r1→r2,那么对
于AP∈CP(r1),有P∈CP(r2)。②r1·→r2表示角色r2扩展继承角色r1。意为如果r1·→r2,那么对于AP∈CP(r1),有P∈CP(r2),对于AP∈PP(r1),就有P∈PP(r2)
现在用图2来直观说明这种角色层次关系,用单线箭头表示角色之间的一般继承关系,用虚线箭头表示角色之间的扩展继承关系,其中箭头从被继承角色指向继承角色。通过这两种角色的层次关系,我们可得到一个判定一个角色拥有权限的方法,即查找角色自身和所有被其一般继承(扩展继承)的角色是否有这个权限公共权限(私有权限)。而且区分公共权限和私有权限还进一步达到最少权限的原则,使得对于每一个角色,只需将它完成任务所必须的权限配置给它,防止用户滥用职权,减少用户由于疏忽而可能对系统造成的危害。
3 基于神经网络的角色层次访问控制策略
3.1基于神经网络的角色层次访问控制策略
利用角色分层的算法思想分析系统中角色与权限的关系和角色之间的层次关系,再结合多级网络有导师训练算法――两层的层叠前后传算法,来选取合适层次角色/权限向量作为训练人工神经网络的输入/输出样本。输入向量与输出向量构成训练对,在输入层和输出层都采用逻辑斯特函数作为激活函数,以训练相应的人工神经网络。过程实现流程图为图3所示:
3.2应用实例
在国家某论证中心的信息系统中,我们采用这种方法,其一个子模块的角色层次关系如图2所示。①此模块共有7个角色,用7位的二进制串来记录用户所拥有的角色。二进制串的某一位为1时表示拥有此角色,为0时表示没有此角色。如:用户U同时拥有角色4角色5则其角色编码为0001100。②此系统中角色之间权限的继承根据他们之间层次的关系来获取。如:角色2一般继承角色1的权限,角色4扩展继承了角色2的权限。假定权限集体中有11条权限,用11字符构成的字符串来表示一个角色的权限值,字符串的某一位为0时表示角色不具有这一权限,为1时表示这一权限为角色的公有权限,为2则表示此权限为角色的私有权限。这七个角色拥有的权限见表1。利用表1的数据源作为输入/输出量,训练人工神经网络。
完成人工神经网络训练后,假若有3个用户,他们分别拥有不同的角色:
U1 :{角色3},{0010000}
U2 :{角色1,角色5,角色7}, {1000101}
U3 :{角色2,角色6},{0100010}
把这三个用户的角色编码作为训练所得神经网络输入向量,分别算出相应的输出向量,其输出值见表2。此处只为了验证算法思想,采用的用户,角色,权限的数量少。但是在国家某论证中心的信息系统开发中,由于此系统的用户、角色、及权限关系复杂,在训练人工神经网络合适的训练样本,其效果与试验的结果相一致。
4 结束语
提出的基于角色层次和人工神经网络的访问控制方法具有如下几个特征:(1)减少冗余角色的产生(2)减少了大量查表操作 。此方法方便了管理员对于权限操作的管理,提高了用户对系统访问的效率,从而优化了整个系统的性能。由于组织与系统结构的复杂化必然导致用户安全需求的复杂化,安全操作系统的发展将开始支持多种安全策略的动态灵活性。这将促进与安全策略无关的访问控制技术的研究,其中包括基于角色访问控制的进一步研究和发展。
参考文献:
[1]栗松涛,李春文,孙政顺.一种新的B/S系统权限控制方法[J].计算机工程与应用,2002(1).
[2]赵宝献,秦小麟.数据库访问控制研究综述[J].计算机科学,2005.32(1).
[3]王琨,丁振国,周利华.一种高效的基于角色的访问控制方法[J].2007(2).
[4]傅国强,陈志锆.层次化动态权限控制模型的设计和实现[J].计算机工程与设计,2007(2).
[5]赵亮,茅兵,谢立.访问控件综述[J].计算机工程,2004(1):1-3.
[6]马骏.C#网络应用高级编程[M].人民邮电出版社.
[7]钟华,冯玉琳,姜洪安.扩充角色层次关系模型及其应用[J].软件学报,2000,11(6).
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文
关键词:角色;权限;角色层次;人工神经网络
中图分类号:TP183 文献标识码:A
A Study on the Role Hierarchy Access Control based on Neural Network
LIU-Lijuan,GUO-Shanshan,ZHENG-Fengbin,LIU-Dingyi
(Department of Computer Science and Engineering,HeNan University,Henan Kaifeng 475004)
Key words: role;access right;role hierarchy;artificial neural network
1 传统角色访问控制思想
目前的访问控制管理大致上可以分为两类:系统级的安全管理,例如操作系统级的安全管理,数据库级的安全管理等;另一种是应用级的安全管理,该部分权限的控制主要取决于具体的系统[2]。在应用级的安全管理方面,目前的研究很受关注,比较成熟的是RBAC96(Role based Access Contro1)模型。它是美国NIST(National Institute of Standards and Technology 于20世纪90年代初提出的一种新的访问控制技术。其核心思想是:①在用户(User)和权限(Permission)之间引入角色(Role)的概念,把对用户的授权分成两部分,用角色来充当用户行使权限的中介(如图1示)。
这样,用户与角色之间以及角色与权限之间就形成了两个多对多的关系。一个用户可以是很多角色的成员,一个角色也可以有多个用户。同样地,一个角色可以有多个权限,而一个权限也可以重复配置于多个角色。②引入了角色之间的继承关系。当一个角色R1继承另一个角色R2时,R2就自动拥有了R1的访问权限。角色继承关系自然地反映了一个组织内部的权利和责任关系。③引入角色之间、用户角色之间、角色权限之间约束关系。如角色互斥、前提角色、前提权限等 。基于角色的策略由于其实现了用户与权限的逻辑分离,极大地简化了权限管理。目前的应用系统多采用这种权限分配方法。但是我们发现这种方法有以下几点不足之处:①大量的查表操作。对一个大型的信息系统,用户、角色、和权限数量众多,如果针对用户每一步操作都要进行与访问控制相关的查表操作,会影响系统的性能[3]。②产生大量冗余角色。这种方法将一个逻辑上统一的、属于同一角色的权限分离开来,使得许多角色成为不完整的角色,只是为了继承而存在,没有实际的物理意义[7]。③私有角色的继承关系复杂,用其描述复杂的角色层次关系的情况比较困难。
针对上述三点,本文提出一种改进方法:在角色设计和权限分配中,融合了扩充角色层次关系和人工神经网络的思想,来实现对系统的访问控制,避免了大量的冗余角色的产生和重复的查表操作,同时明确了角色的权限和提高系统访问效率。
2 改进的角色层次控制策略
用户、角色、权限为这个方法的三个组成部分,分别用下列三个集合来表示:Uers={u1,u2,…,un}表示用户集合;Permission={p1,p2,…,pn} 表示权限集合;Roles={r1,r2,…,rn}表示角色集合;
为了实现角色权限的部分继承,我们将角色所拥有的权限划分为公共权限和私有权限两种.
令CP:Roles→2Permission,CP(r)为角色r所拥有的公共权限集合。令PP:Roles→2Permission,PP(r)为角色r所拥有的私有权限集合。
因此采用一般继承和扩展继承两种继承机制来实现角色对公共权限和私有权限的继承。从而得到两个角色之间的层次关系:
①r1→r2表示角色r2一般继承r1。意为如果r1→r2,那么对
于AP∈CP(r1),有P∈CP(r2)。②r1·→r2表示角色r2扩展继承角色r1。意为如果r1·→r2,那么对于AP∈CP(r1),有P∈CP(r2),对于AP∈PP(r1),就有P∈PP(r2)
现在用图2来直观说明这种角色层次关系,用单线箭头表示角色之间的一般继承关系,用虚线箭头表示角色之间的扩展继承关系,其中箭头从被继承角色指向继承角色。通过这两种角色的层次关系,我们可得到一个判定一个角色拥有权限的方法,即查找角色自身和所有被其一般继承(扩展继承)的角色是否有这个权限公共权限(私有权限)。而且区分公共权限和私有权限还进一步达到最少权限的原则,使得对于每一个角色,只需将它完成任务所必须的权限配置给它,防止用户滥用职权,减少用户由于疏忽而可能对系统造成的危害。
3 基于神经网络的角色层次访问控制策略
3.1基于神经网络的角色层次访问控制策略
利用角色分层的算法思想分析系统中角色与权限的关系和角色之间的层次关系,再结合多级网络有导师训练算法――两层的层叠前后传算法,来选取合适层次角色/权限向量作为训练人工神经网络的输入/输出样本。输入向量与输出向量构成训练对,在输入层和输出层都采用逻辑斯特函数作为激活函数,以训练相应的人工神经网络。过程实现流程图为图3所示:
3.2应用实例
在国家某论证中心的信息系统中,我们采用这种方法,其一个子模块的角色层次关系如图2所示。①此模块共有7个角色,用7位的二进制串来记录用户所拥有的角色。二进制串的某一位为1时表示拥有此角色,为0时表示没有此角色。如:用户U同时拥有角色4角色5则其角色编码为0001100。②此系统中角色之间权限的继承根据他们之间层次的关系来获取。如:角色2一般继承角色1的权限,角色4扩展继承了角色2的权限。假定权限集体中有11条权限,用11字符构成的字符串来表示一个角色的权限值,字符串的某一位为0时表示角色不具有这一权限,为1时表示这一权限为角色的公有权限,为2则表示此权限为角色的私有权限。这七个角色拥有的权限见表1。利用表1的数据源作为输入/输出量,训练人工神经网络。
完成人工神经网络训练后,假若有3个用户,他们分别拥有不同的角色:
U1 :{角色3},{0010000}
U2 :{角色1,角色5,角色7}, {1000101}
U3 :{角色2,角色6},{0100010}
把这三个用户的角色编码作为训练所得神经网络输入向量,分别算出相应的输出向量,其输出值见表2。此处只为了验证算法思想,采用的用户,角色,权限的数量少。但是在国家某论证中心的信息系统开发中,由于此系统的用户、角色、及权限关系复杂,在训练人工神经网络合适的训练样本,其效果与试验的结果相一致。
4 结束语
提出的基于角色层次和人工神经网络的访问控制方法具有如下几个特征:(1)减少冗余角色的产生(2)减少了大量查表操作 。此方法方便了管理员对于权限操作的管理,提高了用户对系统访问的效率,从而优化了整个系统的性能。由于组织与系统结构的复杂化必然导致用户安全需求的复杂化,安全操作系统的发展将开始支持多种安全策略的动态灵活性。这将促进与安全策略无关的访问控制技术的研究,其中包括基于角色访问控制的进一步研究和发展。
参考文献:
[1]栗松涛,李春文,孙政顺.一种新的B/S系统权限控制方法[J].计算机工程与应用,2002(1).
[2]赵宝献,秦小麟.数据库访问控制研究综述[J].计算机科学,2005.32(1).
[3]王琨,丁振国,周利华.一种高效的基于角色的访问控制方法[J].2007(2).
[4]傅国强,陈志锆.层次化动态权限控制模型的设计和实现[J].计算机工程与设计,2007(2).
[5]赵亮,茅兵,谢立.访问控件综述[J].计算机工程,2004(1):1-3.
[6]马骏.C#网络应用高级编程[M].人民邮电出版社.
[7]钟华,冯玉琳,姜洪安.扩充角色层次关系模型及其应用[J].软件学报,2000,11(6).
注:本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文