您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 一种基于本体的权限管理模型
一种基于本体的权限管理模型李栋栋1,2,白硕31(中国科学院计算技术研究所软件室,北京100080)2(中国科学院研究生院,北京100039)3(上海证券交易所,上海200120)E-mail:lidongdong@software.ict.ac.cn摘要:权限管理是系统应用层安全的核心问题之一,通过权限的设置和维护,来阻止对计算机系统和资源的非授权访问。现代应用环境下,权限管理面临着信息资源类型多、访问控制粒度细、多策略共存、跨应用的安全策略和应用专用的安全策略等一系列问题。目前,许多应用开发者都采用在应用系统中嵌入访问控制的方法来解决上述问题。本文提出了一种新型的广义权限管理模型,该模型通过引入本体来对企业业务层面上与操作相关的信息进行概念建模,实现了一个对具有业务内涵的、范围相当广泛的一类广义操作进行权限定义和管理的合适的表达框架和管理机制,并建立了相应的形式化模型。本体的使用将传统的访问控制对象扩展为带参数的、参数论域通过领域本体呈现出结构性关联的、并且具有业务语义的服务,这样,扩大了访问控制的对象范围,丰富了相应的访问控制机制。关键词:权限管理模型,授权,访问控制,本体,参考监控器1、背景及相关工作权限管理是系统应用层安全的核心问题之一,它通过对主体访问权限的设置和维护,来阻止对计算机系统和资源的非授权访问,确保只有适当的人员才能获得适当的服务和数据。现代企业集成环境中存在大量分布的、异构的应用系统,这些应用所基于的设计和技术都可能不同,其内部信息资源类型多、粒度细,对资源的操作往往具有业务内涵且操作的范围相当广泛【1】。因此,如何解决对企业应用内部带有语义信息操作的访问控制以及跨应用安全策略的设置,已经成为一个越来越复杂和困难的挑战,成为每个企业都必须关注的问题。目前企业应用的权限管理大都采用了传统的参考监控器这样的访问控制机制(见图1)【2】。一个参考监控器是安全系统的一部分,负责调解主体对系统资源(即客体)的访问,通过检测授权库中的授权规则来进行访问请求判断,然后进行执行。传统上,通过“主体动作客体”结构,授权规则设置了什么主体可以对什么客体执行什么操作。所有的授权规则都可以用访问矩阵来表示【3】,行表示主体,列表示客体,每个元素表示主体对相应客体的访问权限。为了进行授权决策,一个参考监控器将授权规则和三组信息,即访问请求信息、提出访问请求的主体、被访问的客体信息,作为输入【4】。在传统的权限管理模型中,访问请求信息通常就是操作请求类型,例如“读”操作类型。在MAC、DAC【5】【6】中,操作通常为简单的读、写、执行、追加等,RBAC【7】将操作请求扩展到在应用级上的一些操作,如审批、申请等。基金项目:国家863高技术研究发展计划资助项目(编号863-306-ZD02-01-3)作者简介:李栋栋,女,1972年生,博士研究生,主要研究方向为信息安全技术、企业建模、业务集成等。白硕,男,1956年生,研究员,博士生导师,主要研究方向为自然语言处理、信息安全等。主体的信息分为两类:安全相关信息和安全不相关。安全相关的信息由安全管理员或用户管理员来控制,描述了主体的身份、组成员、允许的权限等安全属性。在传统的权限管理模型中,主体中只有安全相关的信息才能用于访问控制决策。同样,被访问客体的信息也被分为安全相关信息的和安全不相关信息。类似于主体,在传统的权限管理模型中,客体中只有安全相关的信息才被用在访问控制决策中,如客体名称、安全标签等。参考监控器将上面三组信息代入授权规则进行计算,计算的最终结果是对访问的“允许(allow)”或“禁止(deny)”。从图1可以看出,在传统的权限管理模型中,主体和客体是相互独立的,它们之间或者互不牵连,或者只通过一些共同的标记来进行联系(如安全标签)【6】。主体有主体的结构和标记,客体有客体的结构和标记,中间满足什么关系,就放行,否则就拦截。参考监控器所使用的主客体的信息是受限的,只有主客体的安全相关属性才能用于授权决策中。但是,现代应用环境下的权限管理不同于传统的权限管理,需要面对若干新问题【8】:在现代应用环境下,主客体营垒不甚分明,一个实体可能既是主体,又是客体。这样的主客体在传统的权限管理模型中无法表示。现代企业应用中,操作不仅仅是对文件和目录的简单的读、写和执行,而是一种广义的操作,通常都具有业务领域的内涵。例如对企业内部请假审批操作来说,必须要考虑主体的职位、客体的职位,请假的类型、天数,权限规定可审批的假期的类型、天数…等等。传统的权限管理模型无法对这种带有语义信息的操作进行控制。现代应用的访问控制有时需要考虑主客体的安全无关信息。比如,对公共图书馆中某些材料的访问要根据访问用户的年龄来授予相应权限;另一个例子是从组织的工作流执行过程中获得的信息。这些信息不是由安全管理员或用户管理员控制的,也不是以主客体安全属性的形式提供给参考监视器的,因此传统的权限管理无法实现这种需求。现代应用环境下,安全策略的表述有可能是跨应用的,策略的表达中涉及到一些公用的信息和结构,比如:时间、安全级别、职位等等。传统的权限管理模型没有提供这样的一种公共结构来表述这些共享信息。授权规则库参考监控器主体安全属性客体安全属性操作授权决策idSecuritylabelRoletypeSecuritylabel图1传统的权限管理模型此外,现代应用环境下还需要控制多种粒度的操作(包括基于用户的域名或IP地址、基于访问控制列表、基于规则的操作等),这样,必须需要多种权限管理层次,以实现各种粒度的权限控制。传统的权限管理模型同样无法解决这一问题。从上面分析可见,传统的基于参考监控器的主客体独立的权限管理模型已经不能满足现代应用环境下权限管理的需要。为了解决权限管理所面临的上述新问题,很有必要提出一种新型的广义权限管理模型,用以解决对企业内部带有语义信息操作的控制以及跨应用复杂安全策略的设置问题。2、基于本体的权限管理模型企业应用内部带有语义信息的广义操作要求现代企业的权限管理模型必须具有对这种语义信息的描述功能,同时,还能将这种语义信息用于操作执行时的权限判断。本体是共享概念模型的明确的形式化规范说明,它具有良好的概念层次结构和领域知识的共享性以及对逻辑推理的支持【9】【10】,因而我们考虑在权限管理模型中引入本体的概念,即使用本体这种工具为企业应用领域与操作相关的信息进行概念建模,借此反映操作的一些语义信息。当具体操作实现时,再将操作转化为对技术层面上带参数的服务的访问,并利用应用领域中的语义信息来进行访问控制。图2是基于本体的权限管理模型。主体客体授权规则库参考监控器请求(参数)授权决策图2基于本体的权限管理模型本体访问操作谓词库权限引擎“...”表示操作关联的主客体“”表示实体或操作间的关系从上图可以看出,在基于本体的权限模型中,主体和客体都是本体的一部分,且它们都包含若干属性和属性值集合。此外,本体中还包含若干实体关系及约束。当主体对客体发出的操作请求被截获后,权限引擎根据相关规则以及这个操作所涉及的本体要素(包含操作所带的所有参数)之间是否满足策略所指定的约束条件,来决定该操作是被允许还是禁止。2.1与传统的权限管理模型的比较传统的权限模型中,主客体间只是单纯的访问关系,不能表示它们之间的一些非访问关系,如报告关系、撤职关系等等,即传统的权限模型不能表示带业务语义信息的操作;传统的权限模型中,安全策略也只是规定了哪个主体可以访问哪个客体,访问粒度粗。为了细化访问粒度,有些模型增加了类似BLP模型【11】中的安全标签这样的公共安全属性,来加强主体对客体访问的约束,但这种安全属性并不能涵盖所有的与策略表达相关的因素;另外,对于跨应用的策略来说,由于各个应用中所采用的信息的表示概念和术语并不相同,传统的权限模型很难对跨应用的安全策略进行表述。基于本体的权限管理模型则把所有主体和客体都纳入本体体系中,主客体结构以及它们之间的关系都是领域共享的,从而使得利用这种共享结构来统一表述各种复杂的带语义信息的操作以及跨应用的安全策略就成为可能;在基于本体的权限管理模型中,由于主体对客体的操作可以附带各种参数,且参数可以引用主客体的所有属性,因此基于本体的权限管理模型可以实现主体对客体细粒度的操作控制,即只有当操作所带的参数满足策略的约束条件时,才可允许操作的执行。2.2基于本体的权限管理模型的表达力我们所提出的权限管理模型依然是一种“访问控制”模型,但已经突破了传统的“访问控制”的范畴:——从技术层面看,控制的依然是“访问”。但是被访问的资源除了传统的网址、文件和目录,还有更细粒度的数据单元,以及带有复杂参数的服务。我们将其统一地看为是对“服务”的访问。——从业务层面看,控制的是广义的“操作”,这种操作具有业务领域的内涵(比如请假)。或者说,这种广义的操作赋予对“服务”的访问以业务语义。业务层面上广义的操作和技术层面上对服务的访问具有一一对应的关系。因此出于表述上的方便,后面我们对二者等同对待。在我们所提出的基于本体的权限管理模型中,本体模型是建立在业务层面上的。因此,在本体模型中的权限管理,实际上是在业务层面上对广义操作的控制,而不是技术层面上对服务的访问控制。被控制的广义操作只有借助技术系统中的服务来实现的时候,才存在访问控制的问题,或者说权限管理(对广义操作的控制)才被映射为对服务的访问控制。因此,这种主客体交融的、细粒度的、带参数的、参数论域呈结构性关联的权限管理模型在“表达能力”方面的创新点有:(1)在业务层面,通过引入本体,得到了一个对具有业务内涵的、范围相当广泛的一类广义操作进行权限定义和管理的合适表达框架和管理机制,建立了相应的形式化模型。(2)在技术层面,通过把控制对象扩展为带参数的、参数论域通过领域本体呈现出结构性关联(如偏序结构)的、并且具有业务语义的服务,扩大了访问控制的对象范围,丰富了相应的访问控制机制。(3)在两个层面的结合上,通过建立本体,业务层面为技术层面提供了语义清晰的形式化模型和用户友好的结构化界面。3、权限本体描述框架为了解决企业内部知识共享以及海量信息的组织、管理和维护的问题,许多企业都开始使用本体这种能在语义和知识层次上描述信息系统的概念模型建模工具,用以描述企业内部的概念以及概念和概念之间的关系,并通过概念之间的关系来描述概念的语义。由于现在信息系统建设的现状是:先有应用,少部分本体尚在建设或规划之中,大部分没有本体。应用在本体层面还远没有打通。考虑到上述情况,我们设计了一个简单的本体描述框架,用来为每个企业建立自己的本体,然后在该本体的基础上实现企业的权限管理。由于我们所关心的只是企业内部用于权限推理和决策的共享知识,因此,我们所设计的本体描述框架,也只考虑了企业内部和权限及权限推理有关的概念和概念间的关系。这个本体描述框架不能作为描述整个企业概念模型的工具,它是非常简单的,它只用于企业内部与权限有关的概念建模(如企业组织结构、资源、操作、约束等)。下面将给出我们所提出的本体描述框架。为了区别于为整个企业概念建模的本体,我们称与企业权限管理相关的概念建模的本体为权限本体。一般,一个权限本体被形式化描述为:1)元素:实体、操作、属性、条件、类、实例;2)关系:存在于实体间;3)约束:对关系的约束。权限本体描述框架如图3所示。3.1实体实体的概念很广泛,可以指领域内任何主体或客体,比如:文件、用户、设备等等。每个实体都包含若干属性。定义3.1(实体):实体可以表示为一个三元组:entity(Name,attributeList,attribValues)。Name指明了实体的名称;attributeList是实体包含的属性列表;attribValues是实体的各个属性所对应的具体值。实体包含实体的类和实例。由于实体的类之间存在继承关系且实体的实例和实体的类之间存在实例化的关系,因此整个实体可以按层次结构进行组织,实体间的这种层次关系可用于权限的传播计算。3.2属性属性都是和实体相关的,用来存储实体的信息。定义3.2(属性):一个属性是一个二元组:
本文标题:一种基于本体的权限管理模型
链接地址:https://www.777doc.com/doc-2825874 .html