访问控制是指控制对一台计算机或一个网络中的某个资源的访问。没有它,所有人都可以访问任何资源。有了访问控制,用户在获取实际访问资源或进行操作之前,
必须通过识别、验证、授权。
换言之,访问控制控制着一个主体(subject)可以访问哪些对象(objects)。主体和对象是访问控制模型和技术中的两个重要术语。主体是指可以
授予或拒绝访问某个对象的人或事物,如用户,程序,系统进程。对象的例子如文件、打印机、程序、系统进程等。
访问控制模型
开发者需要在他们的软件和设备中实现访问控制功能,访问控制模型为之提供了模型。有三种不同的模型:DAC,MAC,和RBAC。
Discretionary Access Control(DAC)
主体对它所属的对象和运行的程序拥有全部的控制权。例如,Alice拥有一个叫mywork.doc的文件。她许可Bob和Sales
group的成员来读这个文件,除此之外别的人都不可以。改进的DAC实现提供了一个基于“need-to-know”的访问授权的方法,默认拒绝任何人
的访问。访问许可必须被显式地赋予访问者。
被某个用户执行的程序拥有与该用户相同的权限。这意味着系统安全依靠运行的程序,因此,当一个程序中发生安全裂缝,会影响到该用户能访问的所有对象。这使
得DAC在特洛伊木马前特别脆弱。例如,假设Alice对文件file1.doc拥有读写权限。Charlie,一个恶意攻击者,写了一个程序,这个程序
在执行时生成文件file2.doc.这个程序授予Alice写权限和Charlike读权限。Charlie把这个程序伪装成合法的程序发给
Alice。当Alice运行这个程序是,它就具有了和Alice相同的权限。它可以拷贝file1.doc到file2.doc,这样charlie就
窃取了file1.doc的内容。如果一个管理员执行这个程序,攻击者会获取最大的特权,危害整个系统的安全。
Mandatory Access Control(MAC)
在MAC这种模型里,管理员管理访问控制。管理员制定策略,用户不能改变它。策略定义了哪个主体能访问哪个对象。这种访问控制模型可以增加安全级别,因为
它基于策略,任何没有被显式授权的操作都不能执行。MAC被开发和实现在最重视保密的系统中,如军事系统。主体获得清楚的标记,对象得到分类标记,或称安
全级别。
最早的MAC模型,参照Bell and
LaPadula,访问权根据主体的数字化的访问级别和对象的访问级别标记来授予。例如,管理员的访问级别65535,Alice的是100,客人
(Guest)是1,有两个文件,file1级别2,file2级别200,这样Alice只能访问file1,客人不能访问file1和file2,管
理员两个文件都可以访问。用户的访问级别需要比他想访问的对象的级别高或者相等。Bell and
LaPadula模型,后来扩展为“多级安全”(Multi-Level
Security,MLS)。MLS典型地应用到军事领域中,对每个对象使用标记(如top
secret,secret,confidential,unclassfied)实现了一个外部安全层。只有位于相同层或更高层的用户能访问对象。工作
机制是“need to know
basis”,即最少的特权,用户只能访问他工作需要的对象。同时,主体不能向下写,即他们不能写或创建低于自己级别的标记的对象。这防止了主体把秘密和
低于它的级别的主体共享,从而保证信息保密。
Role Based Access Control(RBAC)
管理员定义一系列角色(roles)并把它们赋予主体。系统进程和普通用户可能有不同的角色。设置对象为某个类型,主体具有相应的角色就可以访问它。这样
就把管理员从定义每个用户的许可权限的繁冗工作中解放出来。
基于角色的访问控制模型RBAC,有时成为基于规则的基于角色的访问控制(Rule-Based Role-Based Access
Control,RB-RBAC)。它包含了根据主体的属性和策略定义的规则动态地赋予主体角色的机制。例如,你是一个网络中的主体,你想访问另一个网络
中的对象。这个网络在定义好了访问列表的路由器的另一端。路由器根据你的网络地址或协议,赋予你某个角色,这决定了你是否被授权访问。
实际使用
现代操作系统组合使用了上述的访问控制模型。尽管Windows NT没有实际使用RBMC,它使用内建的组实现了类似的模型,如Power
Users,Server Operators,Backup
Operators。管理员可以根据作业的行为增加额外的角色。拥有适当权限的用户可以分享资源,如文件和打印机,而且与DAC模型相应的,自主决定给与
其它用户和组访问权。
分享到:
相关推荐
详细介绍了RBAC的访问控制逻辑,以及在实践中的最佳应用实践(以电子政务系统为例),定义了核心、层次和受限制的RBAC模型。
题目1:自主访问控制实验; 要求:设计必需的界面环境, (1) 对主体、客体、权限进行定义和配置 (2) 对主体进行自主授权 (3) 对主体的访问权限进行控制实验 (4) 对主体进行传递授权的操作,通过实验观察系统...
基于角色的访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注。在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大...
访问控制是通过某种...目前流行的访问控制模型有自主访问控制模型(Discretionary Access Control,DAC)、强制访问控制模型(Mandatory Access Control, MAC)和基于角色的访问控制模型(Role-Based Access Control,RBAC)
Flask访问控制(封装了RBAC模型、蓝图和装饰器)
自主访问控制(DAC)与带有互斥角色约束的基于角色的访问控制(RBAC)演示程序,附带源码,采用C++编写。使用VS2008及以上的可以直接打开工程,否则可以使用g++等编译。程序使用命令行形式控制,输入help命令可以...
基于角色的访问控制模型(RBAC)被普遍认为是当前最具有发展潜力的访问控制策略,已成为信息安全等领域研究的热点之一。然而传统的RBAC模型不能完全适合普适计算环境下的访问控制。在传统RBAC模型的基础上引入信任...
针对单纯的RBAC模型在动态授权、细粒度授权等方面存在的不足,将属性与RBAC相结合,并保持RBAC以角色为中心的核心思想,提出了两者结合的混合扩展访问控制模型HARBAC。模型支持基于属性的用户—角色分配、角色—权限...
一种改进的RBAC访问控制模型,史亚平,宋茂强,访问控制技术是计算机系统最重要和最基础的安全技术之一。RBAC模型是一种灵活、安全的访问控制模型,但是可扩展性较差。本文提出��
针对网格环境的特点,分析了网格中实体...对RBAC技术进行了相应的改进,提出了基于RBAC的可信网格访问控制模型,给出了RTGM模型中的结构和模块以及访问控制部分的过程。可信网格访问控制提高了网格环境下的访问安全性。
电信设备-一种基于RBAC访问控制模型的用户信息访问控制方法.zip
1.本应用为基于RBAC的访问控制系统的通用平台实现,实现了RBAC0模型。 2.Web层采用SpringMVC 2.5.6构建,JSP+JQuery页面展现。 3.压缩包为Eclipse动态Web工程,可以直接导入Eclipse。 4.本应用需要JDK5.0+以上环境。...
针对云计算下访问控制的上述问题,提出一种基于基于角色的访问控制(RBAC)的云计算访问控制模型。该模型将动态可变机制与主客体安全等级引入到访问控制策略中,既可保证云环境下数据的安全性和可靠性,又具有一定的...
基于角色的访问控制(RBAC)被推荐来代替传统的访问控制模型。应用到信息系统中时,需要解决RBAC的控制粒度问题。我们需要一个能够基于上下文进行细粒度访问控制的RBAC模型,即基于对象实例上下文上的访问控制。对...
自主访问控制DAC;RBAC1访问控制实验.
基于角色的访问控制RBAC是一种方便、安全、高效的访问控制,但是对RBAC模型内部的实现机制方面研究较少。提出一种基于分拆数的角色访问控制的实现模型。该模型的主要特点是引入RBAC模型的实现代理机制;当用户进入...
介绍了三种访问控制机制:自主访问控制(DAC)、强制访问控制(MAC)和基于角色的访问控制(RBAC),并着重分析了RBAC的三种模型:RBAC96,EHRABC和ARBAC97。最后,给出了一个RBAC的实现模型。
基于角色的访问控制:对于在网站环境中的访问控制方法,基于角色的访问控制方法(RBAC)是目前公认的解决.RBAC模型广泛应用于当前的数据库系统存取控制,以提供相对于DAC和MAC较好的安全.角色访问控制(RBAC)引入了Role...
针对传统的RBAC 模型所存在的问题, 引入用户组进行了改进: 除了RBAC 模型的角色授权外, 增加了 用户组对数据资源进行授权, 使用户所拥有的权限变成用户所属角色的功能权限和用户所属部门的资源权限之 和。改进后的...