在多级安全数据库管理系统体系结构领域,已经进行了大量的研究,并且提出了大量的多级安全数据库体系结构。这些体系结构主要分为3类:TCB子集体系结构(TCB Subset DBMS)、可信主体体系结构(Trusted Subject DBMS)和完整性锁体系结构,这里主要介绍前两类体系结构及其变种,并且对这些体系结构的优缺点进行分析。
1.TCB子集体系结构
TCB子集方法使用DBMS外的可信计算基(TCB)对数据库对象进行强制存取控制。TCB通常指可信操作系统或可信网络。
TCB子集体系结构起源于Hinke-Schaefer方法,该方法具有以下3个特点:
●多级数据库管理系统实际上是多个单级数据库管理系统的实例化。
●多级数据库及其数据被分解成不同等级的对象,保存在操作系统对象中。
●多级数据库管理系统有一定的访问控制权,但操作系统对数据库管理系统访问数据的操作实行完全访问控制。
TCB子集方法又可分为两类:集中式和分布式。
在集中式方法中,单级数据库管理系统是运行在可信操作系统中的独立进程,多级数据库分解为多个单级片段。这些单级片段是作为单级操作系统对象存储的。图5-1说明了这种方法的体系结构。

图5-1 集中式体系结构
在该系统结构中,用户不是在多级模式下操作,而是按与可信操作系统建立的会话等级进行操作。每个用户按会话等级与一个DBMS交互,运行在不同敏感等级的多个不同的DBMS可以同时操作。该系统结构的两个典型代表是SeaView DBMS和LDV DBMS。这两个产品都提供一个多级数据库的概念视图,其中的每一个元素按其敏感等级标识,两者都达到了A1安全等级。
这种体系结构的最大优点是由可信操作系统完成强制隔离和强制访问控制。由于DBMS是作为不可信的进程运行在具有较高安全等级保证的操作系统中,采用该方法能够使系统达到高的安全保证等级。此外,该方法允许DBMS在TCB外执行其逻辑操作,减小了TCB的大小,同时削弱了TCB的复杂性。若底层安全操作系统通过了安全评估,该体系结构可以大大减少对DBMS安全评估的时间。
这种体系结构有两个缺点:首先,它不适合于那些同时运行包含大量敏感等级的应用,因为尽管TCB体系结构支持进程的并发执行,但一个操作系统能同时支持的进程数以及处理能力是有限的。其次,由于不同等级的DBMS共享数据,容易形成隐蔽通道。
分布式TCB子集方法包括两类:完全数据复制分布式结构和可变数据复制分布式结构。完全数据复制分布式结构采用一个物理分布的多级数据库获得强制物理隔离和强制访问控制。分布式/复制典型体系结构如图5-2所示。这种结构使用多个后端数据库处理器,将多级数据库分为多个安全等级的片段。一个可信的前端处理器连接访问多级数据库的各用户和每个单安全等级的后端数据库处理器。每个后端数据库处理器管理该安全等级的多级数据库片段和所有比该安全等级低的数据的副本。每个站点的安全等级不同。在每个等级的站点中,数据库内容包括其所支配的所有安全等级的数据,即小于或等于该安全级别的所有数据。在图5-2中,左边是高安全等级站点,因此,存放了高安全等级数据和低安全等级数据的副本。

图5-2 分布式/复制典型体系结构
这种体系结构具有达到高安全等级DBMS的几个优点:首先,数据库被物理隔离为等级不同的片段,使其具有很高的强制隔离性,不同等级的DBMS访问不同的数据库,因此不存在共享数据带来的隐蔽通道和干扰等问题。其次,由于用户的查询是在DBMS的后端执行,而用户所需的所有数据存放在后端,因此在前端不需要分解用户的查询,也不需要执行额外的DBMS功能。第三,多个DBMS物理处理器的使用与在单个可信操作系统中运行的多个软件进程相比,提高了性能。
这种体系结构同时也存在以下缺点:第一,使用物理独立的处理器是硬件的,因此该体系结构仅仅适用于那些包含少量敏感等级的情形,不适于那些同时包含大量敏感等级的应用,特别是包含大量非层次敏感等级的应用。第二,效率问题,当安全等级数增加时,数据复制会急剧增加。(https://www.xing528.com)
2.可信主体体系结构
依赖于可信操作系统内核的TCB子集方法为获得更高级的强制访问控制需要牺牲一些DBMS功能。除Trusted Oracle Version 7.0 DBMS使用了TCB子集方法外,几乎所有的MLS/DBMS产品都依赖DBMS自身提供的对数据库对象的强制访问控制。这些MLS/DBMS的安全目标是达到TCSEC的Bl级标准,允许采用一个不可信的软件产品操作多级数据。

图5-3 可信主体体系结构
典型的可信主体体系结构如图5-3所示,MLS/DBMS仍然运行在可信操作系统之上。操作系统提供对MLS/DBMS代码的隔离,并确保所有对数据库的访问必须通过可信DBMS执行。MLS/DBMS将多级数据库存储为一个或多个文件,为每个数据元组赋予一个安全等级标签。
可信主体体系结构的优点在于MLS/DBMS能同时访问多个等级的数据,这样就使得一个单用户处理器可以同时服务多个用户的请求,减少了操作系统的处理负担。另外,这种体系结构允许处理包含大量敏感等级的数据,也能够处理更多复杂的多级访问控制策略,包括定义在不同安全等级数据对象之间的完整性约束,如参照完整性。
可信主体体系结构的主要缺点是无法支持B1以上标准,那些标准需要采用某种形式的硬件强制隔离对象。在可信主体体系结构中,物理关系是整个多级关系或整个多级数据库,数据库对象强制隔离是由软件实现的。证明软件没有允许高安全等级的数据流向低安全等级的数据是非常困难的。
3.完整性锁体系结构
可信主体体系结构的一个重要的变种是完整性锁体系结构,如图5-4所示。完整性锁体系结构由三部分组成:一个不可信前端进程、一个可信的筛选器进程和一个不可信的数据管理器进程。不可信前端进程与用户交互,负责执行查询语法分析,并将处理查询结果返回给用户。可信的筛选器进程负责数据库对象及其安全标签的加密和解密。假设数据库对象是元组,可信的筛选器进程将对每一个元组和其安全标签采用加密算法加密,并产生一个校验和,这样就锁住或密封了元组及其安全标签。当用户在数据库上执行选择操作时,可信的筛选器进程将启动数据管理器进程检索出所有满足条件的元组,然后,这些元组被返回到可信筛选器。可信筛选器检查敏感标签并丢弃那些不能通过强制访问控制的元组,并且重新使用加密算法验证每个元组及其安全标签没有被篡改。最后,运行在用户会话安全等级的不可信前端进程执行一些用户要求的其他功能。

图5-4 完整性锁体系结构
完整性锁体系结构的主要优点在于可以使用不可信DBMS,减少了可信前端要求的功能数量。另外,完整性锁的使用提高了数据修改的检查性。
完整性锁体系结构存在几个缺点:
1)由于使用加密技术需要管理密钥,加大了TCB的复杂性。
2)此外,它要求向前端返回整个数据对象,DBMS无法对部分对象进行操作,如执行投影和连接操作。可信前端在验证每个元组的校验和后必须完成有关这些操作,大大增加了TCB的复杂性和大小。
3)验证校验和能够在修改发生后察觉修改,但不能有效阻止数据修改及删除。
在设计高安全保证的MLS/DBMS的过程中,人们提出了许多不同的新体系结构,但目前还没有一种体系结构既能满足所有的高安全保证要求,又能提供传统DBMS可以提供的功能。目前,MLS/DBMS大多采用可信主体体系结构。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
