Linux安全访问控制模型

来源:互联网 发布:迪优美特网络机顶盒 编辑:程序博客网 时间:2024/05/16 08:07

1.引言

本文通过研究安全操作系统的访问控制模型,结合国内、外的相关安全标准和已有的先进技术,将密码服务与高级别存取控制机制有机地结合起来,形成一个适应各类安全2级实用操作系统。该安全服务器将在Linux操作系统的基础上(目前Linux操作系统主要发行版本的安全性大致处于《TCSEC》标准[1,2] 的C2 级),参照GB/T 18336(等同采用CC标准)安全保证级别EAL4,开发符合GB 17859中规定的结构化保护级(相当于TCSEC中规定的B2级)功能要求的安全操作系统。

1. 安全策略访问控制模型

该类模型是从访问控制的角度描述安全系统,主要针对系统中主体对客体的访问及其安全控制。[2]

1.1 BLP模型

Bell&Lapadula(BLP)模型[3~5]---是由----Bell和Lapadula于1973年提出并于1976年修定、整合和完善的安全模型,它是最典型的信息保密性多级安全模型,通常是处理多级安全信息系统的设计基础。

BLP模型的安全策略包括强制访问控制和自主访问控制两部分。强制访问控制中的安全特性,要求对给定安全级别的主体,仅被允许对同一安全级别和较低安全级别上的客体进行“读”,对给定安全级别上的主体,仅被允许向相同安全级别或较高安全级别上的客体进行“写”,任意访问控制允许用户自行定义是否让个人或组织存取数据。

BLP模型为通用的计算机系统定义了安全性属性,即以一组规则表示什么是一个安全的系统。其优点是这种基于规则的模型比较容易实现。但是它不能更一般地以语义的形式阐明安全性的含义。因此,这种模型不能解释主、客体框架以外的安全性问题,还不能较好的处理隐蔽通道的问题。

1.2 DTE模型

DTE (Domain and Type Enforcement)模型[5]是由O’Brien and Rogers于1991年提出的一种访问控制技术。它通过赋予文件不同的型(type)、赋予进程不同的域(domain)来进行访问控制,从一个域访问其他的域以及从一个域访问不同的型都要通过DTE策略的控制。

近年来DTE模型被较多的作为实现信息完整性保护的模型。该模型定义了多个域(Domain)和型(Type),并将系统中的主体分配到不同的域中,不同的客体分配到不同的型中,通过定义不同的域对不同的型的访问权限,以及主体在不同的域中进行转换的规则来达到保护信息完整性的目的。

DTE使域和每一个正在运行的进程相关联,型和每一个对象( e.g.文件、包)相关联。如果一个域不能以某种访问模式访问某个型,则这个域的进程不能以该种访问模式去访问那个型的对象。当一个进程试图访问一个文件时,DTE 系统的内核在做标准的系统许可检查之前,先做DTE许可检查。如果当前域拥有被访问文件所属的型所要求的访问权,那么这个访问得以批准,继续执行正常的系统检查。

1.3 RBAC模型

RBAC模型[5]是基于角色的访问控制模型。该模型主要用于管理特权,在基于权能的访问控制中实现职责隔离及极小特权原理。

RBAC包含以下基本要素:用户集(Users),主体进程集(Subjects),角色集(Roles),操作集(Operations),操作对象集(Objects),操作集和操作对象集形成一个特权集(Privileges);用户与主体进程的关系(subject_user),用户与角色的关系(user_role), 操作与角色的关系(role_operations), 操作与操作对象的关系(operation_object)。

通常subject_user是一个多对一的关系,它把多个主体进程映射到一个用户,这些进程都是替代该用户的主体进程;在本模型中它就是一个典型的多对一的关系。user_role可以是多对多的关系,但在本模型中它被简化为一对一的关系。role_operations是一个一对多的关系,它把一个角色映射到多个操作,是角色被授权使用的操作的集合;operation _object是一个一对多的关系,它把一个操作映射到多个操作对象,是操作被授权作用的操作对象集。

0 0
原创粉丝点击