由于物联网应用系统是多用户、多任务的工作环境,这为非法使用系统资源打开了方便之门,因此,迫切要求我们对计算机及其网络系统采取有效的安全防范措施,以防止非法用户进入系统以及合法用户对系统资源的非法使用。
这就需要采用访问控制系统,访问控制包含3方面的含义。
① 合法性: 阻止没有得到正式授权的用户违法访问以及非法用户的违法访问。
② 完整性: 在包含收集数据、传输信息、储存信息等一系列的步骤中,保证数据信息的完好无损,不可以随意增删与改动。
③ 时效性: 在一定时效内,保证系统资源不能被非法用户篡改使用,保障系统在时效内的完整。
通过访问控制,系统可以预防和阻碍未经授权的非法用户访问和操作系统资源。
一、访问控制的基本原则
访问控制机制是用来实施对资源访问加以限制的策略的机制,这种策略把对资源的访问权限只授于了那些被授权用户。应该建立起申请、建立、发出和关闭用户授权的严格的制度,以及管理和监督用户操作责任的机制。
为了获取系统的安全,授权应该遵守访问控制的3个基本原则。
1、最小特权原则
最小特权原则是系统安全中最基本的原则之一。最小特权(Least rivilege)指的是“在完成某种操作时所赋予网络中每个主体(用户或进程)必不可少的特权”。最小特权原则是指“应限定网络中每个主体所需的最小特权,以确保可能的事故、错误、网络部件的篡改等原因造成的损失最小”。
最小特权原则使用户所拥有的权力不能超过它执行工作时所需的权限。最小特权原则一方面给予主体“必不可少”的特权,保证了所有的主体都能在所赋予的特权之下完成所需要完成的任务或操作;另一方面,它只给予主体“必不可少”的特权,这也限制了每个主体所能进行的操作。
2、多人负责原则
多人负责即授权分散化,在功能上划分关键的任务由多人来共同承担,以保证没有任何个人具有完成任务的全部授权或信息,如将责任做分解以确保没有一个人具有完整的密钥。
3、职责分离原则
职责分离是保障安全的一个基本原则。职责分离是指将不同的责任分派给不同的人员以期达到互相牵制的作用,消除一个人执行两项不相容的工作的风险,如收款员、出纳员、审计员应由不同的人担任。计算机环境下也要有职责分离,为避免安全上的漏洞,有些许可不能同时被同一用户获得。
二、访问控制的基本概念
1、访问控制的功能
访问控制应具备身份认证、授权、文件保护和审计等主要功能。
1.1、认证
认证就是证实用户的身份。认证必须和标识符共同起作用。认证过程首先需要用户输入账户名、用户标志或者注册标志以表明身份。账户名应该是秘密的,任何其他用户不得拥有。但为了防止账户名或用户标志泄露而出现非法用户访问,还需要进一步用认证技术证实用户的合法身份。
1.2、授权
系统正确认证用户后,根据不同的用户标志分配给其不同的使用资源,这项任务称为授权。授权的实现是靠访问控制完成的。访问控制是一项特殊的任务,它将标志符ID作为关键字来控制用户访问的程序和数据。访问控制主要用在关键节点、主机和服务器,一般节点使用较少。在实际应用中,通常需要从用户类型、应用资源以及访问规则3个方面来明确用户的访问权限。
① 用户类型。 对于一个已经被系统识别和认证了的用户,系统还要对他的访问操作实施一定的限制。对于一个通用计算机系统来讲,用户范围广,层次与权限也不同。用户类型一般有系统管理员、一般用户、审计用户和非法用户。
系统管理员权限最高,可以对系统中的任何资源进行访问,并具有所有类型的访问操作权利。一般用户的访问操作要受到一定的限制,系统管理员会根据需要给这类用户分配不同的访问操作权利。审计用户负责对整个系统的安全控制与资源使用情况进行审计。非法用户则是被取消访问权利或者被拒绝访问系统的用户。
② 应用资源。 应用资源是指系统中的每个用户可共同分享的系统资源。系统内需要保护的是系统资源,因此需要对保护的资源定义一个访问控制包(Access Control Packet,ACP),访问控制包会给每一个资源或资源组勾画出一个访问控制列表(Access Control List,ACL),列表中会描述哪个用户可以使用哪个资源以及如何使用。
③ 访问规则。 访问规则定义了若干条件,在这些条件下可准许访问一个资源。一般来讲,规则可使用户与资源配对,然后指定该用户可以在该资源上执行哪些操作,如只读、不允许执行或不允许访问等。这些规则是由负责实施安全政策的系统管理人员根据最小特权原则来确定的,即在授予用户访问某种资源的权限时,只给予该资源的最小权限。例如,用户需要读权限时,不应该授予读写权限。
1.3、文件保护
文件保护是指对文件提供的附加保护,其可使非授权用户不可读取文件。一般采用对文件加密的附加保护。
1.4、审计
审计是记录用户系统所进行的所有活动的过程,即记录用户违反安全规定使用系统的时间、日期以及用户活动。因为可能收集的数据量非常大,所以,良好的审计系统应具有进行数据筛选并报告审计记录的工具,此外,还应容许工具对审计记录做进一步的分析和处理。
2、访问控制的关键要素
访问控制是指主体依据某些控制策略对客体本身或其他资源进行不同权限的访问。访问控制包括3个要素:主体、客体和控制策略。
2.1、主体
主体是可以在信息客体间流动的一种实体。主体通常指的是访问用户,但是作业或设备也可以成为主体。所以,对文件进行操作的用户是一种主体,用户调度并运行的某个作业也是一种主体,检测电源故障的设备还是一个主体。大多数交互式系统的工作过程是:用户首先在系统中注册,然后启动某一进程以完成某项任务,该进程继承了启动它的用户的访问权限。在这种情况下,进程也是一个主体。
2.2、客体
客体本身是一种信息实体,或者是从其他主体或客体接收信息的载体。客体不受它所依存的系统的限制,其可以是记录、数据块、存储页、存储段、文件、目录、目录树、邮箱、信息、程序等,也可以是位、字节、字、域、处理器、通信线路、时钟、网络节点等。
在有些系统中,逻辑上所有的客体都作为文件处理。每种硬件设备都作为一种客体来处理,因而,每种硬件设备都具有相应的访问控制信息。如果一个主体准备访问某个设备,则该主体必须具有适当的访问权,而对设备的安全校验机制将对访问权进行校验。
2.3、控制策略
控制策略是主体对客体的操作行为集和约束条件集,也是主体对客体的控制规则集。这个规则集直接定义了主体对客体可以进行的作用行为和客体对主体的条件约束。控制策略体现了一种授权行为,即客体对主体的权限允许,这种允许不可超越规则集。
访问控制系统的3个要素可以使用三元组(S、O、P)来表示,其中S表示主体,O表示客体,P表示许可。主体通过认证后才能访问客体,但并不保证其有权限对客体进行操作。用户标志是一个用来鉴别用户身份的字符串,每个用户有且只能有唯一的一个用户标志,以便与其他用户有所区别。当一个用户在注册系统时,他必须提供其用户标志,然后系统才会执行一个可靠的审查来确认当前用户就是对应用户标志的那个用户。
当前访问控制实现的模型普遍采用了主体、客体、授权的定义和这3个定义之间的关系的方法来描述。访问控制模型能够对计算机系统中的存储元素进行抽象表达。访问控制要解决的一个基本问题便是主动对象(如进程)如何对被动的受保护对象(如被访问的文件等)进行访问,并且按照安全策略进行控制。主动对象称为主体,被动对象称为客体。
针对一个安全的系统,或者是将要在其上实施访问控制的系统,一个访问可以对被访问的对象产生以下作用:一是对信息的抽取;二是对信息的插入。对于被访问对象来说,可以有“只读不修改”“只读修改”“只修改不读”“既读又修改”4种访问方式。
3、访问控制策略的实施
访问控制策略是物联网信息安全的核心策略之一,其任务是保证物联网信息不被非法使用和非法访问,为保证信息基础的安全性提供一个框架,提供管理和访问物联网资源的安全方法,规定各要素需要遵守的规范与应负的责任,为物联网系统安全提供可靠依据。
3.1、访问控制策略的基本原则
访问控制策略的制定与实施必须围绕主体、客体和控制规则集三者之间的关系展开。具体原则如下。
① 最小特权原则。 最小特权原则指主体执行操作时,按照主体所需权利的最小化原则分配给主体权利。最小特权原则的优点是最大限度地限制了主体实施授权行为,可以避免来自突发事件、错误和未授权用户主体的危险,即为了达到一定的目的,主体必须执行一定的操作,但主体只能做允许范围内的操作。
② 最小泄露原则。 最小泄露原则指主体执行任务时,按照主体所需要知道的信息最小化的原则分配给主体权利。
③ 多级安全原则。 多级安全原则指主体和客体间的数据流向和权限控制按照安全级别进行划分,包括绝密、秘密、机密、限制和无级别5级。多级安全原则的优点是可避免敏感信息扩散。对于具有安全级别的信息资源,只有安全级别比它高的主体才能够访问它。
3.2、访问控制策略的实现方式
访问控制的安全策略有:基于身份的安全策略和基于规则的安全策略。目前使用这两种安全策略的基础都是授权行为。
① 基于身份的安全策略
基于身份的安全策略与鉴别行为一致,其目的是过滤对数据或资源的访问,只有能通过认证的主体才有可能正常使用客体的资源。基于身份的安全策略包括基于个人的安全策略和基于组的安全策略。
基于个人的安全策略是指以用户为中心建立的一种策略。这种策略由一些列表组成,这些列表限定了针对特定的客体,哪些用户可以实现何种策略操作行为。
基于组的安全策略是基于个人的安全策略的扩充,指一些用户被允许使用同样的访问控制规则访问同样的客体。
基于身份的安全策略有两种基本的实现方法:访问能力表和访问控制列表。访问能力表提供了针对主体的访问控制结构,访问控制列表提供了针对客体的访问控制结构。
② 基于规则的安全策略
基于规则的安全策略中的授权通常依赖于敏感性。在一个安全系统中,对数据或资源应该标注安全标记。代表用户进行活动的进程可以得到与其原发者相应的安全标记。
基于规则的安全策略在实现时,由系统通过比较用户的安全级别和客体资源的安全级别来判断是否允许用户进行访问。