你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

应用程序 enclave

应用程序飞地(例如 Intel SGX)是用于保护特定代码和数据的独立环境。 创建 enclave 时,必须确定应用程序的哪个部分在 enclave 中运行。 创建或管理 enclave 时,请确保为所选的部署堆栈使用兼容的 SDK 和框架。

注意

如果尚未阅读 INTEL SGX VM 和 enclave 简介,请先阅读该文章,然后再继续操作。

Microsoft Mechanics

开发应用

使用 enclave 生成的应用程序中有两个分区。

主机是“不受信任的”组件。 Enclave 应用程序在主机上运行。 主机是不受信任的环境。 在主机上部署 enclave 代码时,主机无法访问该代码。

Enclave是“受信任的”组件。 应用程序代码及其缓存的数据和内存在 enclave 中运行。 Enclave 环境会保护机密和敏感数据。 请确保在 enclave 中进行安全计算。

应用程序示意图,其中显示了主机分区和 enclave 分区。Enclave 中的是数据和应用程序代码组件。

若要利用 enclave 和独立环境的强大功能,请选择支持机密计算的工具。 有多种工具支持 enclave 应用程序开发。 例如,可以使用以下开源框架:

设计应用程序时,请识别并确定需要在 enclave 中运行的部分。 受信任组件中的代码将与应用程序的其余部分隔离。 Enclave 进行了初始化并且代码加载到内存后,不受信任的组件将无法读取或更改该代码。

后续步骤