基于角色的访问控制模型研究

基于角色的访问控制模型研究
基于角色的访问控制模型研究

基于角色的访问控制系统

基于角色的访问控制系统 Role-Based Access Con trol System 北京航空航天大学计算机系(北京100083) 李伟琴 杨亚平 【摘要】 主要介绍基于角色的访问控制(RBA C),其中包括特点、优势等,并对其设计考虑以及如何具体实现作了阐述。 关键词:访问控制,计算机网络,计算机安全 【Abstract】 Ro le-based access con tro l (RBA C)techno logy is p resen ted,including the featu res,advan tage,design schem e and sp ecific realizing m ethods. Key words:access con trol,co m puter net-work,co m puter safety 近年来,随着全球网络化的热潮,网络技术正在日益广泛而深入地被应用到社会的各个领域中,并深刻地改变着社会的行为和面貌。然而,与此同时,网络安全却成为困扰和阻挠网络技术进一步普及、应用的绊脚石。尤其在商业、金融和国防等领域的网络应用中,能否保证网络具有足够的安全性是首先要考虑的问题。安全问题如果不能有效地得到解决,必然会影响整个网络的发展。 为此,国际标准化组织ISO在网络安全体系的设计标准(ISO7498-2)中,提出了层次型的安全体系结构,并定义了五大安全服务功能:身份认证服务,访问控制服务,数据保密服务,数据完整性服务,不可否认服务。一个可靠的网络,它的可信任程度依赖于所提供的安全服务质量。 1 访问控制研究的定义、内容和范围 访问控制(access con tro l)就是通过某种途径显式地准许或限制访问能力及范围的一种方法。通过访问控制服务,可以限制对关键资源的访问,防止非法用户的侵入或者因合法用户的不慎操作所造成的破坏。 访问控制系统一般包括: 1)主体(sub ject):发出访问操作、存取要求的主动方,通常指用户或用户的某个进程; 2)客体(ob ject):被调用的程序或欲存取的数据访问; 3)安全访问政策:一套规则,用以确定一个主体是否对客体拥有访问能力。 2 传统的访问控制技术 2.1 自主型的访问控制DAC DA C是目前计算机系统中实现最多的访问控制机制,它是在确认主体身份以及(或)它们所属组的基础上对访问进行限定的一种方法。其基本思想是:允许某个主体显式地指定其他主体对该主体所拥有的信息资源是否可以访问以及可执行的访问类型。我们所熟悉的U N I X系统就是采用了自主型的访问控制技术。 2.2 强制型的访问控制M AC 强制型的访问控制是“强加”给访问主体的,即系统强制主体服从访问控制政策。它预先定义主体的可信任级别及客体(信息)的敏感程度(安全级别)。用户的访问必须遵守安全政策划分的安全级别的设定以及有关访问权限的设定。这种访问控制方式主要适合于多层次安全级别的军事应用。 3 基于角色的访问控制技术 随着网络的迅速发展,尤其是In tranet的兴起,对访问控制服务的质量也提出了更高的要求,以上两种访问控制技术已很难满足这些要求。DA C 将赋予或取消访问权限的一部分权力留给用户个人,这使得管理员难以确定哪些用户对哪些资源有访问权限,不利于实现统一的全局访问控制。而M A C由于过于偏重保密性,对其他方面如系统连续工作能力、授权的可管理性等考虑不足。90年代以来出现的一种基于角色的访问控制RBA C(Ro le -B ased A ccess Con tro l)技术有效地克服了传统 ? 6 1 ?

访问控制

访问控制 在计算机系统中,认证、访问控制和审计共同建立了保护系统安全的基础。认证是用户进入系统的第一道防线,访问控制是鉴别用户的合法身份后,控制用户对数据信息的访问。访问控制是在身份认证的基础上,依据授权对提出请求的资源访问请求加以控制。访问控制是一种安全手段,既能够控制用户和其他系统和资源进行通信和交互,也能保证系统和资源未经授权的访问,并为成功认证的用户授权不同的访问等级。 访问控制包含的范围很广,它涵盖了几种不同的机制,因为访问控制是防范计算机系统和资源被未授权访问的第一道防线,具有重要地位。提示用户输入用户名和密码才能使用该计算机的过程是基本的访问控制形式。一旦用户登录之后需要访问文件时,文件应该有一个包含能够访问它的用户和组的列表。不在这个表上的用户,访问将会遭到拒绝。用户的访问权限主要基于其身份和访问等级,访问控制给予组织控制、限制、监控以及保护资源的可用性、完整性和机密性的能力。 访问控制模型是一种从访问控制的角度出发,描述安全系统并建立安全模型的方法。主要描述了主体访问客体的一种框架,通过访问控制技术和安全机制来实现模型的规则和目标。可信计算机系统评估准则(TCSEC)提出了访问控制在计算机安全系统中的重要作用,TCSEC要达到的一个主要目标就是阻止非授权用户对敏感信息的访问。访问控制在准则中被分为两类:自主访问控制(Discretionary

Access Control,DAC)和强制访问控制(Mandatory Access Control,MAC)。近几年基于角色的访问控制(Role-based Access Control,RBAC)技术正得到广泛的研究与应用。 访问控制模型分类 自主访问控制 自主访问控制(DAC),又称任意访问控制,是根据自主访问控制策略建立的一种模型。允许合法用户以用户或用户组的身份访问策略规定的客体,同时阻止非授权用户访问客体。某些用户还可以自主地把自己拥有的客体的访问权限授予其他用户。在实现上,首先要对用户的身份进行鉴别,然后就可以按照访问控制列表所赋予用户的权限允许和限制用户使用客体的资源,主题控制权限的通常由特权用户或特权用户(管理员)组实现。

一种基于任务和角色的访问控制模型及其应用

收稿日期:2005-05-13 基金项目:江苏省高校指导性项目(Q2118042) 作者简介:景栋盛(1981— ),男,江苏苏州人,硕士研究生,研究方向为计算机安全、CSCW ;杨季文,教授,研究方向为中文信息处理等。 一种基于任务和角色的访问控制模型及其应用 景栋盛,杨季文 (苏州大学计算机科学与技术学院,江苏苏州215006) 摘 要:近年来RBAC (Role -Based Access Control )及TBAC (Task -Based Access Control )模型得到广泛的研究。文中比较了一些现有访问控制模型的各自特点和适用范围,针对现有模型的不足,为了提高系统的安全性、通用型和实用性,通过结合RBAC 及TBAC 模型各自的优点,提出了一个新型的访问控制模型T -RBAC (Task -Role Based Access Control )。描述了T -RBAC 模型结构和特点,阐述了模型对最小权限原则、职权分离原则、数据抽象原则及角色层次关系的支持,给出了模 型在协同编著系统中的一个应用和将来工作的主要目标。 关键词:基于角色的访问控制;基于任务的访问控制;基于任务和角色的访问控制 中图分类号:TP309 文献标识码:A 文章编号:1005-3751(2006)02-0212-03 A Model of T ask -Role B ased Access Control and Its Application J IN G Dong 2sheng ,YAN G Ji 2wen (Computer Dept.of Suzhou University ,Suzhou 215006,China ) Abstract :The research work of RBAC (role -based access control )and TBAC (task -based access control )is greatly emphasized in re 2cent years.This paper compares the characteristics and applicability spectrum of some recent models.To the deficiency of the existing model ,in order to improve the security ,compatibility and practicability of application systems ,through combining the advantages of RBAC and TBAC model ,a new -type model ,T -RBAC (-role based access control ),is discussed.The configuration and character 2istics of the model is described.The support of least privilege ,separation of duties ,data abstraction and roles hierarchies in the model is explained.An application of the model in computer supported cooperative system and the main goal of future research is presented.K ey w ords :RBAC ;TBAC ;T -RBAC 0 引 言 访问控制在ISO74982里是网络安全服务5个层次中的重要一层。访问控制的目的是通过某种途径显示的限制用户对系统资源的访问,从而使系统在合法的范围内使用。20世纪70年代Harrison ,Ruzzo 和Ulman 提出了 HRU 模型,紧接着Jones 等人提出了Take -Grant 模型。 后来又有著名的自主访问控制模型(DAC )和强制访问控制模型(MAC )。从70年代末开始R.S.Sandhu 等学者[1]先后提出了存取控制矩阵(TAM ),RBAC ,TBAC (1993年提出)。由于访问控制模型的适用范围各有不同,提出后各种模型一直不断发展,尤其是RBAC ,TBAC 至今仍在不断地完善和充实中。 1 各种访问控制方法比较 DAC (discretionary access control )系统中的主体可以 自主地将其拥有的对客体的访问权限授予其它主体。其 实现方法一般是建立系统访问控制矩阵,矩阵的行对应系统的主体,列对应系统的客体,元素表示主体对客体的访问权限。DAC 有其致命弱点:访问权限的授予是可以传递的。一旦访问权限被传递出去将难以控制,访问权限的管理相当困难,会带来严重的安全问题;在大型系统中开销巨大,效率低下;DAC 不保护客体产生的副本,增加了管理难度。 MAC (mandatory access control )系统中的主/客体都 被分配一个固定的安全属性,利用安全属性决定一个主体是否可以访问客体。安全属性是强制的,由SO 向主体和客体分配安全标签。利用下读/上写来保证数据的保密性,并且通过这种梯度安全标签实现信息的单向流通。 MAC 的缺点很明显:MAC 系统的灵活性差;虽机密性得 到增强,但不能实施完整性控制,不利于在商业系统中的运用;必须保证系统中不存在逆向潜信道,而在现代计算机中是难以去除的,如各种Cache 等。 RBAC 引入角色做为中介,本身是中立的访问控制策 略,但其扩展模型的扩展策略可能使其与DAC ,MAC 并存。1996年提出的RBAC96模型[2]是一个权威的基于角色的访问控制参考模型,包括4个层次:RBAC0模型定义了支持基于角色访问控制的最小需求,如用户、角色、权 第16卷 第2期2006年2月 计算机技术与发展COMPU TER TECHNOLO GY AND DEV ELOPMEN T Vol.16 No.2Feb.2006

浅谈强制访问控制(MAC)

浅谈强制访问控制(MAC) 【摘要】访问控制:安全保障机制的核心内容,是实现数据保密性和完整性的主要手段。访问控制是为了限制访问主体(或成为发起者,是一个主动的实体:如用户、进程、服务等),对访问客体(需要保护的资源的)访问权限。从而使计算机系统在合法范围内合用访问控制机制决定用户及代表一定用户利益的程序能干什么、及做到什么程度。 访问控制分类:1)传统访问控制:自主访问控制DAC,强制访问控制MAC;2)新型访问控制:基于角色的访问控制RBAC,基于任务的访问控制TBAC……。本文主要谈论传统访问控制中的强制访问控制MAC。 【关键词】访问控制、强制访问控制、Bell-Lapadula安全模型 引言 随着我国经济的持续发展和国际地位的不断提高,我国的基础信息网络和重要信息系统面临的安全威胁和安全隐患比较严重,计算机病毒传播和网络非法入侵十分猖獗,网络违法犯罪持续大幅上升,给用户造成严重损失。 访问控制是信息安全保障机制的核心内容,它是实现数据保密性和完整性机制的主要手段。访问控制是为了限制访问主体(或称为发起者,是一个主动的实体;如用户、进程、服务等),对访问客体(需要保护的资源)的访问权限,从而使计算机系统在合法范围内使用;访问控制机制决定用户及代表一定用户利益的程序能做什么,及做到什么程度。 访问控制,作为提供信息安全保障的主要手段,及最为突出的安全机制, 被广泛地应用于防火墙、文件访问、VPN及物理安全等多个方面。其中,强制访问控制就在次方面有很重要的作用。 访问控制从实现的基本理念来分有以下两种: 1)强制访问控制(Mandatory access control) 2)自主访问控制(Discretionary access control) 本文主要谈论强制访问控制控制,包括其定义、原理及其分类。 一、强制访问控制

访问控制模型综述

访问控制模型研究综述 沈海波1,2,洪帆1 (1.华中科技大学计算机学院,湖北武汉430074; 2.湖北教育学院计算机科学系,湖北武汉430205) 摘要:访问控制是一种重要的信息安全技术。为了提高效益和增强竞争力,许多现代企业采用了此技术来保障其信息管理系统的安全。对传统的访问控制模型、基于角色的访问控制模型、基于任务和工作流的访问控制模型、基于任务和角色的访问控制模型等几种主流模型进行了比较详尽地论述和比较,并简介了有望成为下一代访问控制模型的UCON模型。 关键词:角色;任务;访问控制;工作流 中图法分类号:TP309 文献标识码: A 文章编号:1001-3695(2005)06-0009-03 Su rvey of Resea rch on Access Con tr ol M odel S HE N Hai-bo1,2,HONG Fa n1 (1.C ollege of Computer,H uazhong Univer sity of Science&Technology,W uhan H ubei430074,China;2.Dept.of C omputer Science,H ubei College of Education,Wuhan H ubei430205,China) Abst ract:Access control is an im port ant inform a tion s ecurity t echnolog y.T o enha nce benefit s and increa se com petitive pow er,m a ny m odern enterprises hav e used this t echnology t o secure their inform ation m ana ge s yst em s.In t his paper,s ev eral m a in acces s cont rol m odels,such as tra dit iona l access control m odels,role-bas ed acces s cont rol m odels,ta sk-ba sed acces s control m odels,t as k-role-based access cont rol m odels,a nd s o on,are discus sed a nd com pa red in deta il.In addit ion,we introduce a new m odel called U CON,w hich m ay be a prom ising m odel for the nex t generation of a ccess control. Key words:Role;Ta sk;Access Cont rol;Workflow 访问控制是通过某种途径显式地准许或限制主体对客体访问能力及范围的一种方法。它是针对越权使用系统资源的防御措施,通过限制对关键资源的访问,防止非法用户的侵入或因为合法用户的不慎操作而造成的破坏,从而保证系统资源受控地、合法地使用。访问控制的目的在于限制系统内用户的行为和操作,包括用户能做什么和系统程序根据用户的行为应该做什么两个方面。 访问控制的核心是授权策略。授权策略是用于确定一个主体是否能对客体拥有访问能力的一套规则。在统一的授权策略下,得到授权的用户就是合法用户,否则就是非法用户。访问控制模型定义了主体、客体、访问是如何表示和操作的,它决定了授权策略的表达能力和灵活性。 若以授权策略来划分,访问控制模型可分为:传统的访问控制模型、基于角色的访问控制(RBAC)模型、基于任务和工作流的访问控制(TBAC)模型、基于任务和角色的访问控制(T-RBAC)模型等。 1 传统的访问控制模型 传统的访问控制一般被分为两类[1]:自主访问控制DAC (Discret iona ry Acces s Control)和强制访问控制MAC(Mandat ory Acces s C ontrol)。 自主访问控制DAC是在确认主体身份以及它们所属组的基础上对访问进行限制的一种方法。自主访问的含义是指访问许可的主体能够向其他主体转让访问权。在基于DAC的系统中,主体的拥有者负责设置访问权限。而作为许多操作系统的副作用,一个或多个特权用户也可以改变主体的控制权限。自主访问控制的一个最大问题是主体的权限太大,无意间就可能泄露信息,而且不能防备特洛伊木马的攻击。访问控制表(ACL)是DAC中常用的一种安全机制,系统安全管理员通过维护AC L来控制用户访问有关数据。ACL的优点在于它的表述直观、易于理解,而且比较容易查出对某一特定资源拥有访问权限的所有用户,有效地实施授权管理。但当用户数量多、管理数据量大时,AC L就会很庞大。当组织内的人员发生变化、工作职能发生变化时,AC L的维护就变得非常困难。另外,对分布式网络系统,DAC不利于实现统一的全局访问控制。 强制访问控制MAC是一种强加给访问主体(即系统强制主体服从访问控制策略)的一种访问方式,它利用上读/下写来保证数据的完整性,利用下读/上写来保证数据的保密性。MAC主要用于多层次安全级别的军事系统中,它通过梯度安全标签实现信息的单向流通,可以有效地阻止特洛伊木马的泄露;其缺陷主要在于实现工作量较大,管理不便,不够灵活,而且它过重强调保密性,对系统连续工作能力、授权的可管理性方面考虑不足。 2基于角色的访问控制模型RBAC 为了克服标准矩阵模型中将访问权直接分配给主体,引起管理困难的缺陷,在访问控制中引进了聚合体(Agg rega tion)概念,如组、角色等。在RBAC(Role-Ba sed Access C ontrol)模型[2]中,就引进了“角色”概念。所谓角色,就是一个或一群用户在组织内可执行的操作的集合。角色意味着用户在组织内的责 ? 9 ? 第6期沈海波等:访问控制模型研究综述 收稿日期:2004-04-17;修返日期:2004-06-28

网上银行系统强制性访问控制要求及实现方法

网上银行系统强制性访问控制要求及实现方法https://www.360docs.net/doc/566780993.html, 2012-11-07 14:32来源:中国电子银行网字号:小| 大导语:《网上银行系统信息安全通用规范》是金融机构开展网上银行系统建设的规范性依据,同样是行业主管部门、评估检测机构进行检查、检测及认证的标准化依据。因此,深入理解规范要求,对各方加强信息安全建设有着重要的意义,本文主要介绍了《规范》中的强制访问控制概念及实现方法。 由中国人民银行组织编制的金融行业标准《网上银行系统信息安全通用规范》(JR/T 0068-2012)(以下简称《网银规范》)于2012年5月终于发布了正式版本。同之前的版本比较,变化较为明显。比如《网银规范》在主机安全和应用安全方面新增加了对强制访问控制的要求,笔者及团队在协助银行进行自检的过程中就碰到了行方对该项要求的一些疑惑。本文将介绍强制访问控制的一些概念及实现方法。先引用一下《网银规范》的要求项: “6.1.4.3 主机安全增强要求: c) 应对重要信息资源设置敏感标记。 d) 应依据安全策略严格控制用户对有敏感标记重要信息资源的操作。 6.1.4.4 应用安全增强要求: e) 应具有对重要信息资源设置敏感标记的功能。 f) 应依据安全策略严格控制用户对有敏感标记重要信息资源的操作。” 《网银规范》对主机、应用的强制访问控制要求为增强要求。按照规范,增强要求为该标准下发之日起的三年内应达到的安全要求。其实在《信息安全技术-信息系统安全等级保护基本要求》(GB/T22239-2008)三级信息系统的主机安全要求及应用安全要求中就有了对重要信息资源设置敏感标记,依据安全策略严格控制用户对有敏感标记重要信息资源操作的要求。 访问控制是信息安全防范和保护的主要策略,用于保证信息资源不被非法使用和访问。访问控制是软件安全模型最重要的组件之一,可分为自主访问控制和强制访问控制两大类访问控制措施。 在自主访问控制下,用户可以对其创建的文件、数据表等进行访问,并可自主地将访问权授予其他用户。此类操作系统在TCSEC中约等同于C2级或以上。在强制访问控制下,系统对需要保护的信息资源进行统一的强制性控制,按照预先设定的规则控制用户、进程等主体对信息资源的访问行为。此类操作系统在TCSEC中约等同于B1级或以上。

基于分级角色的访问控制

V o l .32N o.11 2006211 华东理工大学学报(自然科学版) Journal of East Ch ina U niversity of Science and T echno logy (N atural Science Editi on ) 收稿日期:2005211203 作者简介:肖宝亮(19752),男,河北唐山人,硕士生,主要研究方向为 信息安全。 通讯联系人:顾春华,E 2m ail:chgu@ecust .edu .cn 文章编号:100623080(2006)1121327204 基于分级角色的访问控制 肖宝亮, 顾春华, 高小伍, 陈德庆(华东理工大学信息科学与工程学院,上海200237) 摘要:结合RBA C 模型,提出了一种基于分级角色的访问控制模型,将系统用户依据职能的不同分为不同的角色,同一类角色又划分不同的等级。定义了基本概念和等级2角色矩阵,进行了形式化的描述,并应用在实际系统中。每一个实际用户通过不同等级的角色,对应于不同访问权限的资源,并可动态地进行角色转换和等级变迁,从而使访问控制机制更为灵活。 关键词:基于分级角色的访问控制;分级角色;权限;访问控制;等级角色矩阵中图分类号:T P 393.08文献标识码:A Access Con trol Based on Graded Roles X IA O B ao 2liang , GU Chun 2hua , GA O X iao 2w u , CH EN D e 2qing (S chool of Inf or m a tion S cience and E ng ineering ,E ast Ch ina U n iversity of S cience and T echnology ,S hang ha i 200237,Ch ina ) Abstract :Com b in ing w ith RBA C m odel ,a graded ro les based access con tro l m odel is p u t fo rw ard .System u sers are divided in to differen t k inds of ro les by their functi on s ,and one k ind of ro les are divided in to differen t grades .B asic concep ts and the grade 2ro le m atrix are defined ,the m odel is described fo rm aly and app lied to p ractical system s .R eal u sers are co rresponding to differen t access au tho rizati on sou rces th rough differen t graded ro les ,the ro le conversi on and grade variance can be dynam ically com p leted ,so the access con tro l m echan is m becom es m o re flex ib le . Key words :grade ro le based access con tro l ;graded ro le ;au tho rity ;access con tro l ;graded 2ro le m a 2trix 访问控制又称权限管理,用来确保只有被授权 用户才能访问敏感信息的机制。访问控制模型是研究者抽象出来用以描述访问控制机制的一套概念和规则。20世纪60年代的自主访问控制(DA C )模型和70年代的强制访问控制(M A C )模型的迅速发展,带动了访问控制模型的研究,先后出现了基于状态的访问控制(SBA C )、基于层的访问控制模型(LBA C )、基于任务的访问控制模型(TBA C )。90年代后,基于角色的访问控制模型(RBA C )[1]逐渐成 为访问控制模型的主流,RBA C 在用户和被访问资 源之间增加了角色,根据安全策略划分出不同的角色,用户对资源访问可以被封装在角色中,不同的用户被指派到相同或不同的角色,用户通过角色间接地访问资源。 RBA C 的最大优点在于它能够灵活表达和实现安全政策,也在很大程度上提高了访问速度,并解决了因用户过多而导致的访问效率低与维护困难等问题,使管理员从访问控制底层的具体实现机制中脱离出来,十分接近日常的组织管理规则,也因此得到了广泛的实际应用。 随着企业对访问控制的需求日益变化,暴露出了RBA C 的明显缺陷:每种角色只对应一种授权资源;角色与授权资源的关系是静态不能改变的。这使 7 231

浅谈访问控制策略

浅谈访问控制策略 身份鉴别与访问控制是信息安全领域的两个十分重要的概念。然而,对这两个概念的含义往往有不同的理解。希望通过本文所引发的讨论能对统一这两个概念的理解有所帮助。 在GB17859中.身份鉴别指的是用户身份的鉴别,包括用户标识和用户鉴别。在这里.用户标识解决注册用户在一个信息系统中的惟一性问题.用户鉴别则解决用户在登录一个信息系统时的真实性问题。一般情况下.当用户注册到一个系统时,系统应给出其惟一性的标识.并确定对其进行鉴别使用的信息(该信息应是保密的、并且是难以仿造的.一方面以一定方式提供给用户.另一方面由系统保存)。当用户登录到该系统时,用户应提供鉴别信息,系统则根据注册时所保留的鉴别信息对用户所提供的鉴别信息的真实性进行鉴别。 其实.从更广义的范围来讲.信息系统中的身份鉴别应包括用户身份鉴别和设备身份鉴别.用户身份鉴别又分为注册用户的身份鉴别和网上数据交换用户的身份鉴别。上述GB17859中的身份鉴别主要指的是注册用户的身份鉴别。网上数据交换时用户的身份鉴别是指非注册用户间进行数据交换时的身份鉴别。也就是通常所说的在相互不知道对方身份的情况下,又要确认对方身份的真实、可信.从而确认数据交换的可信赖性。这就需要通过所谓的可信第三方(如由CA 系统提供的认证机制)实现数据交换双方身份的真实性认证。关于设备的身份鉴别.其实与注册用户的身份鉴别没有多大区别.只是鉴别的对象是接入系统的设备而已。对接入系统的设备进行身份鉴别.同样要先对其进行注册,并在注册时确定鉴别信息(鉴别信息既与设备相关联.又由系统保留)。当需要将设备接入系统时.被接入设备需提供鉴别信息,经系统确认其身份的真实性后方可接入。 访问控制在GB17859中同样有其特定的含义.并对自主访问控制和强制访问控制的策略做了具体的说明。其实.访问控制在更广的范围有着更广泛的含义。在许多情况下.人们往往把身份鉴别也称作是一种访问控制。如果我们把是否允许登录系统看作是是否允许对系统进行访问.把身份鉴别称为访问控制也未尝不可。问题是需要对其具体含义做清晰的描述。这也是我们为什么把身份鉴别与访问控制这两个概念一起进行讨论的原因

基于岗位抽象的角色权限控制模型设计与实现

龙源期刊网 https://www.360docs.net/doc/566780993.html, 基于岗位抽象的角色权限控制模型设计与实现 作者:王伟全张学平 来源:《软件导刊》2012年第01期 摘要:通过对传统访问控制技术及其局限性的探讨,提出了全新的基于岗位抽象的角色 权限控制模型,画出了新模型的图示,介绍了新模型中“用户定岗”和“岗位授权”两个主要关系,阐述了新模型的优点。详细地阐述了实现新模型的关键技术,给出了新模型的总体结构图和总体类图,并对总体类图中的各个类及其关系进行了详细的说明。最后,总结了新模型的实用性及其推广应用价值。 关键词:RBAC;岗位;岗位互斥;定岗;授权 中图分类号:TP311.52 文献标识码:A 文章编号:1672-7800(2012)001-0107- 1 传统访问控制技术及其局限性 访问控制实质上是对资源使用的限制,决定主体是否被授权客体或资源执行某种操作,是 保障系统安全不可或缺的重要组成部分。目前,主要有3种不同类型的访问控制:自主访问控制(DAC)、强制访问控制(MAC)和基于角色的访问控制(RBAC)。 自主访问控制(DAC)是目前计算机系统中实现最多的访问控制机制,如Windows操作系统。强制访问控制(MAC)是强加给访问主体的,即系统强制主体服从既定的访问控制策略,主要应用于军事方面。这两种访问控制方式都只适用于特定的领域,具有一定的局限性。基于角色的访问控制(RBAC)引入了角色的概念,在授权主体和客体之间增加的角色这个中间层,实现了主客体的逻辑分离,具有一定的通用性。但RBAC在实际的应用中仍然存在一 些问题,如:角色的继承机制有缺陷,会造成某些角色的权限过大;权限定义较模糊、笼统,不够清晰;无法满足“同角色不同人员不同权限”的需求。基于上述原因,本文提出一种扩展的 RBAC新模型,引入了“岗位”概念,有效地弥补了传统RBAC的不足。 2 基于岗位抽象的角色权限控制模型 2.1 模型定义 新模型是在传统RBAC模型基础上引入“岗位”概念,模拟现实中的岗位管理制。其基本思想是:机构与角色结合形成岗位,模块与操作结合形成权限,先将权限赋给岗位(授权),再将人员指派到岗位(定岗),实现对系统资源的细粒度访问控制。如图1所示:

基于角色的访问控制技术(RBAC)

RBAC(Role Based Access Control) 访问控制是通过某种途径显示的准许或限制访问能力及范围,从而限制对目标资源的访问,防止非法用户的侵入或合法用户的不慎操作所造成的破坏[2]。目前流行的访问控制模型有自主访问控制模型(Discretionary Access Control,DAC)、强制访问控制模型(Mandatory Access Control, MAC)和基于角色的访问控制模型(Role-Based Access Control,RBAC)。自主访问控制是访问控制技术中最常见的一种方法,允许资源的所有者自主地在系统中决定可存取其资源客体的主体,此模型灵活性很高,但安全级别相对较低;强制访问控制是主体的权限和客体的安全属性都是固定的,由管理员通过授权决定一个主体对某个客体能否进行访问。无论是DAC 还是MAC 都是主体和访问权限直接发生关系,根据主体/客体的所属关系或主体/客体的安全级别来决定主体对客体的访问权,它的优点是管理集中,但其实现工作量大、不便于管理,不适用于主体或客体经常更新的应用环境。RBAC是一种可扩展的访问控制模型,通过引入角色来对用户和权限进行解耦,简化了授权操作和安全管理,它是目前公认的解决大型企业的统一资源访问控制的有效访问方法,其 2 个特征是:(1) 由于角色/权限之间的变化比角色/用户关系之间的变化相对要慢得多,从而减小授权管理的复杂性,降低管理开销;(2)灵活地支持企业的安全策略,并对企业变化有很大的伸缩性。 2.2 RBAC 模型的基本思想 在 RBAC 模型中,角色是实现访问控制策略的基本语义实体。系统管理员可以根据职能或机构的需求策略来创建角色、给角色分配权限并给用户分配角色,用户能够访问的权限由该用户拥有的角色权限集合决定,即把整个访问控制过程分成2步:访问权限与角色相关联,角色再与用户关联,从而实现用户与访问权限的逻辑分离。 RBAC 模型引入了Role的概念,目的是为了隔离User(即动作主体,Subject)与Pr ivilege(权限,表示对Resource的一个操作,即Operation+Resource),当一个角色被指定给一个用户时,此用户就拥有了该角色所包含的权限。 Role作为一个用户(User)与权限(Privilege)的代理层,解耦了权限和用户的关系,所有的授权应该给予Role而不是直接给User或Group。 2.3 RBAC 基本模型

访问控制方式总结

访问控制方式总结 授权是根据实体所对应的特定身份或其他特征而赋予实体权限的过程,通常是以访问控制的形式实现的。访问控制是为了限制访问主体(或称为发起者,是一个主动的实体,如用户、进程、服务等)对访问客体(需要保护的资源)的访问权限,从而使计算机系统在合法范围内使用;访问控制机制决定用户及代表一定用户利益的程序能做什么以及做到什么程度。访问控制依据特定的安全策略和执行机制以及架构模型保证对客体的所有访问都是被认可的,以保证资源的安全性和有效性。 访问控制是计算机发展史上最重要的安全需求之一。美国国防部发布的可信计算机系统评测标准(Trusted Computer System Evaluation Criteria,TCSEC,即橘皮书),已成为目前公认的计算机系统安全级别的划分标准。访问控制在该标准中占有极其重要的地位。安全系统的设计,需要满足以下的要求:计算机系统必须设置一种定义清晰明确的安全授权策略;对每个客体设置一个访问标签,以标示其安全级别;主体访问客体前,必须经过严格的身份认证;审计信息必须独立保存,以使与安全相关的动作能够追踪到责任人。从上面可以看出来,访问控制常常与授权、身份鉴别和认证、审计相关联。 设计访问控制系统时,首先要考虑三个基本元素:访问控制策略、访问控制模型以及访问控制机制。其中,访问控制策略是定义如何管理访问控制,在什么情况下谁可以访问什么资源。访问控制策略是动态变化的。访问控制策略是通过访问机制来执行,访问控制机制有很多种,各有优劣。一般访问控制机制需要用户和资源的安全属性。用户安全属性包括用户名,组名以及用户所属的角色等,或者其他能反映用户信任级别的标志。资源属性包括标志、类型和访问控制列表等。为了判别用户是否有对资源的访问,访问控制机制对比用户和资源的安全属性。访问控制模型是从综合的角度提供实施选择和计算环境,提供一个概念性的框架结构。 目前人们提出的访问控制方式包括:自主性访问控制、强访问控制、基于角色的访问控制等

基于角色的访问控制(RBAC)设计思想

基于角色的访问控制(RBAC)设计思想 基于角色的访问控制设计思想 摘要 分析访问控制的一般设计思路,提出一套基于角色的访问控制的设计思路,并使其成为一个模块加入到系统中使得系统能实现为不同角色的用户提供不同的权限并进行验证等功能。 内容简介 有这么一个案例:国内有一家大型知名医药企业,它们使用了一套企业管理系统,总公司经理用自己的账户登录后能进行查看企业销售报表,审核订单等操作,而区域销售代表用自己的账户登录后能够使用该系统进行客户信息维护、为客户下订单、提取预付款等操作,在公司总部大楼内,财务部会计用自己的账户登录后可以使用帐务结算、工资发放等操作… 在这套系统中,区域销售代表是无权查看企业销售报表,也无权进行审核订单操作的,其他人也类似,整个企业的所有员工在该系统中都各司其职,都无法越权使用超越自己职责范围的操作。甚至他们各自进入系统所能看到的界面都不尽

相同。这对该系统来说,它就必须要有一个判断逻辑:主体、行为、对象,也就是说谁能做什么事或者谁不能做什么事。 本文将和你一起讨论该访问控制模块的设计思想,首先将会提供一些模型并加以分析,然后一步步改进,最后得到一个小型但是比较完整的模型。目的 注意本文所实现的模型并不是完整意义的访问控制系统,它仅仅实现了其中的一小部分,它只解决一些粗粒度的权限,也就是仅仅告诉系统谁能做什么事或者谁不能做什么事。从程序的角度来讲,它只是以能为上层的访问控制系统提供服务为目标。相当多细粒度的权限问题因其极其独特而不具 通用意义,它们被看作是业务逻辑的一部分。比如,要求:合同只能被它的创建者删除,与创建者同组的用户可以修改,所有的用户能够浏览,这既可以认为是一个细粒度的权限 问题,也可以认为是一个业务逻辑问题,在整个权限系统的架构设计之中对其不予过多考虑。 当然,权限系统的架构也必须要能支持这样的控制判断。或者说,系统提供足够多但不是完全的控制能力。系统只提 供粗粒度的权限,细粒度的权限被认为是业务逻辑的职责,它不提供所有关于权限的问题的解决方法,只提供一个基础,并解决那些具有“ 共性” 的( 或者说粗粒度的) 部分。

基于重复角色和任务优先级的访问控制模型

基于重复角色和任务优先级的访问控制模型 姜增虎, 陈茂华 大连理工大学软件学院, 大连(116621) E-mail:jzhgxm@https://www.360docs.net/doc/566780993.html, 摘要:针对一个角色可以对应多个不同的任务,以及任务重要性的不同,在任务规则的基础上,提出了基于重复角色和任务优先级的访问控制模型。其基本思想是一个用户可以同时拥有多个角色,通过角色可以获得其相应的任务,然后在执行某个任务的具体实例时,根据实例的状态获得该任务所允许访问的客体的权限。同时根据角色的不同把其对应的任务划分优先级,这样当用户对应多个角色时可以首先完成优先级高的任务,保证用户实时完成最优任务,提供了更灵活的授权机制。 关键词:重复角色,任务优先级,访问控制,任务实例 1. 引言 随着信息技术的不断发展和大规模的应用,使得信息系统的安全问题备受关注。而且人们在为实现计算机安全的征程中经历着不断的探索。访问控制定义了主体对客体的访问权限,是应用系统对经过身份认证进入系统的用户访问数据资源的控制,是信息得到安全保护的核心技术和最有效的手段。应用系统的访问控制机制有效地防止非法用户入侵系统及合法用户对资源地越权使用,是保护系统信息安全地一条有效途径。传统的访问控制方法包括自主访问控制(DAC)、强制访问控制(MAC)、基于角色的访问控制(RBAC)和基于任务的访问控制(TBAC)。 文献[5]DAC的主要特点体现在主体可以自主地把自己所拥有客体的访问权限授予其他主体,或者从其他主体收回所授予的权限,没有存取权的用户只允许由用户指定对客体的访问权。由于用户可以任意传递权限,那么,没有访问文权限的用户就能够从有访问权限的用户那里得到访问权限;因此,DAC的最大问题是信息在移动过程中其访问权限关系被改变,容易产生安全漏洞。从而不能给系统提供充分的数据保护。 文献[5]MAC由系统管理员从系统角度定义和实施的访问控制,通过标记系统中的主客体,强制地限制信息地共享和流动,使不同的用户只能访问到与其有关的、指定范围内的信息。MAC虽然大大提高了安全性,但是在灵活性上就会大打折扣。 文献[3]引入角色的概念,把权限授予角色而不是直接授予主体,主体通过角色来得到客体操作权限,从而实现授权。由于角色在系统中相对于主体的稳定性,对于权限管理的相对直观性,从而大大地提高了效率,简化了分布式环境下地授权操作和管理。但是它的授权方式是静态的,而且这种方式破坏了“最小特权”的原则。 文献[4]则是以任务为中心,对访问权限控制不是静止不变的,而是随着执行任务的上下文环境发生变化。在处理的过程中提供动态、实时的安全处理。因此,TBAC是动态授权的主动安全模型。但是,这种授权方式不利于授权操作的安全管理。 结合文献[1,2,6]中重复角色的概念,针对一个角色可对应多个不同的任务,我们把对应不同任务的同一角色视为两个重复角色;同时一个用户可对应多个不互斥的角色,根据角色的不同把对应的任务划分优先级,这样提出了基于重复角色和任务优先级的访问控制模型,用这个模型去实现访问控制,不但使系统的安全性得到了保证,而且使用户最大限度的实时完成最优的任务,从而提高了系统的效率,实现了更灵活的授权机制。 此外,我们还提出了把任务和权限绑定在一起的思想,即把任务用权限来表示,这样当

LSM框架下可执行程序的强制访问控制机制

召,DARPA等开展了LSM(Linux Security Module)[1]的研发。LSM是一种灵活的通用访问控制框架,用户可以根据安全需求来选择安全模块,加载到Linux内核中,从而提高其安全访问控制机制的易用性。 1 LSM框架研究 LSM的设计思想是在内核对象数据结构中放置透明安全域(opaque security field)作为其安全属性,并在内核源代码中放置钩子(hook)函数,由hook函数来完成对内核对象的访问的判断,基本原理如图1所示。在LSM框架下,用户进程执行系统调用时,将通过原有的内核接口逻辑依次执行功能性错误检查、传统的DAC检查,并在访问内核对象之前,通过hook函数调用具体的访问控制策略实现模块来决定该访问是否合法。 图1 LSM的基本原理 LSM实现了一个通用的访问控制框架[2],为安全模块的开发提供了统一的标准接口,并对内核作了以下2处重要修改[3]:(1)为内核数据结构添加透明安全域;(2)在内核代码中的关键访问点插入安全钩子函数。 1.1 透明安全域 任何安全模型要控制主体对客体的访问,首先必须对主和客体进行安全标识。LSM 作为一个通用的访问控制框架,基金项目:国家“973”计划基金资助项目“信息与网络安全体系结构研究”(G1999035801) 作者简介:刘威鹏(1980-),男,博士研究生,主研方向:可信计算,安全操作系统;胡俊、吕辉军、刘毅,博士研究生 收稿日期:2007-05-09 E-mail:wpliu@https://www.360docs.net/doc/566780993.html, —160—

不能为内核对象指定特定的安全标签,而需要指定一个能够适应安全模型变化的标签。因此,LSM框架通过在内核对象的数据结构中添加透明安全域来实现框架本身的通用性。LSM在内核中9个与访问控制相关的内核对象数据结构中添加了透明安全域,例如:inode(文件)、Linux_bprm(可执行程序)、super_block(文件系统)等。透明安全域本身是一个空指针类型(void*),该域的具体结构由安全模块定义,通过该域能将安全信息与内核对象关联。 1.2 安全钩子函数 LSM提供了2类hook函数:(1)用于分配、释放和管理内核对象的透明安全域;(2)用于控制对内核对象的访问。对这2类hook函数的调用均是通过全局表security_ops(即指向security_opertations的指针)中的函数指针来实现的,在security_operations结构体中定义了150多个函数指针,这些指针分为6类,分别与进程、文件系统、可执行程序、进程间通信、网络以及系统操作有关,安全开发者通过对其中的hook函数进行具体实现来满足实际的安全需求。 2 可执行程序的强制访问控制的设计和实现 2.1 问题分析 在Linux系统中的/bin, /sbin等目录中存在很多与系统管理相关的可执行程序,由于它们涉及到许多重要的操作,例如,通过执行grub能够更改系统的启动,通过insmod, rmmod 能够添加和删除模块,因此系统提供了一套自主访问控制机制来对这些可执行程序进行保护。每个可执行程序根据其所属的“owner-group-other ”3个层次各自分为“读(r)-写(w)-执行(x)”3个操作项,系统提供了chmod的命令,允许可执行程序的拥有者能够修改操作项,还提供了chown命令允许拥有者改变对象的拥有权。在上述目录中,绝大部分可执行程序在“其他”位上都设置为“x”标志,意味着这些程序对于系统中任何用户都是可执行的,而在实际的应用环境中,系统的普通用户只能够执行完成基本任务的一系列可执行程序,而不应有其他特权操作。为方便系统的管理,还设置了root用户,该用户具有特权,能够执行任何可执行程序并对其执行其他操作。这种对于可执行程序的保护机制的安全性建立在root用户不会被冒充并熟悉系统各项管理等假设的基础之上,因此,由root用户全权负责系统的管理在一定程度上能够方便系统的管理,并易于使用。而在实际中,一旦超级用户被攻破或超级用户进程被非法控制,会给系统带来很大的安全威胁和隐患。 2.2 安全策略和设计方案 对于高安全等级的操作系统,强制访问控制是必须的。为了防止用户对可执行程序的滥用,避免不必要的权限扩大给系统带来的安全威胁和安全隐患,需要对用户能够运行的可执行程序进行强制访问控制限制。该强制性是系统安全管理员通过授权管理工具,根据系统的实际安全需求和威胁进行配置的,即使是系统的超级用户或可执行程序的拥有者也无法改变。 在原型系统中,用户分2级:0级为管理员用户,1级为普通用户;可执行程序也分为2级:0级为特权可执行程序,1级为普通可执行程序。此外,每个用户具有一个访问控制号(ACL_NUM),每个可执行程序具有一个访问控制字符串(ACL_STRING)。可执行程序强制访问控制策略为:0级用户可以执行0级和1级的可执行程序,1级用户不能执行0级可执行程序,只能执行在全局资源访问控制链表中级别为1,并且该用户的ACL_NUM和链表中可执行程序ACL_STRING相匹配的可执行程序。 为便于可执行程序管理,在系统中维护了3个可执行程序控制白表:(1)系统最小授权可执行程序白表,定义了每个用户在系统中能够执行的最小的操作集合;(2)用户组最小授权可执行程序白表,在系统中,每个用户隶属于一个用户组,用户组中的每一个用户都继承用户组最小授权可执行程序白表;(3)用户配置可执行程序白表。在通过授权管理工具成功添加一个新用户后,该用户能够继承系统最小授权可执行程序白表和该用户所隶属的用户组授权最小可执行程序白表,而通过授权管理工具,能够对于用户配置可执行程序白表进行添加、删除以及修改操作,也能够对用户组授权最小可执行程序链表进行修改。以上3个白表最终合成用户可执行程序白表。在Linux安全模块初始化时,系统的链表初始化函数读取用户可执行程序白表文件,在系统内存中构造出全局资源访问控制链表,用于程序访问控制的最终判定使用。2.3 关键数据结构和主要钩子函数 作为验证,在Linux2.6.11内核上实现了可执行程序的强制访问控制系统原型,以下是关键数据结构: //系统核安全状态数据结构 struct Sos_core_sec_state_type { struct list_head * fs_list; void * user_sec_data; }; 上述结构是系统安全中枢,记录了系统安全信息。fs_list 为指向文件系统安全状态数据结构队列的指针,在系统中维护一个文件系统安全数据状态结构链表,从而提供对多个不同类型文件系统的支持。user_sec_data是指向用户安全状态数据结构的指针,这时的系统核安全状态数据结构和一个用户安全状态数据结构相对应。其中,list_head结构体是Linux 内核源代码中定义的双向链表,该结构体本身不存取任何信息,只是提供给其他结构作为双向链表的接口。 //文件系统安全状态数据结构 struct Sos_fs_sec_state_type { struct list_head * file_attr_listhead; }; 上述结构是添加在内核超级块(super_block)数据结构上的透明安全域,记录了某个文件系统的安全信息,其中file_attr_listhead为指向资源(文件或目录)访问控制链表的指针,该队列形成整个文件系统的访问控制信息列表。 //索引节点安全状态数据结构 struct Sos_inode_sec_state_type { unsigned int inode_mac_level; char acl[16]; }; 上述结构是添加在内核索引节点(inode)数据结构上的透明安全域,记录了某个索引节点的安全信息。其中,inode_mac_level是某个索引节点的访问控制安全级别,即强制访问控制中客体的安全标记,用于判断用户能否访问可执行程序。acl[16]是一个字符串数组,其中存储了一个128 b 的二进制数,用于维护索引节点的访问控制信息。 //系统用户安全数据结构 struct Sos_user_sec_data_type { int user_level; int user_acl_no; }; 上述结构主要记录用户安全信息。其中,user_level为用户的安全级别,即主体的安全标记,用于判断用户能否访问 —161—

相关文档
最新文档