计算虚拟化 原生安全性

vSphere 7 安全特性之 Trust Authority

vSphere Trust Authority 是 vSphere 7 推出的一项基础性的安全技术,其目的是要建立起一整套安全信任体系,所以我们把 Trust Authority 翻译成“信任权威”。这是一项从 vSphere 6.x 就开始构建,直到 vSphere 7 才完全实现的安全技术。

vSphere 6.x 已经实现的安全技术

TPM (Trust Platform Module,可信赖平台模块) 是安装在服务器主板上的一块安全芯片,成本大概是20到40美元,它被很多用户忽视,在实际实用中并没有用到 TPM 所提供的功能。vSphere 从 6.7 开始支持 TPM 2.0 标准。

Dell R630 服务器上的 TPM 组件

TPM 主要有以下几项功能:

  • 首先,TPM 是一个密码处理器,可以生成密钥和随机数, TPM 所生成的随机器可以被操作系统和 CPU 用作生成随机数的种子。
  • 其次,TPM 也被用来存储密钥、证书、数字签名等敏感数据;为了防止机密数据的泄露,TPM 芯片在激活后和服务器主板是绑定的,所以二手服务器上的 TPM 如果已经被使用过了是没有办法重用的,因为它里面已经存储了前任主人的秘密。
  • 最后,TPM 也能够帮助我们来判断服务器的完整性 (即是否有任何组件被篡改过),这个动作叫作主机证明 (attestation)。服务器可以通过开启 UEFI 安全启动 (Secure Boot) 和 TPM 来保证系统启动过程中用到的都是经过认证的软件、整个系统的配置没有被篡改过,这个安全状态可以被vCenter 记录下来,作为该服务器是否安全的一个证明。

下图就是 vSphere 6.7 中关于主机证明的例子:vCenter 界面中详细记录了每台主机的安全性,7台服务器都激活了 TPM 2.0 并且都通过了主机证明 (Attestation)。

因为时间原因,vSphere 6.7 只实现了 Trust Authority 机制的一部分,它能够检测一台服务是否处于信任状态,没有通过主机证明则会产生一条警告。但是 vSphere 6.7 没有来得及实现安全控制,安全敏感的虚机还是可以运行在没有通过安全证明的主机上。

另外,vCenter 本身也是一台虚机,主机的安全证明状态都记录在 vCenter 中,谁又来证明 vCenter 这台虚机的可信程度呢?vCenter 也负责跟密钥管理系统 KMS (Key Management Server) 打交道来获取虚机加密密钥,所以它本身是无法被加密的,因为这是一个鸡跟蛋的循环依赖问题。

vSphere 6.7 中的信任机制

vSphere Trust Authority (vTA)

上述这些问题都在 vSphere 7 中得到了进一步的解决,从而形成了完整的安全信任体系 vSphere Trust Authority。在 vSphere 7 中,我们可以设立专门的受信主机来为其他服务器进行安全证明,并由此建立一套 vTA 集群,这个集群不运行其他的工作负载,所以组成该集群的服务器不需要强大的计算能力。并且这个集群由专人管理,这样就把安全管理员和其他的管理员分离开来,在安全上更加合规可靠。

下图就是 vTA 实现的一个例子,其中蓝色的框就是 vTA 集群,左侧是运行工作负载的服务器,它们都由受信任的 vTA 主机来进行安全证明,绿色的是通过安全证明的服务器,红色的是未通证明的服务器。

vSphere 7 中的 Trust Authority

另外,受信主机也负责跟 KMS 服务器的沟通工作,由它来统一从 KMS 服务器那里获得加密密钥,这样其他的 vCenter 服务器虚机都可以被安全地加密了。没有通过安全证明的主机将无法获得得密钥来对加密的虚机进行解密,这样就阻止了加密虚机在未受信任主机上的运行。

vSphere Trust Authority 是一项基础性的安全技术,它从根本上建立了对于数据中心内软硬件资源的安全信任链,对于某些安全合规性要求高的用户是一种必要的选择。你可能会觉得 vTA 增加了系统的复杂度,因为它需要建立一个独立的受信主机集群并由专人进行管理。但是对于拥有大型数据中心的用户来说,这项投资是完全值得的,几台受信主机就可以对几千台服务器进行安全证明;更重要的是,vTA 机制降低了安全风险,提高了数据中心安全合规等级。