你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Azure 托管机密联盟框架概述
Azure 托管机密联盟(托管 CCF)是一项用于部署机密应用程序的全新且高度安全的服务。 开发者可以使用它生成机密应用程序,这些应用程序需要对多个参与方之间可能需要的数据和信息进行可编程保密。 通常,成员同意网络的章程(成员建立的规则),设置治理和业务事务规则,并且业务事务基于所定义的内容进行。 如果对影响业务规则的治理进行了更改,联盟需要批准这些更改。
事实上,此框架仅在硬件支持的安全 Enclave 中运行。Enclave 是一个高度监视的独立运行时环境,使潜在的攻击无从下手。 它还在极简的可信计算基 (TCB) 上运行,并限制操作员的角色。
顾名思义,Azure 托管 CCF 利用 Azure 机密计算平台和开源机密联盟框架作为基础技术,提供可防篡改且作用显著的高完整性解决方案。 一个托管 CCF 实例跨三个或更多相同的计算机,每个计算机在专用的、经过全面测试的硬件支持的 Enclave 中运行。 数据完整性通过基于共识的区块链进行维护。
下图显示了托管 CCF 平台不同层以及应用程序代码所在位置的高级概述。
关键功能
托管 CCF 的几个主要功能是机密性、可自定义的治理、高可用性、可审核性和透明度。
保密性
节点在基于硬件的受信任执行环境 (TEE)内运行,以确保正在使用的数据在 RAM 中和计算期间受到保护和加密。 下图显示了在使用代码和数据时如何进行保护。
可自定义的治理
参与者(称为成员)共同承担由章程建立的网络可操作性的责任。 共享治理模型通过公开和可审核的投票过程在成员之间建立信任和透明度。 章程是作为一组 JavaScript 脚本实现的,可以在网络创建期间及以后进行自定义。 下图显示了成员如何参与治理行动,以接受或拒绝章程强制执行的建议行动。
高可用性和复原能力
托管 CCF 资源在分布式节点网络的基础上构建,该网络维护事务的相同副本。 此平台从头开始设计和构建,可以容忍和适应网络和基础设施中断。 此平台通过将节点分布在 Azure 可用性区域,保证高可用性和快速服务修复。 发生意外灾难时,通过账本文件的自动备份和还原,可以实现快速恢复和业务连续性。
可审核性和透明度
网络状态可通过回执进行审核。 回执是与事务关联的签名证明。 回执可以脱机验证,也可以由第三方验证,相当于“这个事务在网络的这个位置产生这个结果”。 它们与账本或其他回执的副本一起可用于审核服务并追究联盟的责任。
治理操作和关联的公钥值映射存储在账本中的纯文本中。 建议客户下载账本,并使用 CCF 随附的开源脚本验证其完整性。
对开发人员友好
开发者可以使用熟悉的开发工具(如 Visual Studio Code)和编程语言(如TypeScript、JavaScript 和 c++)结合 Node.js 来开发面向托管 CCF 平台的机密应用程序。 开源示例应用程序已发布以供参考,并根据反馈持续更新。
开源 CCF (IaaS) 与Azure 托管 CCF (PaaS)
客户可以构建面向机密联盟框架 (CCF) 的应用程序并自行托管。 但是,与其他任何自托管应用程序一样,它需要定期维护和修补(硬件和软件),这将消耗时间和资源。 Azure 托管 CCF 将日常操作抽象化,使团队能够专注于核心业务优先事项。 下图比较了自托管 CCF 网络与 Azure 托管 CCF 之间的差异。