什么是机密计算?
机密计算是一种通过内存中处理加密数据来限制访问、保护使用中数据的技术概念。它特别适用于公有云环境,并聚焦于基于软件和硬件的安全防护,确保数据在面临恶意内部人员、网络漏洞或软硬件技术威胁时仍能保持加密与安全。
随着公有云服务的广泛使用,机密计算的重要性日益凸显。采用云计算环境的企业能够从机密计算提供的增强安全感中获益。
机密计算的工作原理
通常,服务提供商在数据存储或传输时进行加密,但数据在使用时不再加密。机密计算的目标是在数据仍处于加密状态时在内存中进行处理,从而减少敏感数据的暴露。数据仅在系统代码允许用户访问时才会解密,这意味着数据对云提供商也是隐藏的。该功能的核心组成部分是基于硬件的可信执行环境(TEE),它将数据及其计算与宿主系统的其余部分隔离。
TEE场景下的数据安全与传统数据加密方法不同。后者保护传输中和存储中的数据,而TEE保护处理中的数据。换句话说,端到端的数据安全——在应用执行之前、期间和之后——需要两者结合。
机密计算的优势
机密计算为用户和提供商提供以下优势:
- 更强的数据安全:应用处理数据时,数据完全隔离,甚至操作系统(OS)也无法访问。
- 应用完整性:确保只有经批准的代码在环境中执行;未经授权的代码无法处理。
- 增强云安全信心:在机密计算环境下,数据在公有云中的安全性与私有云相当。
- 安全协作:机密计算增强共享计算场景中多方数据的安全性。
- 合规支持:由于其数据隔离标准极高,机密计算有助于满足严格的合规要求。
机密计算的挑战
尽管机密计算有许多优势,但也面临以下挑战:
- 性能问题:TEE消耗大量计算资源,减缓代码执行速度。
- 开发挑战:应用通常需要重写或重构,往往大幅修改,才能在TEE中运行。
- 陡峭的学习曲线:部署机密计算环境所需的专业知识相当高。
- 密钥管理:TEE中使用的加密密钥必须存储和管理,这是一个复杂的过程,通常需要第三方协助。
- 硬件支持:TEE有复杂的硬件要求,并非所有云环境都可用。
- TEE限制:由于高度依赖硬件,TEE可能受内存和存储限制,随着系统使用增加而出现问题。
- 缺乏既定标准:没有普遍接受的跨平台机密计算标准,限制了跨平台开发选项。
- 供应商锁定:由于没有广泛采用的机密计算标准,每个供应商都有自己的方案,这意味着采用机密计算可能面临供应商锁定和迁移困难的风险。
机密计算的应用场景
机密计算在保护可信环境中的数据方面有许多用途,例如:
- 保护数据免受恶意攻击者侵害。
- 确保数据符合法规,如《通用数据保护条例》(GDPR)。
- 保障数据安全,如财务数据和加密密钥。
- 在将工作负载迁移到不同环境时保护使用中的数据。
- 使开发者能够创建可在不同云平台间移动的应用。
在医疗保健领域,机密计算用于对隐私至关重要的大数据集进行数据分析,处理患者医疗信息和处理电子健康记录。在金融行业,机密计算用于处理银行交易、信用历史和其他私人数据,以及基于真实数据运行风险分析和欺诈检测模型。
机密计算联盟
机密计算联盟(CCC)由一组组织组成,目标是构建跨平台机密计算工具,在很大程度上支持和定义了机密计算。该联盟于2019年在Linux基金会下创建,旨在简化在称为“飞地”(enclaves)的TEE中运行计算,这些飞地受到硬件、操作系统和其他应用的保护。
联盟由硬件供应商、云提供商和开发者组成,其功能包括:
- 定义机密计算并加速其在市场中的接受和采用。
- 开发企业级构建块,如开放规范和开源许可项目,使用最新技术以便于开发和管理企业级机密计算应用。
- 定义支持机密感知的基础服务和框架,并最小化信任需求。
CCC还旨在支持保护应用、程序和虚拟机(VM)的社区项目,并协助其他组织实施机密安全变更。此外,CCC开发了机密联盟框架,一个用于构建安全和高可用应用的开源框架。参与CCC的供应商包括Accenture、Alibaba、Arm、Google、Huawei、IBM、Intel、Meta、Microsoft和Red Hat。
机密计算工具和提供商
机密计算可以包括许多不同的工具和服务。CCC中的组织已经开发了许多支持可信执行环境和机密计算的开源工具,以下是一些示例:
- Amazon Web Services (AWS) Nitro Enclaves:这些服务使云团队能够在Amazon Elastic Compute Cloud实例中创建隔离的执行环境。它们使用安全本地通道进行实例与飞地之间的通信。
- Google Asylo:由Google Cloud开发,包含一个开源框架和软件开发工具包(SDK),使用安全飞地处理数据。Asylo通过Google的容器仓库提供,或作为Docker镜像,可用于支持TEE的平台,使Asylo在硬件配置方面更加灵活。Google Cloud平台还提供一套工具,包括Confidential VMs、Confidential GKE、Confidential Dataproc和Confidential Space。
- Microsoft Open Enclave SDK:Microsoft开发了这个框架,用于在Azure中构建应用飞地,支持Windows Server Hypervisor基于虚拟化的安全。Microsoft的Azure机密计算框架使用这些飞地加密传输中、静态和使用中的数据。Azure提供广泛的机密计算产品,包括硬件、服务、SDK和部署工具。
- Red Hat Enarx:Red Hat贡献了Enarx框架,类似于Microsoft的Open Enclave,但适用于Linux和公有云环境。
机密计算的未来
尽管面临许多挑战,机密计算预计将超越其现有规模,提供统一成为更 cohesive 行业支柱的机会。以下是一些潜在发展:
- 技术将成为行业默认:所有主要云提供商——AWS、Google和Microsoft——都提供机密计算,并且都在迅速扩展。
- 标准将出现:缺乏标准是机密计算的一个主要问题,平台供应商高度 motivated 提高互操作性。这些变化不会迅速发生,但将是 significant 和持久的。
- 组织将更紧密协作:机密计算环境将使组织间的协作过程更加 practical 和 convenient。
- 信任模型将快速改进:机密计算平台将朝着与现有监管框架更深集成方向发展。
- AI和机器学习集成:在支持AI应用的机器学习背景下,数据隐私日益受到关注。机密计算环境使ML模型能够训练,而无需暴露原始数据的风险。
- 降低复杂性和成本:随着主要云供应商继续投资机密计算范式,其平台支持和SDK将快速改进,变得更加 affordable、高效和成本更低。
将工作负载和应用迁移到云可能令人望而生畏。了解存在的迁移安全挑战以及组织可用于减轻这些风险的最佳实践。