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

机密联盟框架概述

机密联盟框架 (CCF) 是一个开源框架,用于生成安全且高度可用的高性能新应用程序,这些应用程序侧重于多方计算和数据。 CCF 利用受信任执行环境(TEE 或 enclave)、分散式系统概念和加密技术来支持企业就绪的多方系统。 CCF 基于行业标准 Web 技术,允许客户端通过 HTTPS 与 CCF 感知应用程序交互。

下图显示了由三个节点构成的基本 CCF 网络。 所有节点都在一个 enclave 中运行相同的应用程序代码。 用户(业务)和成员(管理)事务的影响最终提交到复制的加密账本。 成员联盟负责管理网络。

A diagram of a A Confidential Consortium Framework network made of 3 nodes.

核心概念

网络和节点

CCF 网络由多个节点组成,每个节点都在 Intel SGX 等受信任执行环境 (TEE) 之上运行。 CCF 网络是分散的,并且高度可用。 节点由运营商运行和维护。 但是,在参与 CCF 网络之前,节点必须受成员联盟信任。

若要了解有关运营商的详细信息,请参阅 CCF 文档中的运营商部分。

应用程序

每个节点都运行以 JavaScript 编写的同一应用程序。 应用程序是由受信任用户的 HTTP 命令通过 TLS 触发的终结点的集合。 每个终结点都可以改变或读取在网络中的所有节点之间复制的 enclave 内存中键值存储。 在进行应用之前,对键值存储的更改必须至少由大多数节点同意。

键值存储是应用程序定义的映射(将键关联到值)的集合。 这些映射可以是专用的(在账本中加密),也可以是公共的(受完整性保护并可由有权访问账本的任何人查看)。

由于 CCF 网络中的所有节点都可以读取专用映射的内容,因此应用程序逻辑必须控制对此类映射的访问。 由于每个应用程序终结点都有权访问请求中的用户标识,因此很容易实现授权策略来限制对这些映射的访问。

若要详细了解 CCF 应用程序并开始生成它,请参阅入门页。

账本

对键值存储的所有更改均由网络的每个节点加密并记录到磁盘到分散的可审核账本。 账本的完整性由 Merkle 树保证,其根由当前主节点或领导节点定期签名。

在 CCF 文档中的审核部分中了解如何审核 CCF 账本。

调控

CCF 网络由成员联盟管理。 账本中记录的可脚本化章程定义了成员必须遵循的一组规则。

成员可以提交用于修改键值存储状态的提案。 例如,成员可投票以允许新的受信任用户向应用程序发出请求或向联盟添加新成员。

只有在章程中定义的条件得到满足(例如,大多数成员已投票赞成该提案)时才会执行提案。

若要详细了解可自定义的章程和管理,请参阅 CCF 文档中的管理部分。

后续步骤