遗留系统的角色工程方法研究*
2017-12-13李寒,郑尚,陈峰
李 寒,郑 尚,陈 峰
1.北方工业大学 计算机学院,北京 100144
2.大规模流数据集成与分析技术北京市重点实验室,北京 100144
3.江苏科技大学 计算机科学与工程学院,江苏 镇江 212003
4.德蒙特福德大学 计算机与信息工程学院,英国 莱斯特 LE1 9BH
遗留系统的角色工程方法研究*
李 寒1,2+,郑 尚3,陈 峰4
1.北方工业大学 计算机学院,北京 100144
2.大规模流数据集成与分析技术北京市重点实验室,北京 100144
3.江苏科技大学 计算机科学与工程学院,江苏 镇江 212003
4.德蒙特福德大学 计算机与信息工程学院,英国 莱斯特 LE1 9BH
针对角色工程方法欠缺关注遗留系统的外部行为不变性和易演化性的问题,基于FermaT转换理论和集合理论,提出一种遗留系统的角色工程方法。该方法给出访问控制策略的转换规则,分析转换规则的管理成本,讨论遗留系统角色工程的设计准则,并给出符合设计准则的角色工程方法。案例分析表明,该方法能够在生成角色的同时构造角色层次,与主要的角色挖掘方法相比,角色的粒度更加细化,角色层次完整且不冗余,在产生必要角色的前提下管理开销最低。
遗留系统;角色工程;访问控制策略;转换规则;角色层次
1 引言
随着技术的革新和业务需求的不断变更,越来越多的软件系统成为遗留系统[1]。鉴于修改和替换遗留系统的成本过高,它们在软件系统中始终占据很高比例[2]。访问控制的主要作用是保护未授权信息的非法访问。随着安全技术和业务需求的革新,不适应技术和业务需求的问题在遗留访问控制策略中逐渐突显。
角色工程为定义软件系统角色及相关信息的过程,分为自底向上、自顶向下和混合模式的角色工程[3]。自底向上的角色工程又称角色挖掘,其获取角色等信息的依据是已有的用户和权限。由业务驱动是自顶向下的角色工程的主要特点。混合模式的角色工程则融合了上述两种方法。为了使遗留系统正常运行,遗留访问控制策略要满足外部行为不变的必要条件。同时,由于系统的用户和业务需求具有变化性,良好的演化性也是遗留系统角色工程方法要考虑的因素。演化性指角色及相关信息能够随用户和业务需求而进化的特性。目前,角色工程方法缺乏考虑遗留系统的以上需求,并存在仅研究角色挖掘或角色层次挖掘单一问题的情况。综上所述,本文以遗留系统的需求为依据,探讨遗留系统的角色工程方法,研究转换遗留访问控制策略的方法,目标是在不改变遗留访问控制策略外部行为的条件下,构造必要的角色和角色层次,并使其易于演化。
2 相关工作
角色工程依据系统和用户的需求或实际的用户权限构造角色及角色层次。由于遗留系统的访问控制策略已部署,更适合采用自底向上的角色工程方法。
近年来,在角色挖掘方面已取得一些成果。Kuhlmann等人提出基于聚类和关联规则的角色挖掘方法[4]。该方法研究了简化的ERBAC(enterprise rolebased access control)模型,以关联规则技术为依据为系统构建扁平化的功能角色集,生成组织的候选角色。Vaidya等人提出的角色挖掘方法RoleMiner基于子集枚举方法[5-6]。与文献[4]相比,RoleMiner构建的角色存在重叠权限,与实际情况更相符,但候选角色集仍具有扁平性的特点。采用关联规则技术,Ma等人提出角色挖掘方法WRM(weighted role mining)[7],该方法有效地挖掘用户数较少的必要角色,但对角色的层次关系挖掘不足。Vaidya[8-10]和Lu[11]等人利用矩阵分解的思想将用户和权限之间的映射关系变换成二进制矩阵,并通过矩阵分解挖掘角色,给出多种角色挖掘方法,但上述方法都未探讨角色之间的层次关系。借鉴图论的思想,Zhang等人在图优化的基础上形式化地定义了角色工程,提出了基于图优化的角色挖掘方法[12]。方法的优化准则是权限指派数、用户指派数和角色数之和,挖掘的角色和角色层次的管理成本是优化的。针对复合角色,Li等人提出一种基于权限属性的角色工程方法FMiner[13]。相比其他角色挖掘方法,通过整合RBAC状态与角色的功能特性,该方法能有效减少复合角色的比例,对RBAC进行优化。
角色挖掘的另一个研究内容是角色层次关系的挖掘。Guo等人形式化定义了角色层次挖掘问题,提出解决角色层次构建问题的RH-Builder方法以及RH-Miner方法[14]。基于存在的角色,RH-Builder启发式地生成并优化角色层次。RH-Miner则在已有角色挖掘方法构建的角色的基础上,采用RH-Builder方法挖掘角色层次。针对已部署RBAC的系统,Takabi和Joshi通过引入相似度,提出了一种挖掘优化的角色层次的方法[15]。
综上所述,现有的角色挖掘方法欠缺关注遗留系统外部行为不变性和易演化性,并且存在探讨角色或角色层次单一问题的情况。因此,本文充分考虑遗留系统的上述需求,研究遗留系统的角色工程方法。
3 遗留系统的角色工程方法框架
遗留系统角色工程方法的总体框架包含过程模型以及相关模块,如图1所示,具体描述如下。
Fig.1 Framework of proposed approach图1 方法框架
转换负责依据遗留访问控制策略生成角色和角色层次,输入是遗留访问控制策略,输出是采用RBAC模型组织的访问控制策略。遗留访问控制策略的提取方法已在文献[16]中阐述。
评估负责依据FermaT维护环境的软件度量衡量转换的访问控制策略,作用是判断经转换的访问控制策略是否符合RBAC的必要条件,并对转换结果进行评价,输出是目标访问控制策略。
领域知识库是遗留系统再工程相关知识的集合,是设计和实现转换规则和算法的依据,包括遗留系统需求和访问控制的相关知识。前者包括遗留系统在外部行为不变性、易演化性、成本等方面的需求。后者主要包含访问控制策略的描述模型以及基于角色的访问控制模型的特征。
策略的转换负责定义基于FermaT转换理论的转换规则,并在转换规则的基础上从遗留访问控制策略中挖掘角色与角色层次。FermaT维护环境(FermaT maintenance environment)是一种在工业界应用得较为成熟的软件再工程工具,提供多类(如抽象、重写和切片等)支持遗留系统反向工程、重构的转换规则[17]。除转换规则外,具有良好扩展性的广谱语言(wide spectrum language,WSL)也是FermaT维护环境的基础。
WSL不仅能够从多个层次描述软件,包括可执行语言和程序规约,还支持各个层次之间以及层次内部的转换[18]。转换依据的转换理论指在保证程序的外部行为不变的前提下,将程序结构在层次间和层次内进行转换[19]。以支撑转换访问控制策略为目标,基于WSL的4个基本层次,设计了面向访问控制策略的结构和支持访问控制策略转换的函数[16]。扩展的WSL不仅用于描述遗留访问控制策略,提供的函数还支持转换规则的执行和对转换结果的评估。其中,评估转换结果的函数构成软件度量,包括计算角色数、用户数、权限指派数和用户指派数。文献[16]论述了面向访问控制的FermaT广谱语言WSL及基于扩展的WSL的转换系统。
4 访问控制策略的转换
4.1 转换规则
由于权限的集合体现为角色,方法融合集合理论和转换理论[16],设计支持遗留系统角色挖掘的访问控制策略转换规则。转换规则的定义及对其管理成本的分析分别在4.1节和4.2节阐述。以区别角色拥有的权限的来源为目标,直接权限和间接权限分别被定义为被直接指派给角色和通过角色层次继承的权限。令rolei和useri表示角色和用户,rolei.P表示rolei的权限集合,则转换规则的描述如下。
生成规则:为每一个用户useri生成唯一的角色rolei,并令角色rolei的权限与用户useri的权限完全相同。
归并规则:当两个角色rolei和rolej的权限完全相同时,认为rolei和rolej为同一角色。归并rolei与rolej,删除rolej,i<j,并用rolei替换拥有角色rolej的用户。
分解规则:当两个角色rolej和rolei的权限具有真子集关系时,将rolei的权限分解为rolei.P-rolej.P和rolej.P,并令rolei的直接权限为rolei.P-rolej.P,rj是ri的低级角色。
划分规则:当角色rolei和rolej的权限不相同且存在交集时,其权限的并集被划为3个子集,分别是(rolei.P∪rolej.P)-rolei.P、(rolei.P∪rolej.P)-rolej.P和rolei.P∩rolej.P。前两个权限子集被分别指派给rolej和rolei,权限子集rolei.P∩rolej.P被指派给新角色rolek,并令rolek是rolei和rolej的低级角色。
4.2 转换规则的管理成本分析
角色工程的主要目的是控制管理成本[5]。在遗留系统的角色工程中,由于用户数|U|和权限数|P|均保持不变,管理成本被定义为对于角色、角色层次、权限以及用户的操作数,即访问控制的操作开销[15]。若上述各类操作具有相同的开销,用|R|、|RH|、|UA|和|PA|分别表示角色数、角色层次数、用户指派数和权限指派数,则访问控制的管理成本C表现为C=|UA|+|PA|+|R|+|RH|。下面分析应用各转换规则的管理成本。
(1)生成规则产生|U|个角色,增加|U|次用户指派,并将用户的直接权限指派给相应的角色,且不构建角色层次(|RH|=0)。发现角色是遗留系统角色挖掘的目标,由生成角色而产生的管理成本是必要的[19]。在不考虑角色层次的前提下,用户的直接权限可能互不相同,因此需要增加至少|U|个角色。用户和权限至少被指派给一个角色是RBAC的必要条件,即|UA|≥|U|和|PA|≥|P|。生成规则保持权限指派数不变,用户指派数和角色数均从0个增加|U|个,角色层次数为0,因此生成规则产生的管理成本是必要并且最少的。
(2)归并规则将具有相同权限的角色role1和role2合并,不构建角色层次。假设C1和C2分别为应用规则前后的管理成本,UA1、UA2、PA1和PA2分别为角色role1和role2的用户指派和权限指派,PA1=PA2。应用归并规则前,C1=|UA1|+|UA2|+|PA1|+|PA2|+|R|。应用归并规则后,角色由role1和role2减少为角色role1,即|R|由2减少为1,role1的用户指派数增加至|UA1∪UA2|,权限指派数保持|PA1|不变,即C2=|UA1∪UA2|+|PA1|+|R|=|UA1∪UA2|+|PA1|+1。已知UA1∩UA2=∅,C1=|UA1|+|UA2|+|PA1|+|PA2|+|Role|=|UA1∪UA2|+2|PA1|+2>|UA1∪UA2|+|PA1|+1=C2,因此应用归并规则会降低管理成本。
(3)分解规则拆分权限集含有真子集关系的角色role1和role2,并构建角色层次。假设PA2⊂PA1,分解规则不改变角色数与用户指派数,通过生成新的角色层次将权限指派数减少|PA2|次。应用分解规则前,C1=|UA1|+|UA2|+|PA1|+|PA2|+|R|+|RH|。应用分解规则后,C2=|UA1|+|UA2|+|PA1-PA2|+|PA2|+|R|+|RH|+1=|UA1|+|UA2|+|PA1|-|PA2|+|PA2|+|R|+|RH|+1=|UA1|+|UA2|+|PA1|+|R|+|RH|+1。由于|PA2|≥1,C1=|UA1|+|UA2|+|PA1|+|PA2|+|R|+|RH|≥|UA1|+|UA2|+|PA1|+|R|+|RH|+1=C2,因此应用分解规则不会提高管理成本。
(4)划分规则拆分权限集存在交集的角色对,构建角色和角色层次。假设PA1∩PA2≠∅,划分规则的用户指派数不改变,生成1个新角色以及2个相关的角色层次,权限指派数降低|PA1∩PA2|次。应用划分规则前,C1=|UA1|+|UA2|+|PA1|+|PA2|+|R|+|RH|。应用划分后,C2=|UA1|+|UA2|+|PA1|+|PA2|-|PA1∩PA2|+(|R|+1)+(|RH|+2)=|UA1|+|UA2|+|PA1|+|PA2|+|R|+|RH|+3-|PA1∩PA2|。令C1=|UA1|+|UA2|+|PA1|+|PA2|+|RH|≥|UA1|+|UA2|+|PA1|+|PA2|+|RH|+3-|PA1∩PA2|=C2,则|PA1∩PA2|>2。若角色权限交集的基大于2,不增加管理成本,且交集的基越大,管理成本的下降幅度越大。当权限交集的基为1或2时,管理成本增加2或1。因此,角色间权限交集的基越大,应用划分规则的管理成本降低越显著。当权限交集的基小于等于2时,管理成本至多提高2。
4.3 转换算法
4.3.1 转换算法的设计准则
遗留系统角色工程的标准各不相同,如用户指派数最少,角色层次最少,授权和角色最少等[8-9,12]。在挖掘遗留系统的角色及角色层次的过程中,发现和构造新角色的需求并存。针对角色的发现,管理成本是重要准则[6]。针对新角色的构造,不仅要控制管理成本,还要兼顾角色层次的细化程度,以适应可能的角色构造。因此,除了控制角色数、授权数等管理成本外,要考虑的因素还包括易于演化以及构建必要的角色层次。易于演化指构造尽可能细化的角色以提高构造新角色的灵活性,构建必要的角色层次指生成的角色层次要完全覆盖角色间的层次关系,并不具有冗余信息。下面详细分析遗留系统的角色工程需求,定义设计准则。
(1)研究对象:已指派给用户的角色是遗留系统角色工程的研究范畴,具有存在可能性但尚未被指派的角色则不予考虑。因此,遗留系统中已部署的访问控制策略是方法的研究对象。
(2)角色的粒度:原子角色为被直接指派给角色的权限。若将用户之间的最小公共权限集构建成原子角色,在构建新角色时,可以通过组合原子角色的替代定义新角色,即通过控制角色的粒度,使访问控制策略易于演化。运用划分规则能够发现原子角色,因此划分规则是必要的。由于遗留系统的角色最直接的体现为被指派的权限集,应优先运用不改变已部署权限集的转换规则[19],再通过划分规则改变角色的粒度。
(3)成本控制:生成规则的管理成本必要且最少;归并规则和分解规则的管理成本不提高;划分规则构建角色和角色层次的过程存在使管理成本上升的情况。因此,生成规则、归并规则和分解规则应优先于划分规则使用,且需要控制划分规则的使用。
(4)完整性:指当两个角色被指派的权限集具有真子集关系时,该角色对之间必定存在层次关系。
(5)不冗余性:指两个角色之间的直接角色层次和间接角色层次不同时存在。但基于完整性的要求,允许间接层次关系共存。
4.3.2 转换算法的流程
依据4.3.1小节定义的设计准则,提出遗留访问控制策略的转换算法,由两部分构成,分别负责挖掘初始角色以及角色和角色层次[19]。
初始角色被定义为通过聚集已部署的访问控制策略而发现的角色,是转换算法的基础。图2所示为初始角色的挖掘流程,仅运用了生成规则和归并规则,文献[16]定义了出现的符号。
Fig.2 Process of initial role mining图2 初始角色的挖掘流程
Fig.3 Process of role hierarchy mining图3 角色及其层次关系的挖掘流程
图3所示为依据初始角色挖掘角色和角色层次的流程,包含挖掘初始角色的层次和运用分解规则和划分规则挖掘角色和角色层次两个环节。在第一环节(步骤1~10),因为权限指派最多的角色不会成为低级角色,选择其作为基础角色,对比非相同层次路径的角色,构建新层次关系,并剔除冗余的层次关系。在第二环节(步骤11~13),划分规则用于发现原子角色,能够使权限指派不重叠。分解规则用于维护由新角色产生的角色层次关系。由于新角色不以高级角色的形式存在,与其相关的层次关系中无冗余信息。
算法的第一部分是基础,管理成本必要且最低。因此,性能分析将从角色层次和成本控制两方面展开。
(1)角色层次
在完整性方面,角色的层次关系是通过4个阶段构造的,如图3所示。第一阶段是步骤7,基于分解规则对比任意一组角色发现层次关系。由于归并规则产生的低级角色的直接权限是其高级角色的直接权限的真子集,同级的低级角色间无重叠权限,不存在角色层次关系。第二阶段是步骤10,通过对比同级的任意一组角色维护层次关系。第三阶段是步骤11,基于划分规则对比任意一组角色构建角色的层次关系。第四阶段是步骤12,基于分解规则对比新角色和其他角色维护层次关系。由于4个阶段的对比均基于穷举法,若角色对的权限指派有真子集关系,则角色对之间存在直接或间接角色层次,即角色的层次关系具有完整性。
在不冗余性方面,分为3个阶段。第一阶段是步骤7,由于同级的低级角色间无重叠权限,无直接和间接层次关系并存的情况。第二阶段是步骤10,由于角色层次的变更会造成冗余,该步骤在确保完整性的前提下,通过删除冗余的直接层次关系维持角色层次的不冗余性。第三阶段是步骤11和12,由于构造的新角色不作为高级角色,与其他角色之间的层次关系不存在直接和间接层次关系并存的情况。因此,构建的角色层次关系具有不冗余性。
(2)成本控制
在用户指派方面,已存在的用户指派不会由于方法的执行发生变化,每个用户都具有唯一的用户指派,新角色的权限指派通过角色之间的层次关系继承而来。对于遗留系统来说,直接的用户指派是唯一的,体现为企业层次的角色,间接的用户指派可能有多个,体现为业务层次的角色。每个用户至少存在一次用户指派是基于角色的访问控制的必要条件(|UA|≥|U|)。本文方法生成的角色具有|U|次用户指派,不仅满足RBAC的必要条件,而且用户指派数最少。
在权限指派方面,方法应用归并规则和划分规则产生的直接权限指派不重叠,且直接权限指派是唯一的。每个权限至少存在一次权限指派是基于角色的访问控制的必要条件(|PA|≥|P|)。本文方法生成的权限指派数为|P|,不仅满足RBAC的必要条件,且权限指派数最少。
在角色方面,以控制角色的粒度为依据,由划分规则产生的角色是必要的。
在角色层次方面,令RH和RH′分别为方法生成的以及与其拥有相同传递闭包的角色层次关系[19],rolei≥rolej表示rolej是rolei的低级角色,且RH中存在rolei≥rolej,但RH′中不存在rolei≥rolej。在RH与RH′的传递闭包相同的前提下,RH′中有至少一个角色的间接层次关系rolei≥role1≥role2≥…≥rolek-1≥rolek≥rolej不在RH中。假设rolei≥role1≥role2≥…≥rolek-1≥rolek≥rolej中存在的不属于RH的层次关系为roles≥rolet,则层次关系roles≥role1′≥role2′≥…≥rolek-1′≥rolek′≥rolet属于RH。依据传递闭包的性质,层次关系rolei≥role1≥role2≥…≥roles≥role1′≥role2′≥ … ≥rolek-1′≥rolek′≥rolet≥ … ≥rolek-1≥rolek≥rolej属于RH。鉴于角色层次关系的不冗余性,该角色层次与rolei≥rolej不同时存在,则RH和RH′均包含rolei≥rolej。若RH和RH′相同,RH是层次关系中最优的。若RH和RH′不相同,由于存在|RH|<|RH′|,则RH是优化的。因此,方法构建的层次关系具有最少的管理开销。
由于遗留系统的访问控制策略已部署,用户和权限数已确定,权限指派、用户指派、角色和角色层次成为影响管理成本的要素。由上述分析可知,方法构建的角色是必要的,且采用了最少的用户指派、权限指派和最优的角色层次。
5 案例分析
本文选择某物流管理系统(logistics management system,LMS)[20]的早期版本为案例,对提出的遗留系统的角色工程方法进行可行性和有效性验证。
5.1 角色工程方法
在由LMS提取的遗留访问控制策略集(含30个用户对象和6个数据对象)[16]上应用遗留访问控制策略的转换算法,表1所示为构造的初始角色的信息。
Table 1 Information of initial roles表1 初始角色的信息
以初始角色为依据,遗留访问控制策略的转换算法应用分解规则构建初始角色之间的层次关系,如图4(a)所示。括号中的数据是角色的直接权限指派数和角色的权限指派总数的比值,角色的权限指派总数是角色的直接权限指派数和间接权限指派数之和。
不位于同一角色层次路径的角色的权限集不具有真子集关系,无需维护初始角色之间的层次关系。在图4(a)所示的角色及层次关系上应用划分规则和分解规则。由于role1和role2的相交权限集的基为5,应用划分规则生成角色role31,其直接权限指派数为5,产生的角色和角色层次如图4(b)所示。若角色集{role1,role2,role3,role6,role16,role31}仍存在具有权限交集的角色对,继续应用划分规则和分解规则。图4(c)所示为构造的最终角色和角色层次,表2为构造的最终角色的信息。
5.2 结果分析
本文方法从遗留访问控制策略中挖掘7个角色,初始角色数和新角色数分别为5和2。各角色通过直接权限指派和间接权限指派获取权限,且允许直接权限指派数为0。此时,角色的权限是由间接权限指派产生的,即高级角色的权限是由低级角色继承而来的。
Fig.4 Constructed roles and role hierarchy图4 构造的角色及角色层次
表2所示为最终角色的信息,经统计权限指派数和用户指派数分别为29和30。由此可知,方法通过直接指派的方式建立起29个权限与最终角色之间不重叠的直接映射关系,且用户指派也具有不重叠性。即权限与角色、用户与角色之间的直接映射关系都是唯一的,权限指派数和用户指派数均必要且最少,产生最低的管理成本。
Table 2 Information of final roles表2 最终角色的信息
方法构建的新角色role31和role32不与用户存在直接映射关系,用户由高级角色的直接用户指派间接继承产生。两个新角色的直接权限集在系统中具有一定的通用性。所有用户均能访问直接指派给role32的权限集,即role32为公共角色。在实施访问控制时,为了控制管理成本,无须限制用户对公共角色的权限集的访问。
将评估函数[16]应用于转换后的访问控制策略。由统计结果可知,用户数不发生改变,角色由无到有,角色数为7。方法达到了使用角色重组遗留系统访问控制策略的目标,通过降低授权主体的数量,控制管理开销。所有用户和权限均具有唯一的直接指派,符合基于角色的访问控制的必要条件。
将基于集合理论的角色工程方法RoleMiner[5]和RH-Builder[14]相结合同样能够挖掘角色及角色层次(简称组合方法)。由于组合方法的挖掘结果还具有全局角色和相关的角色层次,其构造的角色集更大,角色层次更多,存在权限重复指派的情况。
在RoleMiner的案例上应用组合方法和本文方法,pi为权限,初始角色的角色集为{(p1,p2,p4),(p2,p3,p4),(p2,p3),(p4)},组合方法和本文方法的结果如图5(a)和图5(b)所示。组合方法生成7个角色和8个角色层次,包含1个全局角色和2个与全局角色相关的角色层次。本文方法产生角色数和角色层次数更少,均为5,具有更低的管理开销。
Fig.5 Comparison of results of combined approach and proposed approach图5 组合方法和本文方法的结果对比
表3所示为主要的角色挖掘方法和本文方法的特点。
Table 3 Characteristics of primary related approaches表3 主要的角色挖掘方法的特点
分析表3可知,本文方法的特点包括:第一,能够同时生成角色及其层次关系,且角色层次具有完整性和不冗余性。第二,产生的直接权限指派和直接用户指派均不重叠,在权限指派和用户指派方面的管理开销最低。第三,将多用户的公共权限集作为角色,并以细化角色的粒度作为算法的设计准则,构建的角色符合实际且具有演化灵活性。第四,在细化角色粒度的前提下,方法挖掘的角色是必要的,且具有最低的管理成本。
6 结束语
针对目前角色工程方法欠缺考虑遗留系统外部行为不变性和易演化性等需求的问题,提出了一种遗留系统的角色工程方法。方法融合FermaT转换理论和集合理论,提出转换访问控制策略的规则,分析规则的管理成本,给出转换算法的设计准则,提出转换算法,并分析算法性能。案例分析验证了方法的可行性和有效性,其能够由遗留访问控制策略挖掘角色及角色层次,角色的挖掘过程中访问控制策略的外部行为保持不变,通过细化角色的粒度产生必要的角色,角色层次具有完整性、不冗余性,且在挖掘必要角色的前提下管理开销最低。
[1]Miguel A L,Yania C.A systematic mapping study on software product line evolution:from legacy system reengineering to product line refactoring[J].Science of Computer Programming,2013,78(8):1010-1034.
[2]Richard W,Lindsey S,John H,et al.A methodology and heuristics for re-architecting a legacy system[C]//Proceedings of the 9th Annual IEEE International Systems Conference,Vancouver,Canada,Apr 13-16,2015.Piscataway,USA:IEEE,2015:382-389.
[3]Frank M,Buhmann J M,Basin D.On the definition of role mining[C]//Proceedings of the 15th ACM Symposium on Access Control Models and Technologies,Pittsburgh,USA,Jun 9-11,2010.New York:ACM,2010:35-44.
[4]Kuhlmann M,Shohat D,Schimpf G.Role mining-revealing business roles for security administration using data mining technology[C]//Proceedings of the 8th ACM Symposium on Access Control Models and Technologies,Villa Gallia,Italy,Jun 2-3,2003.New York:ACM,2003:179-186.
[5]Vaidya J,Atluri V,Warner J,et al.Role engineering via prioritized subset enumeration[J].IEEE Transactions on Dependable and Security Computing,2010,7(3):300-314.
[6]Vaidya J,Atluri V,Warner J.RoleMiner:mining roles using subset enumeration[C]//Proceedings of the 13th Conference on Computer and Communication Security,Alexandria,USA,Oct 30-Nov 3,2006.New York:ACM,2006:144-153.
[7]Ma Xiaopu,Li Ruixuan,Lu Zhengding.Role mining based on weights[C]//Proceedings of the 15th ACM Symposium on Access Control Models and Technologies,Pittsburgh,USA,Jun 9-11,2010.New York:ACM,2010:65-74.
[8]Vaidya J,Atluri V,Guo Qi.The role mining problem:finding a minimal descriptive set of roles[C]//Proceedings of the 12th ACM Symposium on Access Control Models and Technologies,Antipolis,France,Jun 20-22,2007.New York:ACM,2007:175-184.
[9]Vaidya J,Atluri V,Guo Q,et al.Edge-RMP:minimizing administrative assignments for role-based access control[J].Journal of Computer Security,2009,17(2):211-235.
[10]Lu Haibing,Vaidya J,Atluri V.An optimization framework for role mining[J].Journal of Computer Security,2014,22(1):1-31.
[11]Lu Haibing,Jaideep V,Atluri V.Optimal boolean matrix decomposition:application to role engineering[C]//Proceedings of the 24th International Conference on Data Engineering,Cancun,Maxico,Apr 7-12,2008.Washington:IEEE Computer Society,2008:297-306.
[12]Zhang Dana,Ramamohanarao K,Versteeg S,et al.Graph based strategies to role engineering[C]//Proceedings of the 6th Annual Cyber Security and Information Intelligence Research Workshop:Cyber Security and Information Intelligence Challenges and Strategies,Oak Ridge,USA,Apr 21-23,2010.New York:ACM,2010:25.
[13]Li Ruixuan,Wang Wei,Ma Xiaopu,et al.Mining roles using attributes of permissions[J].International Journal of Innovative Computing,Information and Control,2012,8(11):7909-7924.
[14]Guo Qi,Vaidya J,Atluri V.The role hierarchy mining problem:discovery of optimal role hierarchies[C]//Proceedings of the 24th Annual Computer Security Applications Conference,Anaheim,USA,Dec 8-12,2008.Washington:IEEE Computer Society,2008:237-246.
[15]Takabi H,Joshi J B D.An efficient similarity-based approach for optimal mining of role hierarchy[C]//Proceedings of the 15th ACM Symposium on Access Control Models and Technologies,Pittsburgh,USA,Jun 9-11,2010.New York:ACM,2010:55-64.
[16]Li Han,Yang Hongji,Chen Feng,et al.Feasibility study of software reengineering towards role-based access control[J].International Journal of Computer Applications in Technology,2011,42(2/3):239-251.
[17]Chen Feng,Ladkau M,Li S,et al.FermaT integrated platform(FIP)development strategy[R].Leicester:De Montfort University,2005.
[18]Ward M.WSL programmer's reference manual[R].Leicester:De Montfort University,2002.
[19]Li Han.Research on several issues of legacy system reengineering[D].Dalian:Dalian University of Technology,2013.
[20]Deng Huifang,Deng Wen,Li Han,et al.Authentication and access control in a RFID based logistics-customs clearance service platform[J].International Journal of Automation and Computing,2010,7(2):180-189.
附中文参考文献:
[19]李寒.遗留系统再工程的若干问题研究[D].大连:大连理工大学,2013.
Research on Role Engineering of Legacy System*
LI Han1,2+,ZHENG Shang3,CHEN Feng4
1.College of Computer Science,North China University of Technology,Beijing 100144,China
2.Beijing Key Laboratory on Integration andAnalysis of Large-Scale Stream Data,Beijing 100144,China
3.School of Computer Science and Engineering,Jiangsu University of Science and Technology,Zhenjiang,Jiangsu 212003,China
4.School of Computer Science and Informatics,De Montfort University,Leicester LE1 9BH,UK
2016-09,Accepted 2016-11.
To solve the problem of lack of consideration of remaining the external behavior of legacy system and making legacy access control policies easy to be evolved,this paper proposes a role engineering approach for legacy system based on FermaT transformation theory and set theory.The approach defines a set of transformation rules for access control policies,analyzes the management cost of transformation rules,gives the design criteria of role engineering of legacy system,and presents a transformation method based on the design criteria.A case study demon-strates that the proposed approach is feasible.Compared with other primary role mining approaches,the constructed roles are ease to be evolved.The role hierarchy is complete and irredundant.The approach is with the lowest cost in the condition of constructing necessary roles.
legacy system;role engineering;access control policy;transformation rules;role hierarchy
+Corresponding author:E-mail:lihan@ncut.edu.cn
10.3778/j.issn.1673-9418.1609027
*The General Program of Science and Technology Development Project of Beijing Municipal Education Commission under Grant No.KM2015_10009007(北京市教委科技计划面上项目);the Scientific Research Foundation of North China University of Technology(北方工业大学科研启动基金);the Scientific Research Foundation for the Talent Introduction of Jiangsu University of Science and Technology under Grant No.1132921504(江苏科技大学引进人才科研启动基金).
CNKI网络优先出版:2016-11-25,http://www.cnki.net/kcms/detail/11.5602.TP.20161125.1530.004.html
LI Han,ZHENG Shang,CHEN Feng.Research on role engineering of legacy system.Journal of Frontiers of Computer Science and Technology,2017,11(12):1931-1940.
A
TP311.5
LI Han was born in 1981.She received the Ph.D.degree in computer software and theory from Dalian University of Technology in 2013.Now she is a lecturer at North China University of Technology,and the member of CCF.Her research interests include software evolution and cloud computing,etc.
李寒(1981—),女,辽宁沈阳人,2013年于大连理工大学获得工学博士学位,现为北方工业大学讲师,CCF会员,主要研究领域为软件演化,云计算等。
ZHENG Shang was born in 1983.He received the Ph.D.degree in software engineering from De Montfort University in 2013.Now he is a lecturer at Jiangsu University of Science and Technology,and the member of CCF.His research interests include software evolution,Internet computing and big data,etc.
郑尚(1983—),男,吉林大安人,2013年于英国德蒙特福德大学获得工学博士学位,现为江苏科技大学讲师,CCF会员,主要研究领域为软件演化,网络计算,大数据等。
CHEN Feng was born in 1969.He received the Ph.D.degree in software engineering from De Montfort University in 2007.Now he is a research fellow and Ph.D.supervisor at De Montfort University,UK.His research interests include software evolution and software architecture,etc.
陈峰(1969—),男,辽宁大连人,2007年于英国德蒙特福德大学获得工学博士学位,现为英国德蒙特福德大学研究员,主要研究领域为软件演化,软件体系结构等。