你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
用于构建 Enclave 应用程序的开源解决方案
本文介绍了一些开源解决方案,可用于构建使用应用程序 enclave 的应用程序。 阅读之前,请务必先阅读 enclave 应用程序概念页。
兼容 Intel SGX 的工具
Azure 通过启用了 Intel Software Guard Extensions (SGX) 的机密虚拟机提供应用程序 enclave。 部署了 Intel SGX 虚拟机后,需要使用专门的工具来让应用程序具备“enclave 感知”功能。 这样,生成的应用程序便可同时具有受信任和不受信任的代码部分。
例如,可以使用以下开源框架:
如果不想编写新的应用程序代码,可使用机密容器启用程序包装容器化应用程序
Open Enclave 软件开发工具包 (OE SDK)
若要编写在领地中运行的代码,请使用提供商支持的库或框架。 开放领地 SDK (OE SDK) 是一个开源 SDK,可以在支持机密计算的不同硬件上实现抽象化。
OE SDK 旨在充当任何 CSP 的任何硬件上的单个抽象层。 可以在 Azure 机密计算虚拟机的基础上使用 OE SDK,以创建并运行基于领地的应用程序。 Open Enclave 存储库由 Microsoft 维护。
EGo 软件开发工具包
EGo 是一种开源 SDK,可让你运行在 enclave 内以 Go 编程语言编写的应用程序。 EGo 在 OE SDK 的基础上构建,并且包括用于证明和密封的 in-enclave Go 库。 许多现有的 Go 应用程序在 EGo 上运行而无需进行任何修改。
Intel SGX 软件开发工具包
Intel SGX SDK 由 SGX 团队在 Intel 进行开发和维护。 SDK 是一种收集工具,可让软件开发人员创建和调试启用了 Intel SGX 的应用程序(采用 C/C++)。
机密联盟框架 (CCF)
机密联盟框架 (CCF) 是分布式区块链框架的一个例子。 CCF 是在 Azure 机密计算的基础上构建的。 此框架由 Microsoft Research 率先使用,使用受信任的执行环境 (TEE) 的强大功能来创建远程 enclave 的网络以进行证明。 节点可以在 Azure Intel SGX 虚拟机上运行并利用 enclave 基础结构。 通过证明协议,区块链的用户可以验证一个 CCF 节点的完整性,并有效验证整个网络。
在 CCF 中,分散账本由在所有网络节点中复制的键值存储的已记录更改组成。 其中每个节点都运行由区块链用户通过 TLS 触发的事务引擎。 触发终结点时,会改变键值存储。 在将加密的更改记录到分散的账本之前,它必须经过一定数量的节点同意才能达成一致。
适用于 Kubeflow 的 Intel® 云优化模块
适用于 Kubeflow 的 Intel® 云优化模块使用 XGBoost 提供优化的机器学习 Kubeflow 管道,用于预测贷款违约概率。 参考体系结构利用 Azure Kubernetes 服务 (AKS) 群集上的安全机密 Intel® 软件防护扩展虚拟机。 它还允许使用 XGBoost 和 Intel daal4py 的 Intel®® 优化,在完整的端到端机器学习管道中加速模型训练和推理。