R2BAC基于风险的多自治域安全互操作模型.doc_第1页
R2BAC基于风险的多自治域安全互操作模型.doc_第2页
R2BAC基于风险的多自治域安全互操作模型.doc_第3页
R2BAC基于风险的多自治域安全互操作模型.doc_第4页
R2BAC基于风险的多自治域安全互操作模型.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10期李瑞轩等:R2BAC:基于风险的多自治域安全互操作模型69R2BAC:基于风险的多自治域安全互操作模型李瑞轩,胡劲纬,唐卓,卢正鼎(华中科技大学 计算机科学与技术学院,湖北 武汉 430074)摘 要:在基于角色访问控制模型的基础上,提出了一种基于风险的多自治域安全互操作模型R2BAC。R2BAC采用了灵活的互操作关系建立机制,无需第三方实体的参与。将建立互操作问题转换为优化问题,在保证安全性的前提下取得理想的互操作能力。尽管分布式环境中自治域可随时加入和离开,R2BAC保证了互操作关系的创建与撤消能适应这种动态性。R2BAC引进了风险管理机制,提供了细粒度的授权控制;具有实时监控用户行为、调整用户权限的能力。关键词:访问控制;风险;多自治域;安全互操作中图分类号:TP393 文献标识码:A 文章编号:1000-436X(2008)10-0058-12R2BAC:a risk-based multi-domain secure interoperation modelLI Rui-xuan, HU Jin-wei, TANG Zhuo, LU Zheng-ding(College of Computer Science and Technology, Huazhong University of Science and Technology, Wuhan 430074, China)Abstract: R2BAC, a risk enabled rolebased model for multi-domain secure interoperation, was proposed to adapt to the dynamics of distributed environments. R2BAC employs a flexible mechanism to establish interoperation between domains, eliminating the need of a trusted third-party. It translates the problem of interoperation establishment into an optimality problem, thus achieving optimal interoperability on the premise of domains security. The creation and abolishment of interoperation relationships in R2BAC are in accord with the dynamics of distributed environments, where domains join and leave in an ad hoc manner. Furthermore, R2BAC incorporates risk management methods, leading to at least two advantages. First, a fine-grained authorization mechanism is enabled; second, it is possible to monitor users behaviors and adjust their permission sets in a real time manner.Key words: access control; risk; multi-domain; secure interoperation1 引言收稿日期:2008-06-21;修回日期:2008-09-21基金项目:国家自然科学基金资助项目(60403027, 60773191, 60873225);国家高技术研究发展计划(“863”计划)基金资助项目(2007AA01Z403)Foundation Items: The National Natural Science Foundation of China (60403027, 60773191, 60873225); The National High Technology Research and Development Program of China (863 Program) (2007AA01Z403)随着Internet及相关技术的发展,分布式环境下跨多自治域的信息共享与访问已经成为可能。将这种跨自治域的信息共享与访问称为多自治域互操作,简称为多域互操作。多域互操作提供了一种分布式的资源共享方式,从而提高了资源的利用率。正确合理地使用资源的前提是防止非法访问资源,也即是安全互操作。然而,分布式环境是复杂多变的,表现在以下几方面: 自治域可以随时加入或者离开互操作环境,这要求互操作建立机制能够适应这种动态性。 在分布式环境中,用户的行为具有很强的不确定性。即使具有同一属性集的用户,在访问资源时,也可能表现出与其属性集不一致的行为1,2,对自治域构成截然不同的威胁。因而互操作模型必须能够处理这种动态性。 各自治域拥有自身的访问控制策略,如何在这些访问控制策略的基础上提供分布式环境下的多域安全互操作是一个重要的研究问题。近年来该问题得到了越来越多的关注,也取得了许多新的进展。各自治域的访问控制策略主要基于3类模型:自主访问控制(DAC)模型、强制访问控制(MAC)模型和基于角色的访问控制(RBAC)模型。已有不少工作者在上述3类模型基础上,提出了各自的多域安全互操作模型。但是,由于DAC和MAC模型不能适应分布式环境的动态性等特点,不适合作为多域安全互操作的基础。同时,因为RBAC可以模拟MAC策略和DAC策略3,研究基于RBAC的分布式访问控制模型就具有代表性。基于RBAC的多域安全互操作模型主要依靠域间角色映射,其基本思想是:根据一定的假设或者条件,将域A的角色rA映射给域B角色rB,从而使得域B中拥有角色rB的用户在访问域A时便可以具有角色rA;在完成角色映射之后,进行相应的冲突检测及消解,以保证自治域的安全性。由于RBAC模型的广泛应用,解决RBAC环境下多自治域安全互操作问题具有理论和现实双重意义。尽管已经存在许多基于RBAC的多域安全互操作模型,但是下面几个问题一直以来并没有得到很好的解决。首先,在保证自治域的安全性的前提下,如何获得较优的域间互操作能力仍不清楚。将域间角色映射问题转换为一个已知的NP完全问题,不仅证明了建立域间角色映射的复杂度,而且也说明了已经存在的各种优化方法可以应用于角色映射。其次,考虑到分布式环境的动态性,单纯地依靠整合各自治域的RBAC策略难以很好地解决多域安全互操作问题。分布式环境的动态性主要体现在以下几个方面:1) 自治域可以随时加入或者离开互操作环境。这要求角色映射的建立不依靠第三方的存在;并且互操作建立机制能够高效地处理域加入和离开带来的各种问题。例如域离开时,相关自治域安全策略的恢复。文中提出的R2BAC模型可以支持拟进行互操作的2个自治域独立地建立域间角色映射;并且针对任何2个不同的互操作建立请求,R2BAC在建立域间角色映射时所添加的策略彼此是不相关的,故而在域离开时,仅需将之前添加的内容删除以撤消互操作。2) 自治域中用户身份难以判定,用户的行为存在较大差异。来自于同一个域具有相同角色的不同用户,在进行跨域访问时,其行为存在差异,部分用户会按照任务需求执行权限;而另一部分用户则可能滥用权限。因此,不能完全依据用户在其所属域的角色和角色映射对用户的跨域访问请求做出访问控制决策。对此,将风险(risk)的概念引入安全互操作模型,根据用户行为实时地评估用户的风险,从而调整用户的权限,以防止其恶意行为。3) 某些应用要求某些信息能够迅速分发共享。基于RBAC的角色映射方式难以满足多域环境动态性的要求。这种需求可能是随机出现的、短暂的,并且可能涉及域中的各种资源,而角色映射则是根据应用的业务逻辑而确定的,相对是固定的、长期有效的。R2BAC模型允许自治域管理员调整风险设置,并同时为权限和用户设置风险值,从而可在角色映射的基础上灵活地调整用户权限,以支持信息的快速分发与共享。在RBAC模型的基础上,将风险的概念引入多自治域访问控制,提出一种基于风险的多域安全互操作模型R2BAC。与现有工作相比,R2BAC更加灵活,更加适合分布式环境。论文的章节安排如下:第2节介绍相关工作;第3节和第4节详细介绍R2BAC模型;第5节给出了一个应用实例;第6节是结束语。2 相关工作2.1 多自治域安全互操作模型Gong等人4在自主访问控制模型的基础上定义了多自治域互操作,并分析了在保证安全性的前提下获得最优互操作计算复杂度,提出了多域互操作关系的树形和星形拓扑组合式建立框架。Dawson等人5讨论了在保护域的安全性前提下建立异构系统互操作的可行性等问题。Bonatti等人6提出了基于多级安全的互操作模型。上述工作对多自治域访问控制问题进行了深入研究,并在其所依赖的基础上一定程度地支持了跨域访问,是基于DAC和MAC的跨域访问控制模型的经典代表。但是,正如第1节所述DAC和MAC模型不能适应多域环境的动态性等特点,难以成为多域安全互操作的基础。Kapadia等人7提出使用动态角色转换支持基于RBAC环境的安全互访,分析了引入角色转换之后可能出现的安全漏洞以及授权冲突,但对安全性和角色转换未有形式化的分析,更未提及文中所考虑的问题。Shafiq等人8提出了一套集中式的建立多域互操作关系框架。该框架能够集成多域环境中的异构的RBAC安全策略,以达到管理跨域资源和信息共享的目的。集成过程主要由2步组成: 收集各域的安全策略以实现全局的统一安全策略; 使用优化理论,消解全局安全策略中的各种冲突。文章以互操作能力作为优化目标、不引起安全冲突和限定的自治性等为约束,将多域安全互操作问题形式化为一个优化问题。该框架较为深入地研究了基于RBAC的多域安全互操作问题。但是,它依靠第三方实体收集各自治域的访问控制策略,为整个自治域建立策略映射;并需要修改各自治域的RBAC策略中的角色层次树。这两方面的不足限制了该框架的实用性和应用领域表现在以下几方面。 互操作的建立必须通过第三方实体,这不适应于分布式环境中自治域可以随时加入或者离开的特点; 各自治域无法管理由第三方建立的域间角色映射,而且框架中各域难以根据用户的行为控制其权限; 角色层次树是根据自治域的组织结构建立的,因互操作而改变的角色层次树不再对应于自治域的组织结构,这使得RBAC模型的优点大大丧失。Shehab等人9,10提出了分布式环境中基于RBAC的多域访问控制框架,该框架不依靠第三方实体建立安全策略映射且不需要全局安全策略的视图,能够使得各域依据用户的访问历史记录在本地即可做出访问控制决策。然而该框架假设域间角色映射已经建立,并未考虑如何建立域间角色映射过程中出现的问题,例如如何建立互操作关系等问题。此外,尽管该框架面向分布式环境,但其并未处理分布式环境的动态性所导致的问题,如用户行为的变化以及信息的快速分发共享。Hu等人11给出了在基本角色映射基础上着重解决多域互操作情况下保持职责分离约束一致性的问题。Joshi等人在RBAC模型的基础上,分别研究了在使用XML、考虑时间因素以及存在混合角色层次树时的多自治域安全互操作问题1214。但这些工作均未考虑如何获取较优的互操作能力以及如何应对分布式环境的动态性。廖俊国等人15对动态角色转换违背静态互斥角色约束的各种情形进行了详细分析,对动态角色转换是否会违背静态互斥角色约束提供了一种判定方法并给出了相应的算法,提出了使用先决条件来加强IRBAC2000模型安全性的保护机制。但是,文章对多自治域互操作方法本身并无明显改进。此外,一些研究人员在RBAC的基础上,提出适合特定应用的访问控制模型。孙为群等人16针对服务网格环境提出了一种基于角色代理的访问控制模型,实现了网格虚拟组织中细粒度授权。邢光林等人17提出了一种基于角色的工作流授权模型。Li等人在角色映射的基础上,提出了虚拟组织环境中的安全协作框架18。这些工作说明了域间角色映射的实用性。2.2 风险在访问控制模型中的应用近年来,国内外许多学者对风险在访问控制中的应用进行了研究。Dimmock等人19将信任及风险扩展到OASIS系统20及其RBAC模型,以期获得进行不确定性推理及管理风险的能力。此外,Dimmock等人21在经济学中不确定决策理论的基础上定义了风险和一个基于信任的访问控制模型。Dimmock等人所使用的风险与文中的风险有2个不同之处。 Dimmock等人的工作主要集中于单个自治域中的风险评估及应用,而文中则是使用风险支持多自治域安全互操作。 Dimmock等人主要将风险用于对访问控制决策时系统环境的描述,而文中通过用户的行为及其所请求的权限定义风险,访问控制决策根据自治域的风险设置及用户的风险制定。Hussain等人22将风险与分布式通讯如电子商务、服务计算等中的可信通讯相结合,提出了风险预警器的概念及其设计,给出了风险级别的定义并阐述了如何使用这些风险度量。虽然文章给出了基本的风险级别定义以及风险度量,但并未给出形式化定义,也不适于多自治域环境。在效用(utility)概念的基础上,Lin等人23指出分布式系统中的安全机制,如授权决策,对系统的效用有着直接的影响。为在兼顾系统安全性的前提下达到效用最大化,Lin等人借用信任模型将风险管理与风险相结合,提出了基于信任的风险管理安全模型,该模型不仅依据信任判别恶意实体,而且根据风险级别给实体授权。Zhang等人24提出了一种均衡信息共享风险与收益的访问控制(BARAC, benefit and risk access control)模型。该模型将风险和收益向量与事务的读写操作关联起来,引入了事务图(transactions graph)的概念,概念图描绘了系统所允许的事务以及信息流,整个系统必须使得收益多于风险,而且事务图必须是最优的。上述工作主要目的是在取得系统安全与效用之间的平衡,与文中的多域安全互操作的目标不同。Chapin等人25将风险引入信任管理系统,为信任管理系统中的授权评估风险,重点处理了证书可信度的差异及由此造成的影响,而未考虑由用户行为带来的动态性。Cheng等人26在多级安全(MLS, multi-level security)访问控制模型的基础上提出了风险自适应访问控制模型。同时,结合MLS模型,文中给出了计算风险的评估函数。然而,由于其依靠于MLS模型,该模型不能很好地满足多域安全互操作的要求。 其风险评估函数仅仅考虑了系统资源的价值以及信息泄漏的可能性。但是,在多自治域环境下,用户的行为存在差异性,因此在计算风险时,应该将用户的因素考虑在内。 一个自治域针对不同的域,可能有着截然不同的风险敏感程度。因此,多自治域安全互操作模型应该能够使自治域可以调节自身的风险敏感程度。尽管上述工作都将风险与访问控制关联起来,提供了更加灵活的模型。但是,这些模型的原始想法并非出于多自治域环境,因而也难以满足多自治域安全互操作的要求。同样,传统信息系统的风险评估方法27,28难以适用于开放环境下的多域安全互操作。3 R2BAC模型中的域间角色映射3.1 域间角色映射的建立目前的多自治域安全互操作大多以基于角色的访问控制(RBAC)模型为基础,通过域间角色映射机制建立跨域的互操作。在RBAC模型和域间角色映射机制的基础上,将风险(risk)引入多自治域访问控制中,建立基于风险的多域安全互操作,形成基于角色和风险的访问控制模型R2BAC。R2BAC模型的工作流程如图1所示,其中域X和域Y为分布式环境中任意2个不同的自治域,域X中的用户需要访问域Y。首先,域Y为跨域访问做好准备工作,即定义共享函数以及风险相关的函数;之后,根据应用需求,域X制定角色映射建立请求,并向域Y发出请求;在收到请求后,域Y根据共享函数、建立请求和安全策略计算角色映射集合,并将其返回域X;此后,域X的用户u即可请求访问域Y;域Y验证用户u的身份后授予其角色;于是,u可以执行其具有的角色所关联的权限;在u执行权限后,域Y对u的行为进行评估,以调整与u相关的风险以及其所具有的角色,从而适应分布式环境的动态性。本节将讨论如何建立域间角色映射,在第4节将讨论风险在R2BAC中的作用。下面给出建立过程的形式化描述。假设自治域均采用RBAC96模型29,表示为一个八元组(U, R, P, S, URA, PRA, RH, CON)。其中, U为用户集合; R为角色集合; P为权限集合;其中OBJ表示客体集合,ACC表示客体的访问模式集合; S为会话集合; URA为用户角色关系; PRA为角色权限关系; RH是角色集合上的一个偏序关系,表示权限和用户在角色之间的继承关系;若(r1,r2) RH,则PermSet(r2)PermSet(r1),UserSet(r1) UserSet(r2),其中,PermSet(r)=pP|(r,p) PRA,UserSet(r) uU|(u,r) URA;记RH的自反与传递闭包为RH*,使用表示;并定义。有时称RH*为角色层次树。 CON为SMER约束集合;其中一个SMER约束c=,1|t|n,表示一个用户不能够被授予r1,r2,rn中的t个或更多角色。假设整个多自治域环境中的自治域构成集合D=X, Y, 。使用自治域的标志符作为域RBAC96安全策略组成元素的角标,以区分不同自治域的集合、关系和函数。例如,RX表示为域X的角色集合,而PY为域Y的权限集合。不失一般性,以图1中的域X和域Y之间建立域间角色映射的过程为代表进行讨论。下面给出映射建立过程的形式化描述。映射建立请求request表示为二元组d, request-list,其中dD,request-list PowerSet(RX PowerSet(PY)。根据业务需求,域Y通过共享函数share(Y)指定域X可以访问的资源。函数 share(Y): DPowerSet(PY)。函数share:D(D PowerSet(P)为D中每一个自治域指定共享函数。假设,域Y收到请求X,r1,RPS1, rk,RPSk。令shareseti = share(Y)(X)RPSi。记域X到域Y的角色映射的集合为RMY(X)。RMY(X)可定义如下。图1 R2BAC模型工作流程其中,riRX,rRY。假设角色映射,则任何具有角色ri的用户在域Y可拥有角色r。即,UserSet(ri) UserSet(r)。显然,资源的共享程度是衡量一个多自治域访问控制模型优劣的一个主要指标。图1步骤(4)中角色映射集合RMY(X)是资源共享程度的一个决定因素。可以粗略地认为资源共享程度与|PermRoleSet (RMY(X)|成正比关系。下一节将研究如何取得更好的资源共享程度。3.2 基于域间角色映射的最大互操作性通过3.1节所述方式,自治域环境D中的各个域之间可以建立角色映射,从而不同域的用户可以跨域访问。然而,单纯依靠这种方式建立的映射可能给自治域带来安全隐患。例如,假设域Y中存在一个约束c= CONY,且RMY(X)=EngineerAuditManager, Programmer ExecuteManager;若uUX:(u, Engineer) URAX(u, Programmer) URAX,则违反了域Y中的约束c,即破坏了域Y的安全性。定义表示域Y中映射给域X的角色。令 。为了描述角色映射可能导致的安全隐患,下面定义域间角色映射的可满足性。定义1 (域间角色映射的可满足性)对于域Y和域X,若下式成立则称域间角色映射集合RMY(X)是可满足的。显然,存在一个多项式算法可以检测RMY(X)是否是可满足的。当RMY(X)不可满足时,一个很自然的想法就是找到RMY(X)的一个可满足子集,并且这个子集应该是可以容许最大的互操作性。定义2 (互操作性)对于可满足的集合 ,若下式成立则称Q1的互操作性不小于Q2的互操作性。定义3 (最大互操作性)对于集合 ,若Q是可满足的,且对于任意可满足的集合满足:Q的互操作性不小于Q的互操作性,那么,称Q具有最大互操作性。下面证明当RMY(X)不可满足时,找RMY(X)的具有最大互操作性的子集是一个NP完全问题。引理1 对于任意正整数,检测是否存在一个可满足的集合Q满足且是NP完全问题。证明:一个不确定图灵机能够猜测一个集合Q,并在多项式时间内检测其可满足性,因此,该问题是一个NP问题。为证明本问题是一个NP完全问题,下面讨论如何将一个NP完全问题回馈顶点集合(FVS,feedback vertex set)问题约简为本问题的一个子类。回馈顶点集合问题:给定一个有向图G=(V,A)以及一个正整数K|V|,是否存在一个集合满足|V|K且V至少包含了图G中每一条边的一个顶点?首先,假设CONY中的约束c皆为t-t约束,即具有形式:。如图2所示,约简过程如下所述。给定一个有向图G=(V,A),将V中每一个节点对应集合中的一个角色,即。对于G中任意一个环r1r2rpr1,相应构造一个约束c=。图2 约简实例接下来证明:V是FVS问题的满足条件|V|K的一个解,当且仅当,是一个可满足的集合,满足且。若V是G的关于FVS问题的一个解,那么且|V|K。令Q=VV以及G=(Q,A),其中。对于G中每一个环,V至少含有该环的一个节点。因而,G是一个无环图。因此,Q是一个可满足集合。而且,由于,|Q|=|VV|=|V|-|V|V|-K成立。另一方面,若Q是一个可满足的集合,那么G是一个无环图,即V=VQ必然含有G中的每一个环的至少一个节点。同理,由于及,下式成立|V|=|VQ|=|V|-|Q|V|-(|V|- K)=K。因而,V是G的FVS问题的一个解。证毕。定理1 对于任意正整数 ,检测是否存在一个可满足的集合Q满足且是NP完全问题。证明:证明该问题的一个子类等价于引理1中的问题。假设,对于任意角色,有;对于且,有。那么,易知,对于任意,。此即是引理1中所讨论的问题。证毕。由于域Y中的任意一个t-m约束可以转换为一个t-t约束集合30,而且寻找具有最大互操作性的可满足角色映射集合可以转换为一个FVS问题,那么R2BAC可以使用已经存在的各种优化方法解决该问题,请参见文献30。由于篇幅所限,将不讨论该问题的算法,在进一步的研究中,将研究特定的优化算法以寻找最大互操作性的可满足角色映射集合,文中只假设该集合为。3.3 域间角色映射的冲突问题尽管集合中的角色映射不会违反域Y的SMER约束集合,但是当多个域间互操作出现时,仍然可能破坏域Y的安全性7,11。R2BAC引进了作者以前工作11中提出的域间链接规则机制,保证了域Y的安全性。读者可参考文献11,不再赘述。现有工作8在建立域间角色映射时,采取了分裂角色和修改角色层次树的方法,以取得最大互操作性。然而,在分布式环境下,这种方法导致了以下不足11,以至于R2BAC放弃了使用分裂角色和修改角色层次树的方法。1)角色层次树一定程度上反映了自治域的组织结构,这也是RBAC模型的最重要的特点之一。若因互操作而造成角色层次树与自治域组织结构不一致,将使RBAC模型的实用性大大降低。2) 在文献8中,角色可能被多次分裂且有许多新的角色被创建。随着自治域的互操作关系增多,其角色层次树将变得复杂并难以理解。这将导致难以管理和维护的安全策略。此外,一个因之前互操作时创建的角色,可能在之后的互操作时分裂。不同互操作之间彼此关联,成为了大规模多域互操作的障碍。3) 在创建角色时,同样需要创建新的SMER约束以规范这些角色的使用。在考虑已有的SMER约束和角色层次树的情况下,新建SMER约束本身是一个十分复杂的问题31。4) 两个域之间的互操作关系可能只是短暂的。当互操作关系结束时,相关自治域应该能够将安全策略恢复到互操作关系建立之前的状态。若依靠分裂角色和修改角色层次树,恢复工作将相当复杂,包括合并已分裂的角色、删除多余的角色和角色层次树、重新调整SMER约束。此外,有些因互操作而创建的角色无法删除,因为不同互操作之间彼此可能存在关联。在R2BAC模型中,所创建的角色映射只关联到已经存在的角色,不修改角色层次树,不同互操作关系之间彼此独立。R2BAC模型的上述优点是以无法保证完全共享所请求的权限为代价的。然而,这些优点是RBAC模型广受欢迎的重要原因,不可因互操作而放弃。因此,R2BAC使用了上述方法。就SMER约束而言,R2BAC不创建新的SMER约束,而只是生成所谓的域间链接规则11,以防止涉及多域的约束冲突。因此,R2BAC不会引起上述问题。4 R2BAC模型中的风险管理4.1 风险的引入通过第3.1节建立的域间角色映射,域X的用户可以访问域Y。在分布式环境中,假设域Y无法获得其他域(包括域X)的用户标识。记域X的用户的访问请求集合为REQ。在域X的一个用户发出访问域Y的请求时,域Y能够获得的信息十分有限。这些信息包括:用户在域X所具有的角色;该访问请求所属的会话;用户所请求执行的域Y的权限;与该请求相关的历史记录。除此以外,假设域Y能够获得其他更多的信息是不合实际的。因此我们定义 ,其中PY为域Y的权限集合,RX为域X的角色集合,session为会话集合,history为访问请求的相关历史记录集合。记域Y对于请求reqREQ的访问控制决策为decision(req)。假设域X为每一个用户u颁发角色证书,说明u在域X所具有的角色集合;并且,域Y信任域X颁发的角色证书。对于请求req=(r,s,p,h),若 不成立,则显然Decision (req)=deny。在下面的讨论中,假设该条件成立。下面以分布式环境中的任一域Y为例,讲述为何需要引入风险。传统的访问控制模型中只有“允许”和“拒绝”2个决策单位。这种二元决策机制难以满足分布式系统对于访问控制模型的要求。 分布式环境中的不确定因素较多;在作出决策前,可以确定的用户信息有限。因而,仅仅使用“允许”和“拒绝”2个决策单位难以准确描述合理的访问控制决策,不能将各种可能简单地忽略为“允许”或者“拒绝”。 分布式环境中安全性与可用性并重;而安全性与可用性是一对矛盾的问题,仅仅使用二元决策机制很难在二者中做出合理的、动态的权衡。因此,有必要引入一定的机制,以便更加准确地描述各种访问情况,并且便于取得安全性和可用性的平衡。定义风险等级集合RL,记集合RLdeny, allow为EdRL,并定义EdRL上的一个全序关系。全序关系满足性质: 。对于,表示具备等级rl1的访问所引起的风险不大于具备等级rl2的访问所引起的风险。若rl1 rl2且rl1rl2,记为rl1rl2,表示具备等级rl1的访问所引起的风险小于具备等级rl2的访问所引起的风险。根据集合EdRL以较为准确地描述对域构成不同威胁的访问。然而,对每一个访问请求,必须最终给出“允许”或者“拒绝”的访问决策。为此,域Y为每一个域定义一个风险游标,。风险游标反映了域Y对于域X的风险敏感程度。记访问请求req所具备的风险为。如图3所示,访问控制决策定义如下。图3 风险等级集合示例传统访问控制模型在分布式环境中的2个问题,可以分别通过定义集合RL和定义风险游标有效地解决。4.2 R2BAC中的风险评估机制相关文献中提出的各种风险评估方法更多的是注重评估方法本身的有效性,而并未深入考虑涉及到访问控制时风险评估的特殊性。文中提出的风险评估方法,符合分布式环境中访问控制的实际需要,仅仅依靠实际应用中可能获取的信息即可。在形式化表述的基础上,该方法为多域互操作中风险评估提供了一致可行的基础。本节讨论的内容即是风险评估函数。对于每一个访问请求,函数为其关联一个风险等级;之后,由函数decision可知域Y做出的访问控制决策。对于一个请求req=(r, s, p, h),若s=,则域Y为用户新建一个会话。在用户结束该会话前,用户使用角色r访问域Y的请求都将属于该会话。文中的风险评估方法分为2步:域Y针对每一个权限,仅根据权限的特征,做出定性的风险评估;即定性的风险评估对于所有请求执行该权限的访问请求都是一样的。根据特定请求相关的历史记录,对该请求做出定量的风险评估。定性的风险评估,仅仅考虑权限本身对域Y的影响,而忽略访问请求的特点;相反,定量的风险评估是在定性的风险评估的基础上,根据每个请求的特点,做出最后的量化评估。4.2.1 定性的风险评估由于域Y中的权限集合定义为 。针对同一客体,不同访问模式为其带来的风险是不同的;同样,同一访问模式对于不同客体也是不同的。函数指定了每一个权限的风险等级范围。函数须满足以下性质 例1 设 。假设存在一权限p1= (confidential-data, write),可以定义,表明该权限的执行对于域Y风险较低。对于任意请求req=(*,*, p1,*),成立,其中*表示任意取值。假设存在另一权限p2= (confidential-data,read),可以定义 ,表明执行该权限的风险较高,而所有请求req=(*, *, p2, *)都满足 。4.2.2 定量的风险评估定量的风险评估主要依据请求req=(r, s, p, h)的历史记录h来确定。历史记录根据时效的不同,分为2种:1) 会话相关的历史记录:记录了一个会话内所有访问的风险记录,该记录与会话有效期相同;2) 角色相关的历史记录:记录了通过该角色访问域Y所有访问的风险记录,该记录永久有效。风险记录是一个访问请求的风险再确认集合。风险再确认是:在请求req被允许并完成权限操作后,域Y根据操作结果评估req的风险。记风险记录为risk-record。则。形式化定义如下:,其中, 。对于请求req=(r,s,p,h),其中p=(obj,acc),在req被允许后,用户以访问模式acc对客体obj进行操作。假设每一个客体存在一个可观察项(observable item)集合,记为OI(obj)。例如,一个文本文件的可观察项集合可以为create-time、modify-time、content。可观察项的值的变化体现了客体的操作结果。R2BAC在可观察项集合OI(obj)的基础上,定义风险再确认的过程。range(OI)表示项OI(obj)的取值集合。函数定义了req的风险再确认。函数的输入分别是OI(obj)的原始值集合以及OI(obj)的操作结果值集合,输出是一个风险等级,该等级表示用户在以acc方式完成对obj的操作后,域Y对于req的风险的认定。每当完成一次风险再确认,R2BAC将该结果加入req所属的会话的历史纪录中以及r所对应的角色的历史纪录中。由于函数是与应用密切相关的,R2BAC允许模型实现者定制该函数的实现。当请求req=(r, s, p, h)到达域Y时,由s可确定req的会话相关的历史记录,由r可确定req的角色相关历史记录。R2BAC通过这2个历史记录确定req的风险等级。由于R2BAC被设计为一个通用的多自治域安全互操作模型,这里不给出特定的风险评估函数,R2BAC允许模型实现者根据特定领域应用的需求定制函数。这里仅给出所应满足的性质。假设存在函数 ,根据请求的历史记录判断其风险等级。假设对于请求req=(r, s, p, h),有,则R2BAC的定量风险评估并未考虑一个用户以不同角色访问域Y所带来的风险积累情况。原因如下: 由于请求req中不包含用户标识,域Y无法确定以不同角色访问的2个用户是否实际为同一个用户。 假设域X的用户u在域Y具有不同角色r1和r2。用户u在使用r1访问Y时的风险表现与u以角色r2访问时的风险表现没有必然联系。 角色相关的历史记录部分体现了风险积累。假设用户u在域X中所具有的角色为r。其行为影响着r相关的风险记录;于是,域X中其他具有r的用户也因此受到影响。这样更能够表现出具有同一特征的用户所具备的风险,而不是单独分散地处理每个用户的风险。5 应用实例分析本节通过一个应用实例讲述如何使用R2BAC实现多自治域安全互操作。假设某一医院的2个部门(内科、外科)自治地管理各自的RBAC访问控制策略。现假设内科需要外科医生共同会诊病人病情。内科的RBAC访问控制策略定义如下:1) 客体:病人个人信息、病人病史、病人用药记录、病人当前症状及诊断。2) 访问模式:读取、追加、复制、删除、修改。3) 角色:病人、挂号员、护士、护士长、内科住院医师、内科主治医师。注:这里所指的护士、护士长、内科住院医师和内科主治医师4个角色均与具体的病人相关联。例如,病人Cathy的内科住院医师是一个角色。4) 角色层次关系:护士长护士;内科主治医师内科住院医师。5) 角色权限关系如表1所示。表1角色权限关系客体读取追加复制删除修改病人个人信息挂号员病人挂号员病人病人病人病史病人、内科住院医师主治医师病人用药记录病人、护士、内科住院医师护士长内科主治医师病人症状及诊断记录病人、内科住院医师内科住院医师内科主治医师本例着重展现风险的应用,因此,仅仅假设具有最大互操作性的可满足角色映射集合为(外科内科)。假设医院收治了一位内科病人Cathy,因此内科自治域管理Cathy的相关医疗信息。假设Cathy的内科主治医师为Alice,Bob被赋予Cathy的外科主治医师角色。假设内科自治域的风险等级集合为EdRL= allow, risk, high_risk, deny。内科自治域中定性的风险评估结果如表2所示。表2自治域内科的定性风险评估客体读取追加复制删除修改病人个人信息allow, high_riskallow, riskallow, riskallow, riskallow, risk病人病史allow, denyallow, high_risk病人用药记录allow, high_riskallow, high_riskallow, high_risk病人症状及诊断记录allow, denyallow, high_riskallow, high_risk假设函数关于权限(追加,病人症状及诊断记录)的部分伪代码如图4所示。图4 权限部分伪代码R2BAC能够灵活地处理以下几种情况。情况1 假设内科认为Cathy主要患有内科疾病,因而Bob不应该能够追加Cathy的症状及诊断记录。此时,内科可将对外科的风险游标设置为cursorsurgery = risk。任意时刻,Bob请求追加病人症状及诊断记录时,有req=(“外科主任医师”, s, “(追加,病人症状及诊断记录)”, h)。则内科根据自治域的设置,且,进而decision(req)=deny,即拒绝Bob的访问请求。情况2 假设经过分析,Cathy的部分病情需专业外科医生诊断,Bob应该能够读取病人病史、病人用药记录、病人症状及诊断,并追加Cathy的症状及诊断记录。此时,内科可将对外科的风险游标设置为cursorsurgery = high_risk。经过类似于情况1的分析后,可知Decision(req)=allow,即允许Bob的访问请求。其他关于读取Cathy病史等的请求类似处理。情况3 假设当前内科对外科的风险游标设置为cursorsurgery = high_risk;内科在允许外科医生追加病人症状及诊断记录的同时,也希望能够防止外科医生追加与病情无关的内容。假设病人症状及诊断记录的可观察项为记录的内容content。函数关于病人症状及诊断记录的部分伪代码如图5所示。图5 病人症状及诊断记录部分伪代码若Bob在Cathy的症状及诊断记录中追加非外科症状记录,则根据函数的定义可计算出此次操作完成后的风险再确认,将元组(current_time, high_risk)加入Bob的会话s相关的历史记录historys,同时将该元组加入角色“Cathy的外科主任医师”相关的历史记录historysurgery。Bob追加与外科无关的症状记录将不影响其访问,因为外科医生完全有可能观察到一些未记录的且与外科无关的症状;而且,函数和函数也允许Bob这样做。但是,可以想象内科不允许Bob做出超出外科范围的诊断结论。因此,若Bob确实追加了外科以外的诊断记录,Bob的会话s相关的历史记录Historys, 及角色”Cathy的外科主任医师”相关的历史记录Historysurgery中将增添元组(turrent_time, deny)。根据函数,Bob将不能继续追加Cathy的症状及诊断记录。即使Bob重新启动一个会话以请求追加,内科自治域也将拒绝其请求,直至Bob被告知其非法操作的行为之后(图4伪代码中通过设定充足的时间间隔表示)。情况4 假设内科发现Cathy患有疑难杂症、病情危急,无法判断救治方案。在这种紧急情况下,为综合考虑各种可能,内科决定暂时允许Cathy的外科主治医师Bob做出超出外科范围的诊断结论。只需内科自治域将对外科的风险游标设置为cursorsurgery = deny,即可处理这种紧急情况。上述例子说明了R2BAC模型的灵活性。情况1和情况2表明R2BAC支持细粒度的访问控制以及显示的风险管理。尽管根据角色映射Bob具有追加病人Cathy症状及诊断记录的权限,但是通过控制风险,内科自治域仍然能够灵活地控制Bob的此项权限。情况3表明R2BAC能够根据用户的行为动态调整用户的权限。情况4表明R2BAC具备快速分发共享信息的能力。由于篇幅所限,本例未说明如何建立域间角色映射,但是现有工作7,8,11中多域安全互操作的例子均可使用R2BAC设置完成。6 结束语给出了R2BAC模型,描述了怎样在RBAC模型的基础上通过角色映射机制以及风险控制方法实现多自治域安全互操作,研究了建立角色映射时如何获取较优互操作能力问题,并证明了该问题为NP完全问题,指出了该问题可以约简为一个feedback vertex set问题予以解决;提出了一套多域互操作建立机制,该机制能够适应分布式环境的动态性;同时,研究了风险在多自治域互操作中的应用,描述了一个灵活的风险管理框架。风险的引入方便了对用户的实时行为进行监控,一方面提供了灵活的互操作机制,另一方面降低了各自治域因互操作而遭受攻击的风险。目前,R2BAC只考虑了RBAC模型中角色层次中的单一层次关系,该文作者正研究在混合层次关系的情况下,如何建立角色映射机制以及最大互操作性问题的优化算法。另外,适合特定领域的风险评估函数也是一个值得进一步研究的问题。参考文献:1CHAKRABORTY S, RAY I. TrustBAC: integrating trust relationships into the RBAC model for access control in open systemsA. Proceedings of the 11th ACM Symposium on Access Control Models and Technologies (SACMAT 2006)C. Lake Tahoe, California, USA, 2006. 49-58.2LEE A J, WINSLETT M. Safety and consistency in policy-based authorization systemsA. Proceedings of 13th ACM Conference on Computer and Communications Security (CCS 2006)C. Alexandria, VA, USA, 2006. 124-133.3OSBORN S L, SANDHU R S, MUNAWER Q. Configuring role-based access control to enforce mandatory and discretionary access control policiesJ. ACM Transactions on Information and System Security, 2000, 3(2): 85-106.4GONG L, QIAN X. Computational issues in secure interoperation J. IEEE Transactions on Software Engineering, 1996, 22(1): 43-52.5DAWSON S, QIAN S, SAMARATI P. Providing security and interoperation of heterogeneous systems J. Distributed and Parallel Databases, 2000, 8(1): 119-145.6BONATTI P A, SAPINO M L, SUBRAHMANIAN V S. Merging heterogeneous security orderingsA. Proceedings of the 4th European Symposium on Research in Computer Securit

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论