基于等级保护的多级安全访问控制模型
2015-01-01
0 引言
2015年2月3日,中国互联网络信息中心(CNNIC)在北京发布的《第35次中国互联网络发展状况统计报告》显示,截至2014年12月,我国网民规模达6.49亿,互联网普及率为47.9%。在网络越来越普及的今天,早期建设的网络基础设施隐患重重,信息安全受到的威胁种类越来越多。如今各行各业的信息系统都需要在互联网上交流传播信息,时时刻刻都避免不了面对各种安全威胁。为了提高信息安全保障,必须采取各种信息安全的策略,其中最重要的就是等级保护。
以信息系统为主体,等级保护就是根据该信息系统的重要性采取相应的保护策略,按照信息系统等级实行分级保护,不同等级的系统采取不同层度的防护策略,即对重要系统重点防护,对一般系统适度保护。等级保护与多级安全紧密相关,因为等级保护起源于美国对军事安全所制定的多级安全策略。多级安全是指对信息系统里的主体和客体分别设置安全标记、定级,依据主体、客体安全标记的比较来决定主体对客体的访问是否允许。
由于多级安全网络提出较晚,传统安全通信模型主要服务于IP网络。传统安全通信模型最初并没有考虑到多级安全,不能实现安全标记与信息客体、数据流的绑定。所以,如果要在传统模型中实现标记强制访问控制,则实施起来非常复杂、代价太大,因此,传统安全模型难以适应多级安全的网络安全通信目标。另外,因为互联网纷繁复杂,多级安全应用到互联网时在灵活性、适应性方面都存在巨大挑战。严格遵循多级安全规则会导致部分网络主体的访问受限,满足不了网络协同工作的需求。因为以上这些原因,传统安全通信模型无法直接应用到多级安全网络中。所以,面向多级安全的网络安全通信仍然存在着一些亟待解决的问题。比如,缺乏面向多级安全的网络安全通信模型,信息系统中的各种对象的安全标记一成不变,不够灵活,无法适应网络通信的各种情况。因此,我们需要在具体通信中针对不同的访问请求,对对象的安全标记适当地做一些调整。
1 安全标记绑定技术
安全标记绑定技术是多级安全中主体与客体资源访问控制、数据流控制的基础,是确保多级安全网络通信中实施多级安全控制的关键。目前的安全标记绑定技术主要有以下三种:
1.1 传统的安全标记绑定技术
传统的安全标记绑定技术是在数据或者客体里比如在电子邮件首行、文档的首部或尾部添加安全标记,再进行数字签名。这种方法能实现一定的安全控制,但是对于异构数据交换系统实现起来比较困难,并且这种方法是对客体或数据的整体控制,无法实现细粒度的安全标记绑定。
1.2 基于 XML 的安全标记绑定技术
基于 XML 的安全标记绑定技术主要包括:为 XML 文档强制访问控制,为 XML 对信息客体元数据的描述。
1.3 数据流与安全标记绑定技术
数据流与安全标记绑定是指数据流如何携带安全标记,以期实现随时随地的数据流访问控制。这种技术是在安全通信协议的中额外增加安全标记的选项,实现起来比较简单,但是该方法增加了 IP 报文的长度。
2 面向多级安全的网络模型
等级保护的实施体现在信息系统的多级安全,以确保客体资源的机密性与完整性。目前经典的基于等级保护的多级安全模型主要包括 BLP模型和 Biba模型等。BLP 模型来源于具有严格机密性要求的政府和军事应用,其主要目标是防止高密级信息泄漏给低密级的主体,在主体访问客体时实施强制访问控制,访问规则比较简单,在具体实施过程中还有不少问题,比如灵活性差。Biba 模型的严格完整性策略能够有效地保证数据的完整性,却不能防止恶意的不可信主体人为故意泄露高安全级别的信息给低密级主体。其主要缺点在于主体和客体的完整性标记都是固定不变的,严重缺乏灵活性。基于这样的缺陷,在多级安全的网络通信中,我们可以对符合条件的对象安全标记进行调整。并且,BLP模型侧重于机密性,Biba模型侧重于完整性,而在实际信息系统中,需要兼顾机密性和完整性,所以,可以考虑把 BLP模型和BiBa模型结合起来使用。
2.1 定义主要元素
(1)实体:可以是信息系统中的所有资源(进程、文件、设备等)和用户。
(2)主体:主动发起对另一个实体的访问请求的实体,如用户、执行操作的进程、主机、设备等,记为 Subject,简写为S。
(3)客体:被动接受主体发起的访问请求的实体,如消息、文件、目录、分组、连接、设备等,记为Object,简写为O。
(4)主体授权标记:特定的可信主体可以获得的特定权限,记为 SA = {(cmin,cmax),(imin,imax)}。其中,Scmin 和 Scmax分别表示主体S的最低和最高机密性级别;Simin和 Simax分别表示主体S的最低和最高完整性级别。
(5)客体安全类别:客体的机密性和完整性受到破坏时可能产生的影响,记为 OC = {cimp,iimp}。其中,Ocimp和 Oiimp分别表示客体O的机密性类别和完整性类别。
(6)主体安全标记:主体的机密性级别、完整性级别和授权标记,记为SL =(cmin,cmax,imin,imax)。
(7)客体安全标记:客体的机密性级别、完整性级别和安全类别,记为OL =(cimp,iimp)。
(8)访问属性:主体对客体的访问方式,记为 A= {r,w}。其中,r表示只读、w 表示只写。
2.2 模型的基本安全特性
下面分别就何时主体可以读客体、主体可以写客体进行规定。为了便于说明,定义如下:主体的机密性级别和完整性级别为 Sc、Si;客体的机密性级别和完整性级别分别为 Oc,Oi。主体的最高和最低机密性级别分别为Scmax,Scmin。
当主体、客体的安全标记符合下列规则之一时,主体可以读客体:
(1)Sc不低于Oc,且Si不高于Oi;
(2)Sc不低于Oc,且Si高于Oi,但Oc高于Oi且Scmin不高于Oi;
(3)Sc低于Oc且Si不高于Oi,但Oi高于Oc且Scmax不低于Oc。
当主体、客体的安全标记符合下列规则之一时,主体可以写客体:
(1)Sc不高于Oc且Si不低于Oi;
(2)Sc不高于Oc且Si低于Oi,但 Oc高于 Oi且Simax不低于Oi;
(3)Sc高于Oc且Si不低于Oi,但Oi高于Oc且Sc不高于Oc。
2.3 主体安全级别调整的原则
(1)如果主体和客体的安全标记既符合 BLP 模型,也符合 Biba 模型,则不用调整主体的安全级别。
(2)如果主体、客体的安全标记既不符合 BLP 模型也不符合 Biba模型,则不用调整主体的安全级别。
(3)如果主体、客体的安全标记符合BLP 模型,但是不符合 Biba 模型,则:
①当Oc高于Oi,即客体的机密性优先于其完整性时,则可以调整Si,但是不能调整Sc;
②当Oi高于Oc,即客体的完整性优先于其机密性时,则不能调整Si,加上假设前提是主体、客体的完整性级别不符合Biba模型,所以不必调整主体的机密性级别,即此种情况下,对主体的机密性级别和完整性级别都不做调整。
(4)如果主体、客体的安全标记符合 Biba 模型但是不符合 BLP 模型,则
①当Oi高于Oc时,不可调整Si,只能调整Sc;
②当Oc高于Oi时,则不可调整Sc,加上前提是主体、客体的完整性级别不符合 BLP 模型,所以不必调整主体的完整性级别Si。
以上的主体安全性调整原则可以用下图1的流程来表示。
图1 主体安全性调整原则示意图
2.4 访问控制策略
(1)自主访问控制策略
自主访问控制是一种提供由用户对自身所创建的客体的访问权限进行控制的安全机制。这些访问权限包括允许或拒绝其它用户对该用户所创建的客体进行读、写、删除等操作,还可以进行授权转移等。自主访问控制的主要特点是由用户自主进行授权管理。
(2)强制访问控制策略
强制访问控制是指由系统按信息系统确定的规则对每一个用户所创建的所有客体的访问权限进行控制的安全机制。这种访问权限包括主体对客体的读、写、删除等操作。强制访问控制的主要特点是由系统安全员而不是客体创建者进行授权管理,通过强制访问控制安全策略,对主体访问客体的操作进行控制,实现对客体的机密性和完整性保护。
2.5 访问控制流程
当主体请求访问信息系统中客体资源后,该信息系统的多级安全子系统将截获该访问请求,并从中解析出与访问控制相关的主体、客体、访问类型等关键信息,多级安全子系统查询主体、客体安全标记列表,得到该主体、客体的安全标记信息,并依据主体、客体的安全标记的具体匹配情况对该请求进行判断,具体的处理流程如图2所示。
(1)如果该请求符合信息系统的自主访问控制策略,则该请求的判定结果为Yes,即系统允许该主体访问客体资源;否则将按后续步骤检查该访问请求是否符合系统的强制访问控制策略。
(2)如果该请求符合系统的强制访问控制策略,即机密性标记符合 BLP 模型且完整性标记符合 Biba 模型,则系统将允许该主体执行资源访问,否则进行下一步。
(3)如果该请求中主体、客体的安全标记符合 BLP 模型或 Biba 模型,系统将根据主体授权标记和客体安全类别检查判断是否可以临时调整主体在当前访问中的机密性级别或完整性级别,然后再次判断主体是否有权访问客体。如果主体安全级别调整过后符合访问要求,则允许该主体执行资源访问,否则,系统将拒绝此次请问请求。
(4)如果该请求中主、客体的安全标记既不符合 BLP 模型,也不符合 Biba模型,则判定结果为No,即系统将拒绝此次访问请求。
图2 访问控制处理流程
3 结语
结合 BLP 模型和 Biba 模型对机密性和完整性的访问控制策略,设定了主体和客体的安全标记绑定,提出了一种比较灵活的基于客体自身安全属性的机密性和完整性相统一的模型,定义了模型的基本安全特性,并给出了访问控制流程。实际网络环境下的主体客体的多级安全访问控制很复杂,有待进一步深入研究。