访问控制技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、访问控制技术
(一)主体、客体和访问授权
访问控制涉及到三个基本概念,即主体、客体和访问授权。
主体:是一个主动的实体,它包括用户、用户组、终端、主机或一个应用,主体可以访问客体。
客体:是一个被动的实体,对客体的访问要受控。
它可以是一个字节、字段、记录、程序、文件,或者是一个处理器、存贮器、网络接点等。
授权访问:指主体访问客体的允许,授权访问对每一对主体和客体来说是给定的。
例如,授权访问有读写、执行,读写客体是直接进行的,而执行是搜索文件、执行文件。
对用户的访问授权是由系统的安全策略决定的。
在—个访问控制系统中,区别主体与客体很重要。
首先由主体发起访问客体的操作,该操作根据系统的授权或被允许或被拒绝。
另外,主体与客体的关系是相对的,当一个主体受到另一主体的访问,成为访问目标时,该主体便成为了客体。
(二)访问控制策略
访问控制通常有三种策略:
自主访问控制( Discretionary Access Control );
强制访问控制( Mandatory Access Control );
基于角色的访问控制( Ro1e-Based Access Control )。
各种访问控制策略之间并不相互排斥,现存计算机系统中通常都是多种访问控制策略并存,系统管理员能够对安全策略进行配置使其达到安全政策的要求。
1、自主访问控制(DAC)
自主访问控制,又称为随意访问控制,根据用户的身份及允许访问权限决定其访问操作,只要用户身份被确认后,即可根据访问控制表上赋予该用户的权限进行限制性用户访问。
使用这种控制方法,用户或应用可任意在系统中规定谁可以访问它们的资源,这样,用户或用户进程就可有选择地与其他用户共享资源。
它是一种对单独用户执行访问控制的过程和措施。
由于DAC对用户提供灵活和易行的数据访问方式,能够适用于许多的系统环境,所以DAC被大量采用、尤其在商业和工业环境的应用上。
然而,DAC提供的安全保护容易被非法用户绕过而获得访问。
例如,若某用户A有权访问文件F,而用户B无权访问F,则一旦A获取F后再传送给B,则B也可访问F,其原因是在自由访问策略中,用户在获得文件的访问后,并没有限制对该文件信息的操作,即并没有控制数据信息的分发。
所以DAC提供的安全性还相对较低,不能够对系统资源提供充分的保护,不能抵御特洛伊木马的攻击。
2、强制访问控制(MAC)
与DAC相比,强制访问控制提供的访问控制机制无法绕过。
在强制访问控制中,每个用户及文件都被赋予一定的安全级别,用户不能改变自身或任何客体的安全级别,即不允许单个用户确定访问权限,只有系统管理员可以确定用户和组的访问权限。
系统通过比较用户和访问的文件的安全级别来决定用户是否可以访问该文件。
此外,强制访问控制不允许一个进程生成共享文件,从而访止进程通过共享文件将信息从一个进程传到另一进程。
MAC可通过使用敏感标签对所有用户和资源强制执行安全策略,即实行强制访问控制。
安全级别一般有四级:绝密级(Top Secret),秘密级(Secret),机密级(Confidential)反无级别级(Unclas sified),其中T>S>C>U。
则用户与访问的信息的读写关系将有四种,即:
下读(read down):用户级别人于文件级别的读操作。
上写(write up):用户级别低于文件级别的写操作。
下写(write down):用户级别大于文件级别的写操作。
上读(read up):用户级别低于文件级别的读操作。
上述读写方式都保证了信息流的单向性,显然上读—下写方式保证了数据的完整性(integrity),上写—下读方式则保证了信息的秘密性。
3、角色访问控制(RBAC)
角色访问策略是根据用户在系统里表现的活动性质而定的,活动性质表明用户充当一定的角色,用户访问系统时,系统必须先检查用户的角色。
一个用户可以充当多个角色、一个角色也可以由多个用户担任。
角色访问策略具有以下优点:
便于授权管理,如系统管理员需要修改系统设置等内容时,必须有几个不同角色的用户到场方能操作,从而保证了安全性;
便于根据工作需要分级,如企业财务部门与非财力部门的员工对企业财务的访问权就可由财务人员这个角色来区分;
便于赋予最小特权,如即使用户被赋予高级身份时也未必一定要使用,以便减少损失。
只有必要时方能拥有特权;
便于任务分担,不同的角色完成不同的任务;
便于文件分级管理,文件本身也可分为个同的角色,如信件、账单等,由不同角色的用户拥有。
角色访问策略是一种有效而灵活的安全措施。
通过定义模型各个部分,可以实现DAC和MAC所要求的控制策略,目前这方面的研究及应用还处在实验探索阶段。
George Mason大学在这方面处于领先地
位,现在已经设计出了没有root的UNIX系统管理、没有集中控制的Web服务器管理等机制。
(三)访问控制机制
访问控制机制是为检测和防止系统中的未经授权访问,对资源予以保护所采取的软硬件措施和一系列管理措施等。
访问控制一般是在操作系统的控制下,按照事先确定的规则决定是否允许主体访问客体,它贯穿于系统工作的全过程,是在文件系统中广泛应用的安全防护方法。
访问控制矩阵(Access Contro1 Matrix)是最初实现访问控制机制的概念模型,它利用二维矩阵规定了任意主体和任意客体间的访问权限。
中矩阵中的行代表主体的访问权限属性,矩阵中的列代表客体的访问权限属性,矩阵中的每—格表示所在行的主体对所在列的客体的访问授权。
访问控制的任务就是确保系统的操作是按照访问控制矩阵授权的访问来执行的,它是通过引用监控器协调客体对主体的每次访问而实现,这种方法清晰的实现认证与访问控制的相互分离。
图3访问控制矩阵
在较大的系统中,访问控制矩阵将变得非常巨大,而且矩阵中的许多格可能都为空,造成很大的存储空间浪费,因此在实际应用小,访问控制很少利用矩阵方式实现。
下面,我们将讨论在实际应用中访问控制的几种常用方法。
1、访问控制表(Access Control Lists,ACLs)
访问控制表ACLs是以文件为中心建立访问权限表,如图3所示。
表中登记了该文件的访问用户名及访问权隶属关系。
利用访问控制表,能够很容易的判断出对于特定客体的授权访问,哪些主体可以访问并有哪些访问权限。
同样很容易撤消特定客体的授权访问,只要把该客体的访问控制表置为空。
出于访问控制表的简单、实用,虽然在查询特定卞体能够访问的客体时,需要遍历查询所有客体的访问控制表,它仍然是一种成熟且有效的访问控制实现方法,许多通用的操作系统使用访问控制表来提供访问控制服务。
例如Unix和VMS系统利用访问控制表的简略方式,允许以少量工作组的形式实现访问控制表,而不允许单个的个体出现,这样可以便访问控制表很小而能够用几位就可以和文件存储在一起。
另一种复杂的访问控制表应用是利用一些访问控制包,通过它制定复杂的访问规则限制何时和如何进行访问,而且这些规则根据用户名和其他用户属性的定义进行单个用户的匹配应用。
2、能力关系表(Capabilities Lists)
能力关系表与ACL相反,是以用户为中心建立访问权限表,表中规定了该用户可访问的文件名及访问权限,如图5。
利用能力关系表可以很方便查询一个主体的所有授权访问。
相反,检索具有授权访问特定客体的所有主体,则需要遍历所有主体的能力关系表。
从70年代起,开始开发基于能力关系表实现访问控制的计算机系统、但是没有获得商业上。