(一)信息客体分析
网络信息客体一般也称为“数据客体”。数据按照结构类型的不同,可分为结构化数据、半结构化数据、非结构化数据等。
1.结构化数据
结构化数据是指具有一定结构、可采用二维表结构进行逻辑表达的数据,通常存储在关系数据库中。而数据库中的表(见表4-1),从本质上讲,都可以表达成深度为2的树形结构,表名为树根,表项为叶子节点。数据库表的树形结构表示如图4-2所示。
表4-1 数据库中的表格
图4-2 数据库表的树形结构
2.半结构化数据
半结构化数据是结构化的数据,但结构变化较大,不能用简单的表与之对应。半结构化数据通常指的是XML资源文档。而XML本身就是一个逻辑树形结构,XML的根元素为树根,其他元素、属性为树中的节点。
3.非结构化数据
非结构化数据是相对于结构化数据而言的,不便用数据库表逻辑表达的数据。比较典型的非结构化数据有文本、视频、图片等。针对文本数据来说,较为典型的代表是Office系列,如Word,由于这些文本可用XML方式进行存储,因此文本数据也可转换为树形结构。不过,文本中存在的图片、表格等非结构化数据可作为整体进行处理,将其视为某一元素的子元素或者属性。针对视频数据来说,视频是由若干数据帧组成的,数据帧是按照秒来进行划分的,而某段连续的数据帧可以构成一个视频画面。因此,可以将数据帧或连续数据帧映射为树的节点,构建一个序列关系树。针对图像数据来说,图像一般包括像素图像和矢量图像。其中,像素图像是由众多像素组成的,而矢量图像则是带有方位位置的像素图像。既然图像都是由像素组成的,因此可将一个可识别的图像单元像素集合定义为图像节点,映射为一个树的节点,并依据图像节点之间在图像中的相对位置,构建成一个树,每个树节点包含临近节点的相对位置信息。
由此可见,不论是结构化数据、半结构化数据,还是非结构化数据,均可以以树形结构进行描述。因此,笔者将通过树形结构来对信息客体进行统一化描述,这里的树被称为“信息客体数据树”。
(二)信息客体与安全标记绑定思路
针对上述对信息客体的分析,笔者提出了基于数据树的信息客体统一表示模型,对结构化、半结构和非结构化信息客体进行了统一表示,并在此基础上,依据典型的树形结构XML,定义了信息客体安全标记。基于数据树遍历给出了信息客体与安全标记绑定的算法,形成了XML信息客体安全标记文件,并采用XML Signature的方法来确保安全标记的安全性、有效性;依据系统文件链接机制实现了安全标记文件与信息客体的关联,以保证客体安全标记的一致性。该方法不仅能够实现安全标记与信息客体绑定方法的统一,还可以提高安全标记绑定的灵活性、可用性以及信息客体的利用率。最后,笔者也给出了基于XML客体安全标记的网络安全访问实施框架。(www.xing528.com)
关于静态信息客体与安全标记的绑定,目前研究主要集中在以下三方面:
1.安全标记写入客体的方法
它通常是在文档的头部或者尾部、电子邮件信息正体的第一行写入安全标记,并通过对数据或者客体进行数字签名,以增强安全标记的安全性。边力在《基于多维域特征安全标记的文件访问控制关键技术研究》中定义了文件多维域特征的安全标记,在保留原有安全标记属性的同时,还引入了时间、空间等非等级属性,并将安全标记隐式地写入文件的头部,其目的是为了对文件实施更加严格的访问控制。威廉(William)和伊丽莎白(Elizabeth)同样也采用文件头写入安全标记,通过为用户分配私有的存储空间,依据强制访问控制策略,实施协作者之间文件的共享。但是,该方法仅能满足可写入的客体,每增加一种类型的客体就需要一类方法,而且难以实现细粒度的访问控制,因此不适合信息系统异构数据的安全交换。
2.安全标记逻辑维护的方法
它主要是通过链表、数据库等方式形成安全标记与文件、数据库数据间的逻辑对应关系,从而完成安全标记的绑定。王雷和庄毅在《基于强制访问控制的文件安全监控系统的设计与实现》中给出了基于BLP模型的文件监控系统,通过在文件过滤驱动层构建安全标记与文件、用户的对应关系链表,实现了基于多级安全规则的文件访问控制。洛斯可可(Loscocco)和斯莫利(Smalley)的Integrating flexible support for security policies into the Linux operating system,以及刘威鹏、胡俊的《LSM框架下可执行程序的强制访问控制机制》则是通过在内核超级块、文件索引节点中添加安全标记,用于判断用户是否可以访问文件、目录或者可执行程序,从而实现对某一文件系统、索引节点的强制访问控制。唐纳德(Donald)、亚瑟(Arthur)和威廉等人对安全标记与数据库元素、用户的绑定均采用逻辑的方式进行维护,并基于安全级别产生密钥加密数据库数据,从而实现动态数据库访问控制。特伦斯(Terence)试图构建安全标记系统,用户和客体的安全标记被维护在两个不同的数据库中,远程用户可通过智能卡认证来获取安全标记,由安全标记处理器代理完成安全标记的查询、获取与比较,从而完成用户对应用数据的强制访问控制。尽管安全标记与客体逻辑绑定方式都可以实施网络或系统主体对客体的访问,但是客体安全标记在不同域内的一致性难以维护,维护量比较大。
3.基于XML的安全标记绑定技术
它主要包括两种:一是XML文档强制访问控制研究,二是XML对客体元数据的描述。李斓、何永忠和冯登国在《面向XML文档的细粒度强制访问控制模型》中提出了面向XML文档的细粒度访问控制模型,该模型通过在XML文档模型中扩展安全标记,制定扩展后的XML文档约束规则,依据BLP的操作给出了XML文档的操作,以此来实现XML文档的细粒度访问控制。此类方法尽管能够完成XML文档的强制访问控制,但是安全标记是作为XML文档的属性,实施的对象为XML文档,因而不适于对其他客体的绑定。奥德柯克(Oudkerk)、弗罗纳(W rona)等人试图在客体的元数据(即客体数据的说明)中包含安全标记,采用XML对元数据进行描述,形成XML保密性标记,以此实现安全标记与客体的绑定。当用户访问客体时,系统通过检索信息客体元数据的XML文档来查询客体的安全标记,依据安全标记限定用户的访问或者数据的交换。该方法尽管在一定程度上实现了客体与安全标记的逻辑绑定,但是该方法描述的内容为客体元数据,是客体的说明性检索文档,实现的是安全标记与客体间接的逻辑绑定,而且保密性标记面向的是整个客体,很难实现细粒度访问控制,该方法的主要用途是作为NATO成员之间数据交换的安全说明。
关于安全标记与客体的绑定,尽管可以采用上述方法来完成,但是它们大多面向单一的客体,以采用数据库、链表逻辑维护的方式实现,使得它们不能完全满足多级安全控制需求。主要表现在以下两方面:
第一,未考虑客体的数据格式,每增加一种类型的客体,就要研究一种绑定方法,难度较大,而且较为复杂。特别是在网络信息系统间异构数据交换时访问控制较难。因此,如何对客体进行统一表示,实现多类型客体与安全标记的绑定,是降低安全标记绑定复杂性,解决网络信息系统多元化数据交换安全控制问题的关键。
第二,难以对客体实施细粒度的访问控制。由于传统方法是对客体整体打标记,因此当某客体由不同安全级别的子单元组成时,则仅仅能够满足安全级别不小于客体安全级别的主体,而不能被其他主体访问,这也将严重降低客体的利用率,难以实施客体的裂解访问。
目前,国内也出现了一些类绑定系统,如集中管控、标签水印等。集中管控系统完成对终端行为的监管,尽管可以审核文档的源是谁,审计到用户,但是随着文档位置的变化,文档的源也会相应地发生变化,进而审计的操作用户也将发生变化,与安全标记绑定的实质是不一样的。标签水印系统是采用水印方式实现了安全级别与文档的绑定,但是其支持的文档类型有限,仅能够对整个文档进行绑定,难以实施细粒度访问控制,不能完全满足多级安全控制的需求。
因此,本书通过深入分析现有客体与安全标记绑定存在的不足,在曹利峰、李中和陈性元的《基于XML的数据客体与安全标记绑定方法》的基础上,提出了一种基于信息客体统一化描述的安全标记绑定方法,实现了静态信息客体与安全标记绑定的统一,确保了安全标记的一致性,不仅可以解决系统间异构数据交换访问控制难的问题,还可以实施更为细粒度的访问控制。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。