ABAC模型授权撤销机制研究
2019-12-24张豫宁
◆张豫宁
ABAC模型授权撤销机制研究
◆张豫宁
(解放军信息工程大学 河南 450001)
云计算等新型计算模式的出现推动了互联网的进步,也给访问控制模型的研究提出了新的挑战。本文介绍了基于属性的访问控制模型,并同RBAC模型进行了比较。结合已有的相关研究,就基于属性的访问控制中的授权撤销问题进行分析。
访问控制;ABAC;属性;授权;委托;撤销
访问控制技术是确保计算系统安全的核心技术之一。现有自主访问控制模型(DAC)、强制访问控制模型(MAC)、基于角色的访问控制模型(RBAC)、基于任务的访问控制模型、与时空相关的访问控制模型、基于属性的访问控制模型(ABAC)等访问控制模型。其中尤以RBAC在工业、学术界得到最广泛的使用及研究。但RBAC在灵活性、细粒度、多因素、动态变化和上下文敏感的环境、匿名授权方面存在局限,在新的复杂网络环境和应用需求下这种矛盾比较突出。针对这些局限,普遍的两种方案就是通过扩展的RBAC模型或ABAC模型来解决。这两种方案各有其拥护者,有文献也对这两种方案进行了比较研究。如何判定并授予权限是所有访问控制机制的核心问题。随着新的业务及管理需要的产生,主体的权限会发生变化,可能需要增加新的权限,已过时的权限也应该被去除。而实际上对陈旧过时的权限进行撤销的工作往往容易被管理者忽视,从而导致潜在的安全隐患。本文以ABAC模型作为研究对象,并与RBAC模型进行比较分析。首先对ABAC模型及相关概念做阐述,对ABAC模型的主要研究方向进行简要说明。接下来再对权限撤销研究工作进行总结分析的基础上,研究分析ABAC中授权撤销的特点和问题,并以实例的形式进行说明。
1 ABAC模型概念及相关研究
ABAC使用实体属性这个核心概念对主体、客体、权限及授权约束进行统一描述,能够灵活地表达细粒度、复杂的访问授权和访问控制策略,从而增强访问控制系统的灵活性和可扩展性。在ABAC中,并不关心或必须知道访问者是谁,只需知道访问者具有哪些属性,这使得ABAC具有足够的灵活性和可扩展性,同时使得安全的匿名访问成为可能[1]。ABAC中的主体、客体、环境、权限都可以作为策略的核心因素,如果将传统访问控制中的身份、角色以及资源安全等级等信息抽象化为实体属性,ABAC则能够实现传统访问控制模型的访问控制功能。同其他的访问控制模型一样,ABAC也要考虑访问控制策略、描述语言、实现机制、一致性、安全性等问题。
基于属性的访问控制具有动态性、粗细粒度可调节、灵活性等优点,能够很好适应开放式的网络环境。ABAC能够在主体请求访问时,根据请求者的属性、对象属性、环境以及用这些属性和条件描述的策略集做出访问控制决策,使得访问控制可以十分精确。使用基于属性的访问控制机制,通过简单地改变属性值就可能改变访问决策,而不需要改变规则中的主客体关系。这提供了更加动态的访问控制管理能力。此外,与RBAC中在访问请求到来之前就必须提前设定好角色以及与角色关联的权限不同,ABAC不需要在有访问请求之前就将对象和对象操作直接分配给请求主体或者是角色,对象所有者或者管理员不需要在应用访问控制策略之前提前获知可能发起访问请求的主体情况。当有新的主体(用户)加入组织时,规则和对象都不需要修改。只要给主体分配了必要的属性,该主体就可以访问被请求的对象,不需要修改已有的规则及其对象属性。这个优点是使用ABAC的主要好处之一,使之非常适合在异构网络或不同系统之间存在交互需求的场景下使用。
与在构建以角色为中心的RBAC模型时首先要进行角色构建相似,为了构建安全的以属性为中心的ABAC模型,首先需要从海量的类型各异的主客体中挖掘出独立、完备的主体属性、客体属性、权限属性和环境属性集合,并构建这些属性同相关实体之间的关联关系[2]。当获得属性集合后,需要对属性与权限之间的对应关系进行分析。传统的访问控制机制大多通过专家分析企业的业务流程,抽象并完成属性-权限的分配关系。自动化的属性-权限关联关系发现方法是需要研究解决的重要问题。当获取独立完备的属性集合以及属性-权限对应关系后,需要利用这些信息对访问控制策略进行形式化描述。设计复杂度较低且具有丰富表达能力的访问控制描述语言可以保证ABAC系统高效准确运行。此外,访问控制中的多域合作机制、身份认证机制,权限实时更新机制等也是目前ABAC中较为重要的研究点。
2 权限撤销研究及特点
在访问控制机制运行中,当安全策略发生变化时,需要撤销与最新安全策略相冲突的已授出权限,即授权撤销。系统安全策略的动态性需要良好的授权撤销机制的支持。授权撤销的相关研究有两个方向:授权撤销的机制和具体撤销算法。常见的撤销机制有直接撤销,完全撤销和即时撤销。直接撤销通过修改主体、客体的安全属性直接体现安全策略的变化。完全撤销指当某一主体所拥有的权限被撤销时,从该主体转授出去的所有权限都将被撤销,而避免撤销不够彻底而导致的权限泄漏问题。即时撤销针对正在进行的操作,当安全策略发生变化时,如果对该操作授予的权限和当前安全策略不一致,当前的操作就要被终止,授权也被撤销。
授权撤销可以从四个维度上进行分类,即依赖性、传播性、恢复弹性、统治力[3]。
依赖性:是否只有直接授权用户才可以撤销被授权用户的相应权限。
传播性:这个维度上分为本地撤销和全局撤销。本地撤销是指仅对直接委托关系适用,而全局撤销不但对被撤销的用户(主体)生效还包括接受其授权的所有用户(主体)。
恢复弹性:区分撤销的效果,撤销后是否容易恢复。有两种撤销行为,一是仅去除权限,其他主体还可以再为之进行授权;二是给予否定授权。否定授权具有更高优先级,除非否定授权被撤销,否则不会再被授权。
统治力:除显式撤销外,是否撤销隐式的权限。分别对应弱撤销和强撤销。
文献[4]提出了一种高效的权限撤销机制,该机制的核心思想是:一方面通过对权限添加有效性、时效性域,并在系统调用之前对其进行检查,控制权限的迁移;另一方面通过链表的双向检索来提高即时撤销的效率。文献[5]在分析以往权限撤销相关研究的基础上,讨论了安全操作系统中的安全属性即时撤销问题,提出一种高效率的权限撤销机制,解决进程权限的即时撤销问题。文献[6]用传播树和异常表的办法处理权限的即时撤销和完全撤销问题。文献[7]根据同一任务的转授关系构建转授权树,通过限定授权步数和遍历转授权树解决循环授权问题,支持用户撤销和系统自动撤销。文献[8,9]讨论了基于角色的访问控制RBAC中的转授权撤销问题,将其分为由系统条件自动触发的系统撤销和用户撤销两种。文献[10]提出了基于角色的委托模型RDM2000。支持角色的层次关系与多步转授权,并从角色授予依赖、角色层次和撤销强度三个方面对转授权撤销方法进行了探索。文献[11]强调角色委托时的时限性,将转授权撤销分为基于时限限制的转授权撤销和用户主动地转授权撤销。文献[12]提出了基于属性的扩展委托模型(ABDMA),定义了用户委托撤销类型,让委托者自己撤销委托出去的角色,并在模型中引入了自动撤销机制,提出了由委托有效时间区间、用户先决角色变化、用户属性表达式变化和委托角色属性表达式变化引起的4种自动委托撤销,还讨论了自动撤销的系统开销和自动撤销引起的多步委托安全性问题。文献[13]讨论了重复角色转授权和部分角色转授权的问题,并将转授权角色撤销分为四类:由委托者发起的撤销、由角色拥有者发起的撤销、由撤销触发机制发起的系统自动撤销、系统管理员进行的撤销。文献[14]提出了基于欧拉图的授权路径构建算法与转授权路径遍历回收方法,通过有目的的授权路径构建,简化转授权路径遍历过程,解决转授权路径遍历不完全导致的授权撤销不完整问题,防止权限扩散并消除隐性授权冲突。已有研究对基于角色的授权撤销研究的较多,针对基于属性的访问控制权限撤销研究的较少。下文对基于属性的授权撤销进行分析,并给出权限撤销的方法实例。
3 基于属性的授权撤销
在ABAC中如果要检查用户权限关系,需要全部列举出用户属性及所有的相关属性,使用用户和对象属性值等实例化所有的规则[15]。因此使用ABAC模型分析策略、审查或者更改用户权限是非常麻烦的任务。同样的,要撤销实体属性的权限也要比RBAC为代表的传统访问模型复杂得多。
RBAC中复杂的角色继承关系是造成权限撤销难题的主要因素,在ABAC中同样也存在由于属性关系导致的复杂的权限撤销问题。ABAC中各种属性及复杂的访问控制策略也给权限撤销问题带来诸多挑战。RBAC中角色是核心,所以无论是权限授予还是权限撤销,重点是围绕角色这一核心进行分析处理。在基于属性的访问控制中,由于属性的多样性,属性变化引发的权限变动问题相比RBAC更加复杂。授权撤销不够彻底导致权限泄漏会威胁系统的安全性。此外,如果撤销权限时有部分应有的权限被不当的收回,也会对系统的使用和合理运行造成影响。
基于属性的访问控制中,从效果上来看,权限撤销可以是由于属性变化导致的系统自动授权变更或强制授权撤销。而强制撤销可以通过修改属性值或者添加否定授权策略的方法实现,把撤销操作转变为授权过程来实现权限撤销的目的。借鉴文献[16]对ABAC模型的形式化定义,下面用实例的形式对撤销方法进行说明。
假设有用户A=
策略1:
主体属性sattr1=a1的用户对客体属性oattr1=c1的客体,在环境属性eattr1=e1的条件下,具有操作pattr1权限。即<< sattr1=a1>,
策略2:
主体属性sattr2=b2的用户对客体属性oattr1=c1的客体,在环境属性eattr2= e2的条件下,具有操作pattr1权限。即<< sattr2=b2>,
(1)基于属性的强制授权撤销(不考虑委托授权的情况)
结合这两个策略可以看到,两个不同属性的用户在不同的环境属性条件下都可能获得相同的客体访问权限。假设当前环境属性eattr1=e1,eattr2= e2,则因为用户 A匹配策略1,用户B匹配策略1和2,因此他们都获得了对属性oattr1=c1的客体的pattr1权限。如果这时要求强制撤销所有用户属性sattr1值为a1的用户权限,由于用户A和B都匹配这个属性值,所以他们的权限都要被撤销。为实现这一点,可以采用两种方式。一种是修改用户的属性值,比如将所有用户属性sattr1=a1的用户的属性sattr1修改成其他值。但在本实例中,用户B的该权限除了由于属性sattr1匹配策略1得到之外,也通过匹配策略2获得了该权限。因此,通过这个方法不能完全覆盖所有相关用户。另一种方法是添加否定授权策略实现,即增加一条策略3<
如果通过属性值变更的方式,将用户属性原来的a1改为a2,不再符合策略1的条件,由不匹配策略2,这时A的授权就发生了变化,用户A在环境属性eattr1=e1的条件下对属性oattr1=c1的客体资源具有的pattr1权限被撤销。用户B的权限未未到影响。
(2)基于属性的委托授权的权限撤销
支持委托授权的访问控制模型允许主体将自己的全部或部分权限转授给其他的主体,使得接受授权的主体也拥有了相应权限。在之前的举例中,用户A的主体属性sattr1= a1,符合策略1的条件,允许访问客体属性oattr1=c1的资源。现用户A将其基于属性sattr1的对该资源的访问权限转授给了用户C,则C也将被允许访问该资源,C=<(a1,a2),b2>。相当于将用户A的属性sattr1投射到用户C上,以后C的sattr1属性将跟随A的变化而变化(这里假设不存在策略冲突问题)。当用户A的sattr1属性值发生改变不能满足授权策略1时,用户C通过A获得的对资源的访问权也要同时被撤销。此时C恢复到接受委托之前的状态C=
4 结论
基于属性的委托授权具有细粒度、灵活性好等特点,授权过程比较复杂,在权限撤销方面也有其特殊性。本文介绍了ABAC模型和授权撤销机制,针对ABAC的特点对ABAC的授权撤销问题进行了分析,并且进行了实例说明。
[1]李晓峰,冯登国,陈朝武,房子河.基于属性的访问控制模型[J].通信学报,2008.
[2]房梁,殷丽华,郭云川,方滨兴.基于属性的访问控制关键技术研究综述[J].计算机学报,2017.
[3]H Wang,J Cao,Y Zhang. Delegating revocations and authorizations in collaborative business environments[J].Information Systems Frontier,2009.
[4]王涛,曾庆凯.动态安全策略的权限撤销研究[J].计算机应用,2009.
[5]单智勇,孙玉芳.安全操作系统安全属性即时撤销研究[J].计算机研究与发展,2002.
[6]Gong L.A secure identity based capability system[A].Proceedings of the 1989 IEEE Symposium on Security and Privacy[C].Washington DC:IEEE Computer Society,1989.
[7]钟卫,舒坚,杨丰玉,刘琳岚.基于授权步数和角色差度的转授权模型[J].计算机工程,2010.
[8]Sandhu R,Coyne E J,Feinstein H L,Youman C E.Role based access control models[J].IEEE Computer,1996.
[9]Barka E S.Framework for role based delegation models[D].Virginia:George Mason University School of Information Technology and Engineering,2002.
[10]Zhang Long—hurt,Alan Gail—Joon,Chu Bei—tseng.A rule based framework for role based delegation and revocation[J].ACM Transactions on Infonmtion and System Security,2008.
[11]孙波,赵庆松,孙玉芳.TRDM——具有时限的基于角色的转授权模型[J].计算机研究与发展,2004.
[12]叶春晓,符云清,李响.基于属性委托模型中的自动委托撤销[J].同济大学学报(自然科学版),2010.
[14]李赤松,李战春,江敏.基于欧拉图的授权扩散拓扑构建与授权撤销[J].小型微型计算机系统,2012.
[15]李赤松.访问控制中授权一致性问题的研究[D].华中科技大学,2012.
[16]于芳芳.基于属性的权限访问控制研究与应用[D].河北工业大学,2014.
[17]李赤松,李战春,江敏.基于欧拉图的授权扩散拓扑构建与授权撤销[J].小型微型计算机系统,2012.