
# 隔离维度2
在云基础设施平台上，提供虚拟机实例Guest OS的启动完整性保护已经成为新的安全基线。当前，ECS虚拟机实例已提供UEFI安全启动（Secure Boot）和QingTian TPM特性，支持客户实现满足TCG标准的可信启动和远程证明能力。QingTian TPM是由QingTian系统提供的符合TPM 2.0规范的一种虚拟设备，操作系统一般会基于TPM来实现磁盘加密（如Windows BitLocker）、数据防篡改（如Linux DM-Verity）等安全特性。
然而，通用客户虚拟机操作系统（如Rich OS）一般拥有较大的TCB，这往往导致存在较大的攻击面，尤其是Guest OS运行时完整性保护仍然存在诸多挑战。那么，在这一隔离维度上，我们参考隔离维度1中将租户VM与云系统进行隔离的设计方法，提供QingTian Enclave来运行租户的敏感应用。它将Guest OS划分在QingTian Enclave的信任边界之外，将敏感应用的运行环境与Guest OS运行环境进行完全隔离，确保Guest OS存在的安全威胁并不会影响Enclave环境中的应用和数据安全。
图1隔离维度2   
![](https://support.huaweicloud.com/twp-ecs/zh-cn_image_0000002500191069.png "点击放大")
QingTian Enclave是在ECS实例内部由用户启动的一个与父实例完全隔离的VM运行环境，它通过唯一的vsock安全通道连接到父实例。基于父实例Guest OS不可信假设，QingTian Enclave在这一隔离维度上采用如下方法实现安全增强：
- 强隔离：QingTian Enclave与客户父ECS主实例之间基于硬件辅助虚拟化和自研VRAM内存管理机制来确保虚拟机之间的隔离，Enclave与父实例之间没有共享的物理内存和CPU Core，仅通过唯一的受Hypervisor保护的本地vsock安全通道进行连接。即使主实例Guest OS存在安全缺陷，或者超级管理员权限被攻破，控制了主实例Guest OS的攻击者仍然无法访问Enclave环境中的代码和数据。
- 最小攻击面：QingTian Enclave不支持挂载网卡，不提供网络接口，不提供持久化存储，也不支持SSH交互式访问。QingTian Enclave OS 默认使用一个华为云自研的经过极致裁剪的安全OS，当然客户也可以定制自己的Enclave OS。
- 防篡改：QingTian Enclave启动时，QingTian Hypervisor会验证Enclave镜像的数字签名，并度量Enclave镜像文件和数字签名公钥证书，度量结果会保存到QTSM（QingTian Security Module）。QTSM提供类似TPM的可信度量和远程证明特性，与TPM的主要差别是QTSM基于云计算ECS服务场景重新定义了可信度量属性和Attestation安全协议。
- 保护密钥：为了保护QTSM的关键密钥和运行时安全，QTSM运行在QingTian Cards提供的隔离计算环境中，基于TRNG硬件引擎产生随机的Attestation密钥对，然后向QingTian Attestation PKI服务申请Attestation公钥证书。QingTian Attestation PKI服务在通过硬件增强的身份认证之后，为QTSM颁发Attestation公钥证书。QTSM还支持Attestation密钥对的小时级轮转，这进一步消减了密钥泄露的风险。
QingTian Enclave支持远程证明协议。Enclave应用与外部依赖方建立信任时，可以通过Attestation协议向依赖方提供Enclave身份和运行环境度量的密码学证明。华为云KMS、IAM服务内置了对QingTian Enclave Attestation的支持。Enclave应用开发者可以使用开源Enclave SDK访问KMS API来获取数据加解密密钥或安全随机数并保证端到端的安全。IAM管理员可以通过预设的IAM授权策略或护栏策略来对KMS API施加基于Attestation的条件访问控制。
此外，在易用性和应用兼容性方面，QingTian Enclave也是一个对开发者友好的平台。开发者无需具备CPU微架构专业知识和高级密码学知识就能轻松开发QingTian Enclave应用。当前QingTian Enclave已支持x86和ARM架构，开发者可以使用任何熟悉的开发语言框架，并基于容器镜像直接构建QingTian Enclave镜像。
QingTian Enclave使能客户在ECS VM环境内部创建出一个强化且高度隔离的计算环境，以满足客户将自身系统组件按不同信任等级进行隔离。QingTian Enclave特性自上线以来已获得众多云上客户的青睐，客户基于QingTian Enclave构建的生产应用有vHSM加密机、Vault凭证管理、MPC数字钱包等。针对云原生机密容器解决方案，我们还支持在Kubernetes中配置QingTian Enclave设备插件(Device Plugin)，以支持客户Pod和容器能够访问QingTian Enclave设备驱动，该设备插件适用于CCE或客户自管理的Kubernetes节点。此外，华为云还提供了丰富的QingTian Enclave开源工具（eg, qproxy）和安全解决方案，帮助更多客户实现无需改造应用代码和构建系统，即可以平滑迁移至QingTian Enclave环境。
![](https://support.huaweicloud.com/twp-ecs/public_sys-resources/note_3.0-zh-cn.png)
**QingTian Enclave适用场景**：QingTian Enclave可以为应用程序提供一个满足最小攻击面的极致隔离运行环境，这个环境不允许弹性网卡挂载和存储卷挂载，不支持网络协议栈和持久化存储，它只能通过连接到主实例的vsock安全通道并借助主实例的网络代理才能访问外部网络。即使主实例Guest OS被彻底攻破，也不会影响Enclave环境的应用程序代码和数据安全。如果用户需要在隔离环境中挂载弹性网卡或存储卷，或需要访问GPU设备，那么QingTian Enclave并不适用，而推荐使用支持QingTian TPM的ECS实例。
