论信息系统中的访问控制
2020-12-03郭晓奇
郭晓奇
(平顶山市工业学校 河南省平顶山市 467000)
访问控制是当今使用的最基本的安全机制,是用于信息系统安全解决方案的最为显著部分之一。用访问控制的目的是保证系统资源不被非法使用和访问,是通过用户身份验证来限制对某些信息的访问和对某些操作功能的使用的一项安全防控技术。这种技术可以将系统中的所有功能和数据标识出来,组织起来,托管起来,然后向用户提供一个唯一接口进行操作服务,这个接口的一端是应用层系统,另一端是权限引擎(中间件)。它是作为信息安全保障的重要手段,访问控制被应用于防火墙、文件访问系统、VPN 网络访问及物理层安全等多个方面。
1 访问控制的三个元素
主体(subject),是一个主动实体,称为用户或用户执行的程序,规定为访问资源的实体。组织,用户,程序,计算机终端等都可以称为主体。
客体(object),接受主体访问的被动实体,规定需要保护的资源。如文件信息资源,存储介质对象,程序等都可以称为客体。
授权(Authorization),限定主体与客体之间的访问规则集,定义了主体对客体的操作行为限制和客体对主体的条件约束限制,不得越权。
2 访问控制系统三个抽象层,策略,模型,机制
策略是高级抽象层。规范和控制访问的决策和实施过程。通过策略分布在多个计算机平台和应用系统之中,建立在需知原则,资格,权限,责任的因素之上,制定专门的策略,对访问者的控制达到保护重要资源的目的。尽管存在一些知名的策略,但仍有各自的目标,风险容差及其管理责任,这些可能产生对策略的影响。如医院的访问控制可能适用于隐私保护和资格认证,但它与军队系统、金融机构有很大的差别。访问控制策略不是一成不变的,也做不到预先确定,所以需要设计成富有弹性,又能广泛的适用。
在高级抽象层上,访问控制机制是访问控制策略通过一个列表来转换用户的访问请求,保证授权用户使用的权限与其所拥有的权限对应,制止非授权用户的出入控制和限制存储数据的存取控制。通常,访问控制机制通过对用户安全属性和资源的安全属性匹配来完成访问控制,查看用户否有访问资源的权限的方法。其它机制还包括,属性复刻和管理权能。所以,每当用户登录某个多用户计算机系统时,访问控制机制就会工作起来防范信息系统中所存在的危险。访问控制机制与策略独立,可允许安全机制的重复使用。
安全模型是对安全策略表达的安全需求的一种精确和无歧义的抽象描述,是现实安全系统的模仿,把安全策略和安全机制关联并构建一种模型框架。访问控制模型被实现为一个抽象层次,用于协调多种实现选择和进程环境,它沟通了策略和机制之间的联系。访问控制模型和机制一般通过它支持的策略进行辨识。一种安全模型允许多种策略表示。如今信息安全开发的访问控制模型和机制都是独立于其所用的策略。
3 访问控制策略方式分类
3.1 自主访问控制
自主访问控制(Discretionary Access Control,DAC),是目前计算机系统中实现最多的访问机制,由《可信计算机系统评估准则》定义的访问控制类型,根据主体身份和所属组对客体访问进行限定的一种方法。它是多用户环境访问控制安全技术,在UNIX 内核操作系统中普遍采用。
由客体的用户对自己的客体进行决定是否将自己的客体访问权或部分访问权授予其他主体,这种方式是自主的。在 DAC 模型中,访问权限是否进行授权给其他主体,需要根据其他主体的情况并结合具体的安全规则从而做出判断。自主访问控制有两种实现方式:访问控制列表和基于能力。目前,我国大多数信息系统的访问控制都是借助访问控制表(ACL)实现的。
自主访问控制是一种简单广泛使用的控制策略,但安全性缺乏保障,非法用户可以绕开授权限制获得访问资源的权限,给系统资源带来风险。所以,为了降低风险带来的危害,一般结合体他访问策略一起使用。
3.2 强制访问控制
强制访问控制(Mandatory Access Controe,MAC),最早应用在Multics 系统中,由《可信计算机系统评估准则》定义为B 级安全系统。4 个安全等级:绝密级(Top Secret)>秘密级(Secret)>机密级(Confidential)>无级别级(Unclas sified),系统会为每个用户和文件附一个安全等级,并根据主体和客体的敏感标记(等级分类和非等级类别的组合)来决定访问模式,访问方式分为,上读操作(用户级别大于文件级别),下写操作(用户级别小于文件级别),上写操作(用户级别等于文件级别),下读操作(用户级别小于文件级别)。
强制的控制策略是多级安全策略,按照一定规则分别对系统中的主体和客体赋予安全标记,由操作系统的约束的访问控制,定义授权规则(策略)更加严格。每当主体访问对象都会由操作系统内核强制施行授权规则,即检查并比较安全属性和安全级别,来决定是否可进行访问。任何主体对任何对象的任何操作都将根据一组授权规则(也称策略)进行测试,决定用户对资源的使用权。此外,MAC 对进程生成共享文件进行禁止,防止以共享文件方式将信息泄露给其他用户。MAC 一般采用的几种种方法,即用请求一个特权系统调用的限制访问控制、对程序过程执行限制的过程控制方法和对系统的功能实施限制的系统限制方法。MAC 系统规定高级别主体可以得到低级别主体的信息,具有单向不可逆性。
实际上,MAC 和DAC 经常结合一起使用,实现自主和强制性双项限制检查,才能进行访问目的。其优点是显而易见,自主访问可以防范其它用户对自己客体的攻击,强制访问控制建立一个不可逾越的安全保护层,防止其它用户故意地滥用自主访问控制操作。
3.3 基于角色的访问控制
基于角色的访问控制(Role-based Access Control),是面向企业安全策略的访问控制方法。角色(Role)是一定数量的权限的集。角色作为用户与权限的委托管理对象,用它解释权限和用户的关系,所有的授权不是直接给用户或用户组,而是给了委托管理对象。
RBAC 对主体的管理时,给用户分配角色,并对角色进行职责划分,使其成为用户与访问权限相联系人。这与传统的自主和强制访问的完全授予用户权限的方式不同。角色成为访问主体和受控对象之间的一座桥梁,就是在用户与权限集合之间构建一个管理平台,每一种角色对应一组相应的权限,一旦用户被授予某种角色,它就就继承了该角色的所有操作。多一个角色中转站的服务,主体和客体之间的关系不再通过他们之间的映射来建立关系。引入角色的好处是,当创建用户时,都要进行权限分配操作工作,角色代替用户接受权限指派,角色指派获取资源权限再转交给用户,实现用户和权限的分离,只分配给用户相应的角色即可,角色的权限变更比用户的权限变更要少,用户不再直接进行权限管理,授权管理的复杂度降低了,企业安全策略的灵活性得到很大的提升。目前被广泛应用在信息系统中,是一种评估效果比较好的访问控制。
不过,角色职责划分不清晰,造成多重授权,管理复杂度上升而出现的事故,职责分离机制可以避免造成一些潜在的危害,因为职责分离通常强制执行利益冲突策略,意味着用户只能分配一个角色。有两大分离机制方法:静态和动态职责分离方法。动态分离与静态分离关系都是二元关系即(角色集,n),表示不能同时为用户指派n 个角色,但动态职责分离关系的施加环境是在用户会话中进行限制的,或是活动角色进行施加的限制。
3.4 基于任务的访问控制
基于任务的访问控制(TBAC,Task-based Access Control),它采用面向任务观点,以动态授权建立访问控制模型。在TBAC 中,访问权限控制不是静止不变,随着执行任务环境变化访问权限进行调整,因此,TBAC是一种动态策略,它需要五元组来表示授权关系(S,O,P,L,AS),主体为S,客体为O,权限规则为P,生命周期L,AS 为授权处理步(Authorinaztion step)。自我管理的授权处理步是随着环境变化的进程,动态的调整内核状态,授权处理步有睡眠,激活,挂起,执行等状态,这些状态即任务活动流程是通过动态授权来管理的。任务访问控制支持最小特权原则和最少泄露原则。
3.5 基于对象的访问控制
基于对象的访问控制(Object Access control, OBAC),它是针对文件数据量庞大和数据类型不同,大量的角色的添加减少,海量信息权限的赋予,都使得用户管理又难以为继,随之而来的安全性就难以保障。引入对象的访问控制可以迎刃而解这些问题,因为该控制方法允许对象对策略和规则进行复用、继承、和派生操作,这样对受控对象属性进行访问控制,也可以对派生出对象继承访问控制,哪怕信息量再大,角色更新频繁也不会出现难以为继的现象。
多种访问策略联动控制是维护安全重要支撑,如何配置安全策略使其达到用户要求是计算机系统管理者要思考的。
4 访问控制机制 (access control mechanisms)
4.1 基于访问控制表(ACL)的访问控制机制
用ACL 的访问控制机制,在针对主体访问客体查询时,需要对客体的制列表遍历,但时间和空间资源大量的占用,使得这种方式不经济。但作为一种有效成熟的方法应用还是比较广泛的。
4.2 基于能力的访问控制机制
权能表(Capabilites)与访问控制表实现正好反向操作,以用户为中心建立权限表,发起访问用户拥有一个有效标签来表明可访问的资源及访问权限,可以方便查询一个主体的所有拥有何种特权。
4.3 基于安全标签的访问控制机制
安全标签是在主体上或客体上附属的或限制的安全属性信息,通过安全标签和其他安全标签比较来区分敏感信息,判断访问权限,对用户和客体资源实施强制执行安全策略。
访问控制机制的实现操作方法,如利用存放对等实体访问权来控制信息库,利用鉴别真伪信息(如口令、证书等),利用授权保护,利用安全标签的识别,利用试图访问的时间、路由的控制等。
5 访问控制模型
5.1 访问控制矩阵
用户与任意客体间的访问规则和权限可以利用一张二维阵列来说明。矩阵中的行表示客体属性,列表示主体的属性,表中用户和客体对应的每个元素表示授权和访问规则集合。
在较大的系统中,矩阵通常是稀疏的,会造成很大的存储空间浪费,访问控制很少利用矩阵方式实现。
5.2 Bell-LaPadula模型
解决数据机密性问题,是多级安全策略的首个偏序关系数学模型。对系统状态间的读/写转换规则进行限制和约束。它有效防止低级用户和进程访问安全级别高的用户信息资源,对安全级别高的用户和进程也不能向比起安全级别低的用户和进程写入数据。这种模型的原则是“向上写,向下读”,但它对完整性不能保证,忽视重要指标让非法访问成为可能。
BLP 模型的安全策略由自主安全策略和强制安全策略组成。防火墙就是根据此模型实现单向访问机制的功能。
5.3 Biba模型
它解决数据完整性问题,采用分类标签。它模仿了Bell-LaPadula 模型信息保密级别,信息流向不能向下读,一个主体不能从较低的完整性级别读取数据。不能向上写,一个主体不能把数据写入较高的完整性级别客体。
5.4 Clark-Wilson模型
它解决数据完整性问题,采用分类标签。该模型中用户不能直接访问和操纵客体,以防止授权用户对客体数据进行未经授权的操作,必须通过代管程序来访问客体,保护客体完整性;使用职责分割来避免对授权用户进行数据执行,再次保护数据的完整性。完整性的目标,防止未授权的用户进行修改和授权用户进行不正确的修改,造成系统的一致性。Biba 只能够确认第一个目标。