使用控制模型及其应用的分析与研究
来源:岁月联盟
时间:2010-08-30
1 引言
访问控制(Access Control)是国际标准化组织ISO在安全标准(ISO7498-2)中定义的安全信息系统的基础架构中必须包含的五种安全服务之一,它通过显式地允许或限制用户的访问能力及范围,对用户提出的访问请求进行控制,以保证资源不被非法使用。访问控制是一种重要的信息安全技术,与数据加密、身份认证和密钥管理等信息安全技术结合使用来保障信息系统的安全。 著名的经典访问控制模型包括:自主访问控制(Discretionary Access Control,DAC)、强制访问控制(Mandatory Access Control,MAC)和基于角色的访问控制(Role Based Access Control,RBAC),它们主要关注在一个信息系统封闭环境中资源机密性和完整性的保护。而随着网络技术特别是新型互联网应用(如P2P、数字版权管理等)的迅速,现代信息系统面向的是一个开放网络环境,系统具有开放性、动态性和扩展性,在为用户提供了更加广阔的资源空间和更加便利服务的同时,也产生了新的安全问题。例如,开放系统和未知用户的授权问题、数字资源的分发和持续使用控制问题、资源使用的可变性问题等,这些问题使得访问控制的复杂性大为增加。而传统访问控制机制由于设计基础的局限性,不能很好地满足开放式网络环境中动态、连续的访问控制需求,在此情况下,建立一个面向开放网络环境的访问控制模型已经成为亟待解决的问题。 当前,面向开放网络环境的访问控制的研究主要从2个途径展开:一是在基本RBAC模型上进行扩展和增强,近年提出的主要RBAC扩展模型包括:带时间约束的RBAC、分布式RBAC (Distributed RBAC)、基于任务和角色的访问控制T-RBAC (Task-Role-Based Aceess control)等。这些增强的RBAC模型弥补了基本RBAC模型在开放式网络环境中表现出的某些缺陷。另一途径是提出一些新的访问控制技术和模型,近期提出的主要访问控制技术包括:信任管理(Trust Management,TM)和数字版权管理(Digital Rights Management,DRM),提出的访问控制模型是使用控制模型(Usage Control,UCON)。信任管理是在20世纪90年代后半段兴起的访问控制技术,是目前对开放系统和未知用户的授权研究采用的主要技术,DRM技术是对各类数字内容的知识产权进行保护的一系列软硬件技术,用以保证数字内容在整个生命周期内的合法使用,目前已经在Internet上得到了广泛的应用。而UCON则是将传统访问控制、信任管理和DRM三个领域的问题进行统一考虑,以形成一个能够解决开放式网络环境的访问控制问题的模型。2 使用控制模型
为了统一在访问控制研究中提出的许多新概念(如信任管理、数字版权管理、义务、条件),George Mason大学著名的信息安全专家J. Park和R.Sandhu于2002年首次提出了“使用控制”的概念;随后,二人提出了使用控制的核心模型—ABC(Authorization oBligation Condition)模型并给出了完整定义,ABC模型阐释了“使用控制”的本质。在此基础上Xinwen Zhang、Park和Sandhu给出了ABC模型的形式化描述并对ABC模型的授权安全属性(Safety Properties)进行了分析,证明了具有有限属性域的授权模型存在一个可判定的安全性。 使用控制模型是对传统访问控制模型的根本性增强,它包含了义务、条件、连续性和可变性等抽象和反映了开放式网络环境中的访问控制需求的新概念,是解决开放式网络环境中的访问控制问题的一种有前途的研究方向,被很多专家和学者认为是下一代的访问控制模型的发展方向。2.1 ABC模型的组成
使用控制的核心模型是ABC(Authorization,oBligation,Condition)模型,也称为UCONABC模型。ABC模型包括主体、客体、权限3个基本元素和授权规则、义务、条件3个与授权有关的元素,其组成如图1所示。
2.2 连续性和可变性
传统访问控制模型仅用授权规则来决定对访问请求的处理,而ABC模型必须考虑授权规则、义务和条件等使用决定因素,其中义务、条件是使用控制模型提出的新概念,是对传统访问控制基于属性的控制策略的扩展与增强。 使用控制模型引入了连续性(Continuity)和可变性(Multability)两种新的重要特征,是开放式网络环境中的访问控制所必不可少的。在传统访问控制中,授权决策是在访问操作执行之前进行判断的。而在现代访问控制中,有相对长期持续的资源使用或立即撤消资源使用权限的应用要求。因此,授权决策需要在资源的使用过程(ongoing)中对访问请求进行不间断的或重复的检查和判断,这一特征称为“连续性”。另一方面,传统访问控制中,属性只有通过管理行为才能被改变;但在开放式网络环境的许多应用中,属性需随着主体行为而被改变,这种改变必将影响到主体的下次或本次访问权限的判断,这一特征称为“可变性”。2.3 16种基本的ABC模型
使用控制模型中,授权是由授权规则、义务、条件和属性可变性等因素共同决定的。由于授权规则的形式可以是使用前授权(preA)、使用中授权(onA),同样义务、条件的形式也可以是使用前(preB、preC)、使用中(onB、onC),而属性可变性可分为不改变(0)、使用前改变(1)、使用中改变(2)和使用后改变(3)等4种情况,通过组合可构造出使用控制的16个基本模型。表1中给出了基于授权规则、义务、条件三个决策因素和属性可变性的各种可能模型,可能的情况标为“Y”,否则标为“N”。表1 16种基本ABC模型属性可变性决策因素 | 不改变0 | 使用前改变1 | 使用中改变2 | 使用后改变3 |
preA | Y | Y | N | Y |
onA | Y | Y | Y | Y |
preB | Y | Y | N | Y |
onB | Y | Y | Y | Y |
preC | Y | N | N | N |
onC | Y | N | N | N |
3 使用控制模型的应用
本节讨论自主访问控制DAC、强制访问控制MAC、基于角色的访问控制RBAC和数字版权管理模型在ABC模型中的实现,以集合谓词为主要描述工具进行分析。3.1 DAC模型的实现
自主访问控制DAC是在确认主体身份以及它们所属组的基础上对访问进行限制的一种方法,获得访问许可的主体能够向其它主体转让访问权。在实现上,首先对用户的身份(id)进行鉴别,然后就可按访问控制列表ACL所赋予用户的权限允许或限制用户使用客体资源。DAC可由UCONpreA0模型支持,以下是有关描述: (1)S表示主体即用户或用户组,O表示客体,N表示身份标记集合,R为操作权限集。 (2) id表示用户到标记集合N之间的一对一映射关系。 (3) ACL表示客体与N×R之间的映射关系,其中N×R为用户身份与操作权限的组合关系。 (4) ATT(S) = {id}。 (5) ATT(O) = {ACL}。 (6) allowed(s,o,r) => (id(s),r) ∈ ACL(o)。其中allow(s,o,r)表示主体s对客体o具有执行r操作的权限。3.2 MAC模型的实现
强制访问控制MAC是一种强制主体服从访问控制策略的访问方式。在强制访问控制中,主体和客体资源都被赋予了一定的安全级别(如公开、秘密、机密和绝密等),安全级别之间是一种偏序关系。按使用控制的观点来看,主体属性为安全等级(clearance),而客体属性为安全类别(classifiactoin)。采用MAC的系统先对访问主体和受控客体的安全级别属性进行比较,再决定访问主体能否访问该受控对象。通过这些主体和客体的安全级别的偏序关系来执行强制访问控制的安全规则,即简单安全特性规则和*特性规则。MAC由UCONpreA0模型支持,以下是有关描述: (1) L表示具有偏序关系的安全级别集合;claearnce表示访问主体S和安全级别L之间的映射函数,即SàL。calssfiiaction表示客体和安全级别L之间的映射函数,即OàL。 (2) ATT(S)={clearance}。 (3) ATT(O)={classification}。 (4) allowed(s,o,read) => clearance (s) ≧ classification (o),即主体只能向下读,不能向上读(简单安全特性规则)。 (5) allowed(s,o,write) => clearance (s) ≦ classification (o),即主体只能向上写,不能向下写(*特性规则)。3.3 RBAC模型的实现
基于角色的访问控制策略RBAC中,将访问权限分配给角色,用户通过被指派为角色从而获得角色所拥有的访问控制权限。从使用控制的观点来看,用户/角色的映射关系可作为主体属性,角色/操作权限的映射关系可作为客体属性和权限。2001年提出的NIST标准RBAC模型是各类基于角色的访问控制模型的基础,它由基本模型RBAC0(Core RBAC)、等级模型RBAC1(Hierarchal RBAC)、约束模型RBAC2(Constraint RBAC)和统一模型RBAC3(Combines RBAC)四个子模型组成。RBAC0中包含用户users、角色roles、目标objects、会话sessions、操作operations五个基本数据元素和用户角色分配(URP)、角色权限分配(PRA),其基本思想是通过角色建立和访问权限之间的多对多关系,用户由此获得访问权限。RBAC1、RBAC2、RBAC3都是在RBAC0上的扩展。RBAC1引入了角色的等级和角色间的继承,角色间的继承关系可分为一般继承关系和受限继承关系。一般继承关系允许角色间的多继承,受限继承关系则要求角色间单继承。以下是通过UCONpreA0实现以RBAC1的描述: (1) P = {(o,r)},P表示授权集合,(o,r)为客体-权限对。 (2) ROLE表示角色层次的偏序关系。 (3) actRole表示激活角色,实现用户角色分配(URP)。 (4) pRole表示授权角色,实现角色权限分配(PRA)。 (5) ATT(S) = {actRole}。 (6) ATT(O) = {pRole}。 (7) allowed(s,o,r) = role ∈ actRole(s) ∧ role' ∈ pRole(o,r) ∧ role≧role',即如果存在授权角色(pRole(o,r)),其偏序关系≦激活角色(actRole(s)),则访问请求被允许。3.4 DRM模型的实现
数字版权管理DRM是对各类数字媒体内容的知识产权进行保护的一系列技术,它是一种在开放是环境中的基于支付(Pay-Based)的使用控制策略。典型的数字版权使用控制策略包括使用前支付、使用后支付、累计支付等基本类型。以下是通过UCONpreA1实现使用前支付DRM模型的描述: (1) op表示用户对数字媒体内容的操作集(如播放、复制等)。 (2) credit表示用户帐号中的金额。 (3) value表示使用客体资源的价格。 (4) ATT(s) :{credit(s)}。 (5) ATT(o,op) :{value(o,op)}。 (6) allowed(s,o,op) => credit(s) ≧ value(o,op),即当用户帐号上的余额大于或等于客体资源的使用价格时,允许其访问。 (7) preUpdate(credit (s)):credit(s) = credit(s)-value(o,op),即在主体使用客体资源之前,按客体资源的使用价格修改用户帐号中的金额。 无论是RBAC模型,还是数字版权管理DRM模型,虽然其应用场合有很多变化,但都可根据具体应用需求选用ABC基本模型或组合模型进行描述。4 结束语
使用控制是下一代访问控制技术的基础,其两个核心内容:主客体属性的可变性和授权决策的连续性是反映开放网络环境中访问控制需要的重要特性。它提供了强大的描述能力,在各类信息安全系统中将有着良好的应用前景。[1] Zhang Xin-wen,CHEN Song-qing, R. Sandhu. Enhancing data authenticity and integrity in P2P systems[J]. IEEE Internet Computing,2005,9(6):42-49[2] J. Park, R. Sandhu. Towards usage control models:beyond traditional access control[C].ACM Symposium on Acesscontrol Models and Technologies,2002,2(3):57-64[3] J. Park, R. Sandhu. Usage Control: A vision for next generation access control]C].International Workshop on Mathematical Methods,Models and Architectures for Computer Networks Security,2003,2(1):17-31[4] J. Park, R. Sandhu. The UCONABC usage control model[J].ACM Transactions on Information and Systems Security,2004,7(1):128-174[5] 袁磊.使用控制模型的研究[J].机工程,2005,31(12):146-148上一篇:小型银行帐户系统设计