huawei-qingtian:华为云基于擎天架构的隔离执行环境,支持远程证明与安全隔离

Qingtian Enclaves service is a feature of Qingtian architecture in Huawei Cloud, which provides an isolated execution environment, named enclave, inside a Huawei ECS instance.

Branch2Tags0

青天围区

该存储库提供了华为云客户使用青天围区服务所需的组件。青天围区是华为云中青天架构的一项特性,它在华为云ECS实例内部提供一个名为围区的隔离执行环境。围区是独立的、高度受限的虚拟机,没有持久化存储、交互式访问或外部网络功能。围区与其父实例之间仅有一个安全的本地套接字连接通道。围区的资源,如vCPU和内存,与父实例分离,并由青天hypervisor确保其父实例无权访问这些vCPU和内存。即使是父实例中的进程、应用或用户(包括root或admin)也无法访问围区内的代码和数据。因此,您可以使用青天围区来保护您的敏感代码和数据。

青天围区还支持与华为密钥管理服务集成的证明功能,允许您验证围区的身份以及在其内部运行的预期代码。根据围区的PCR,您可以为特定IAM用户自定义安全性策略。

要求

使用青天围区时需满足以下要求:

  • 父实例要求:

    • 仅支持Linux操作系统
    • 基于青天的虚拟机,支持围区
    • 配置有超过“2个vCPU”
    • 至少为启动围区预留“2个免费vCPU”和“512MB空闲内存”
  • 青天围区要求:

    • 仅支持Linux操作系统
    • 配置至少“128MB内存”,且不少于围区eif镜像文件大小的4倍
    • 如果配置了“hugepage_size”为“2M”,则支持“512MB内存”;如果配置为“1G”,则支持“256GB内存”
    • 配置偶数个“vCPU”,数量小于“62”
    • 所有“内存”和“vCPU”应来自父实例的一个NUMA节点,且围区的“vCPU”数量应小于单个NUMA节点内“vCPU”的数量减去“2”
  • 青天围区与其父实例的关系:

    • 支持在每个父实例上启动多个青天围区
    • 围区不能在父实例停止或终止时运行
    • 不允许在同一父实例中同时启动并终止围区
    • 围区应在专用“CPU”上运行,其他“CPU”,特别是“CPU0”,应保留在父实例中
    • 使用超线程时,围区不允许与其父实例共享同一核心

组件信息

此存储库包含以下组件:

  • enclave:包含在青天围区内运行的所有组件
    • enclave/init:启动围区时的第一个应用程序。
    • enclave/qtsm:用于连接青天安全模块(QTSM)设备以处理证明和PCR查询的工具
    • enclave/qtsm-sdk-c:一组帮助用户开发自己的围区应用的库
  • qingtian-tool:用于管理青天围区生命周期的命令行工具
    • qingtian-tool/qt-proxy:在父实例中运行的网络代理
  • virtio-qtbox:父实例中的虚拟PCI设备,允许父实例为其围区分配资源

您可以在各个组件的README.md中获取更多详细信息。

许可证

该项目受Apache 2.0许可证许可。

贡献

我们非常感谢社区对发现潜在安全问题、修复错误和改进项目做出的贡献。阅读CONTRIBUTION.md以了解如何参与青天围区项目的改进工作。

Introduction

庆天飞地服务是华为云中庆天架构的一项功能,它在一个华为ECS实例内部提供了一个名为飞地(enclave)的隔离执行环境。【此简介由AI生成】

Customize my domain