首页 » OpenStack系统架构设计实战 » OpenStack系统架构设计实战全文在线阅读

《OpenStack系统架构设计实战》11.4 基于可信计算的云安全体系

关灯直达底部

11.4.1 可信计算平台

TCG认为,如果从一个初始的“信任根”出发,在平台计算环境的每一次转换时,这种信任状态都可以通过传递的方式保持下去而不被破坏,那么平台上的计算环境将保持在可信的状态中。在可信环境下的各种可信的操作也不会破坏平台的可信状态,平台本身的完整性也就可以得到保证,平台将一直处于安全状态。这称为信任的传递机制。

可信不是指行动的可靠性,它是指经常性的活动,即行为。一次行动可以得出安全性结论,但不能得出可信性结论,安全是可信的必要条件,但不充分。可信的概念涵盖了主题、客体和行为3个方面的内容。另外,可信概念还表现在对事前的预警、事中的监督和事后的审查过程中。

因此,计算机安全的概念可以表示为:

1)把计算机的可信概念定义为行为可信概念。

2)把计算机的可信平台概念定义为行为完整性和系统完整性。

可信计算平台是一个对本地用户和远程用户都可信的平台。为了让用户相信在计算平台中已经正确地安装并正确运行着一个用户期望的启动过程、一个用户选择的操作系统和一系列用户选择的安全功能,在用户和计算平台之间必须建立信任关系。

平台的可信主要体现在以下4个方面:

1)身份认证,体现了平台对使用者的信任。

2)平台软硬件配置的正确性,体现了使用者对平台运行环境的信任。

3)应用程序的完整性和合法性,体现了应用程序运行的可信。

4)平台之间的可验证性,体现了网络环境下平台之间的相互信任。

TCG认为,可信计算平台应具有数据完整性、数据安全存储和平台身份证明等方面的功能。一个可信计算平台必须具备4个基本技术特征:安全输入输出、存储器屏蔽、密封存储和平台身份的远程证明。

可信计算的基本思想是:首先构建一个信任根,再建立一条信任链,从信任根开始到硬件平台,到操作系统,再到应用,一级认证一级,一级信任一级,把这种信任扩展到整个计算机系统,从而确保整个计算机系统的可信。可信计算机系统如图11-7所示。

图11-7 可信计算机系统示意

可信计算平台是集合可信硬件和可信软件(包括可信操作系统)在内的一个可被本地用户和远程实体信赖的平台,它是可信软硬件的综合实体。可信计算平台的重要基础部件包括可信平台模块TPM和TCG软件协议栈TSS(TCG SoftwareStack)。

可信计算平台可信的核心是被称为可信平台模块TPM的安全芯片。在TPM中,有一系列平台配置寄存器PCR(Platform Configuration Register),在TCG最新的TPM 1.2版103修订版规范中,要求TPM至少支持24个PCR,而其之前的版本则只要求支持16个PCR,这些PCR是保证平台完整性的基础。每个PCR都是一个拥有160bit的存储空间,都处于TPM内部,属受保护区域,为易失性存储器。平台完整性度量的结果以SHA-1运算摘要的形式保存在PCR中。PCR在系统启动时自动复位,为了在某个特定的PCR中存储无限量的度量摘要信息,在PCR中保存的方式,要求新值必须基于原有的旧值和即将写入的新值,这个操作被称为扩展,对PCR的扩展运算要求保持完整性度量发生的次序。对PCR的操作需要使用TPM的保护功能,禁止直接把一个值赋给一个PCR。完整性度量的日志信息被保存在TPM外部,该信息保存了每次完整性度量的信息及对PCR的扩展操作信息,不仅保存度量数据本身,还包括度量的次序、对象等。

可信计算平台对外提供安全服务,如平台完整性报告、平台身份认证、基于可信硬件模块的平台数据安全服务等。

可信计算平台至少要包括3种功能:保护功能、证明功能、完整性度量机制。

(1)保护功能

保护功能是指一套命令集合,该命令集合拥有高级权限,能够访问受保护的区域。保护区域指的是可以对敏感数据进行安全操作的区域,在保护区域中的数据只能通过保护功能的命令才能访问。在可信计算平台中,保护功能和保护存储可以用于保存和报告完整性度量的结果。此外,保护功能还包括了密钥管理、随机数发生器以及数据密封等。

(2)证明功能

证明功能是一个对信息的准确性进行验证的过程。外部实体能够认证受保护的区域、保护功能和可信根。在证明时,需要提供被证明实体的特征信息,对于平台来说,特征即为影响平台完整性的状态信息。在所有形式的认证过程中,都必须保证使用的被证明实体信息是可靠的。

(3)完整性度量机制

平台完整性是可信计算平台的一个重要特性,完整性度量机制主要包括完整性度量计算、存储、报告和验证。可信计算平台构建平台可信性的重要思路就是通过完整性度量机制,将平台信任根的可信性和控制权逐级传递形成信任链,并将平台可信性传递到整个平台各个部分的软硬件组件,确保平台可信。