预计阅读本页时间:-
9.3.5 可信计算基
在安全领域中,人们通常讨论可信系统而不是安全系统。这些系统在形式上申明了安全要求并满足了这些安全要求。每一个可信系统的核心是最小的可信计算基(Trusted Computing Base,TCB),其中包含了实施的所有安全规则所必需的硬件和软件。如果这些可信计算基根据系统规约工作,那么,无论发生了什么错误,系统安全性都不会受到威胁。
典型的TCB包括了大多数的硬件(除了不影响安全性的I/O设备)、操作系统核心的一部分、大多数或所有掌握超级用户权限的用户程序(如在UNIX中的SETUID根程序)。必须包含在操作系统中的TCB功能有:进程创建、进程切换、内存页面管理以及部分的文件以及I/O管理。在安全设计中,为了减少空间以及纠正错误,TCB通常完全独立于操作系统的其他部分。
TCB中的一个重要组成部分是引用监视器,如图9-11所示。引用监视器接受所有与安全有关的系统请求(如打开文件等),然后决定是否允许运行。引用监视器要求所有的安全问题决策都必须在同一处考虑,而不能跳过。大多数的操作系统并不是这样设计的,这也是它们导致不安全的部分原因。
广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

现今安全研究的一个目标是将可信计算基中数百万行的代码缩短为只有数万行代码。在图1-26中我们看到了MINIX 3操作系统的结构。MINIX 3是具有POSIX兼容性的系统,但又与Linux或FreeBSD有着完全不同的结构。在MINIX 3中,只有4000行左右的代码在内核中运行。其余部分作为用户进程运行。其中,如文件系统和进程管理器是可信基的一部分,因为它们与系统安全息息相关;但是诸如打印机驱动和音频驱动这样的程序并不作为可信计算库的一部分,因为不管这些程序出了什么问题,它们的行为也不可能危及系统安全。MINIX 3将可信计算库的代码量减少了两个数量级,从而潜在地比传统系统设计提供了更高的安全性。