带你读《云原生机密计算最佳实践白皮书》——Inclavare Containers: 面向机密计算场景的开源容器运行时技术栈

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 带你读《云原生机密计算最佳实践白皮书》——Inclavare Containers: 面向机密计算场景的开源容器运行时技术栈

Inclavare Containers: 面向机密计算场景的开源容器运行时技术栈


项目位置链接

https://github.com/inclavare-containers


技术自身介绍


背景

机密计算是一种能够通过软件加密算法和硬件HW-TEE保护用户数据和程序的技术。 在云原生场景中, 机密级算能够对计算中的数据提供机密性和完整性保护, 并能够有效防止云提供商和任何高权限的第三方对执行

环境中的数据进行窃取和篡改。


问题&挑战

对于数据隐私和数据安全度关注高的用户, 不愿意冒风险,把自己的业务部署在共有云上, 因为云提供商具有查看用户隐私数据和业务的可能性, 这也阻止了一些企业上云的脚步。随着机密计算蓬勃发展,硬件厂商

提供了HW-TEE硬件加密的方案的涌现, 可以有效解决安全敏感度较高的用户上云顾虑。 对于公有云人们开发和部署很多是以容器的方式进行, 如何让HW-TEE和容器技术相结合,成为云厂商迫切要解决的问题。


解决方案

Alibaba和Intel把Intel-SGX和容器技术相结合, 创新性的开发出了机密容器Inclavare containers, 完美兼容容器标准,并能够为客户的数据和程序进行保驾护航, 并且Inclavare containers 容器成为CNCF的第一个机密容器。

1685083713666.png

如下图所示,Inclavare Containers 中包含多个组件,这些组件可以利用基于硬件支持的 Enclave 技术使可信应用运行在容器中。包含的组件有 rune、shim-rune、Enclave Runtime等。

• rune:rune 是一个命令行工具,用于根据 OCI 规范在容器中生成和运行 Enclave。rune 是在 runc 代码基础上开发的,既可以运行普通 runc 容器也可以运行 Enclave 容器;rune已经写入 OCI 运行时实现列表:

https://github.com/opencontainers/runtimespec/blob/master/implementations.md

• shim-rune:为容器运行时 rune 提供的 shim,主要负责管理容器的生命周期、把普通镜像转换成 TEE 镜像;管理容器的生命周期,与 rune 配合完成容器的创建、启动、停止、删除等操作。

• Enclave Runtime:负责在 Enclave 内加载和运行受信任和受保护的应用程序。rune 和 Enclave Runtime 之间的接口是 Enclave Runtime PAL API,它允许通过定义良好的函数接口来调用 Enclave Runtime。机密计算应用通过这个接口与云原生生态系统进行交互。

一类典型的 Enclave Runtime 实现基于库操作系统。目前,推荐的与 rune 交互的 Enclave Runtime 是 Occlum,这是一种内存安全、多进程 Libos。另一类典型的 Enclave Runtime是带有 Intel® SGX WebAssem

bly Micro Runtime (WAMR),这是一个占用空间很小的独立 WebAssembly (WASM) 运行时,包括一个 VM 核心、一个应用程序框架和一个 WASM 应用程序的动态管理。

此外,您可以使用您喜欢的任何编程语言和 SDK(例如英特尔 SGX SDK)编写自己的Enclave Runtime,只要它实现了 Enclave Runtime PAL API。

Inclavare Contianers主要有以下特点:

1、将 Intel® SGX 技术与成熟的容器生态结合,将用户的敏感应用以 Enclave 容器的形式部署和运行;Inclavare Contianers 的目标是希望能够无缝运行用户制作的普通容器镜像,这将允许用户在制作镜像的过程中,无需了解机密技术所带来的复杂性,并保持与普通容器相同的使用体感。

2、Intel® SGX 技术提供的保护粒度是应用而不是系统,在提供很高的安全防护手段的同时,也带来了一些

编程约束,比如在 SGX enclave 中无法执行 syscall 指令;因此我们引入了 LibOS 技术,用于改善上述的软件兼容性问题,避免开发者在向 Intel® SGX Enclave 移植软件的过程中,去做复杂的软件适配工作。然后,虽然各个 LibOS 都在努力提升对系统调用的支持数量,但这终究难以企及原生 Linux 系统的兼容性,并且即使真的达成了这个目标,攻击面过大的缺点又会暴露出来。因此,Inclavare Containers 通过支持 Java 等语言Runtime 的方式,来补全和提升 Enclave 容器的泛用性,而不是将 Enclave 容器的泛用性绑定在“提升对系统调用的支持数量” 这一单一的兼容性维度上;此外,提供对语言 Runtime 的支持,也能将像 Java 这样繁荣的语言生态引入到机密计算的场景中,以丰富机密计算应用的种类和数量。

3、通过定义通用的 Enclave Runtime PAL API 来接入更多类型的 Enclave Runtime,比如 LibOS 就是一

种 Enclave Runtime 形态;设计这层 API 的目标是为了繁荣 Enclave Runtime 生态,允许更多的 Enclave

Runtime 通过对接 Inclavare Containers 上到云原生场景中,同时给用户提供更多的技术选择。


应用场景

作为业界首个面向机密计算场景的开源容器运行时,Inclavare Containers 为ACK-TEE(ACK-Trusted Execution Environment)提供了使用机密容器的最佳实践。ACK-TEE 依托 Inclavare Containers,能够无缝

地运行用户制作的机密容器镜像,并保持与普通容器相同的使用体感。ACK-TEE 可被广泛应用于各种隐私计算的场景,包括:区块链、安全多方计算、密钥管理、基因计算、金融安全、AI、数据租赁。

相关文章
|
存储 监控 对象存储
ACK 容器监控存储全面更新:让您的应用运行更稳定、更透明
针对本地存储和 PVC 这两种容器存储使用方式,我们对 ACK 的容器存储监控功能进行了全新升级。此次更新完善了对集群中不同存储类型的监控能力,不仅对之前已有的监控大盘进行了优化,还针对不同的云存储类型,上线了全新的监控大盘,确保用户能够更好地理解和管理容器业务应用的存储资源。
844 278
|
11月前
|
Ubuntu PHP Docker
一个可以运行的Dockerfile_php ,用来创建php容器镜像
该简介描述了一个基于 Dragonwell 8 Ubuntu 的 Docker 镜像,用于构建包含 PHP 7.4 及常用扩展的运行环境。通过更换为阿里云源提升安装速度,配置了 PHP-FPM 并暴露 9000 端口,使用自定义 Dockerfile 构建镜像并成功运行容器。
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序
1257 164
|
Kubernetes Cloud Native 开发者
alibaba-load-balancer-controller v1.2.0:开启云原生网关开源新篇章!敬请探索!
alibaba-load-balancer-controller v1.2.0:开启云原生网关开源新篇章!敬请探索!
418 61
|
Cloud Native 关系型数据库 分布式数据库
PolarDB开源:云原生数据库的新篇章
阿里云自研的云原生数据库PolarDB于2023年5月正式开源,采用“存储计算分离”架构,具备高性能、高可用及全面兼容性。其开源版本提供企业级数据库解决方案,支持MySQL、PostgreSQL和Oracle语法,适用于高并发OLTP、核心业务系统等场景。PolarDB通过开放治理与开发者工具构建完整生态,并展望更丰富的插件功能与AI集成,为中国云原生数据库技术发展贡献重要力量。
904 17
|
存储 Cloud Native 关系型数据库
PolarDB开源:云原生数据库的架构革命
本文围绕开源核心价值、社区运营实践和技术演进路线展开。首先解读存算分离架构的三大突破,包括基于RDMA的分布式存储、计算节点扩展及存储池扩容机制,并强调与MySQL的高兼容性。其次分享阿里巴巴开源治理模式,涵盖技术决策、版本发布和贡献者成长体系,同时展示企业应用案例。最后展望技术路线图,如3.0版本的多写多读架构、智能调优引擎等特性,以及开发者生态建设举措,推荐使用PolarDB-Operator实现高效部署。
585 4
|
人工智能 运维 Cloud Native
Argo Workflows at KubeCon Europe 2025: 多元场景的云原生任务编排
Argo Workflow在KubeCon Europe 2025展示了其在AI/ML/HPC任务、事件驱动、平台工程、批量数据处理、混沌测试等多元场景的云原生任务编排能力。
|
PHP Docker 容器
如何在宿主主机运行容器中的php守护进程
在Docker容器中同时运行多个程序(如Nginx+PHP+Ftp)时,需用`docker exec`命令启动额外服务。首先通过`php -v`查看PHP版本,再用`which php-fpm7.4`确认PHP安装路径,通常返回`/usr/sbin/php-fpm7.4`。最后直接运行该路径启动PHP-FPM服务,确保其正常工作。
440 14
|
人工智能 Prometheus 监控
容器化AI模型的监控与治理:确保模型持续稳定运行
在前几篇文章中,我们探讨了AI模型的容器化部署及构建容器化机器学习流水线。然而,将模型部署到生产环境只是第一步,更重要的是确保其持续稳定运行并保持性能。为此,必须关注容器化AI模型的监控与治理。 监控和治理至关重要,因为AI模型在生产环境中面临数据漂移、概念漂移、模型退化和安全风险等挑战。全面的监控涵盖模型性能、数据质量、解释性、安全性和版本管理等方面。使用Prometheus和Grafana可有效监控性能指标,而遵循模型治理最佳实践(如建立治理框架、定期评估、持续改进和加强安全)则能进一步提升模型的可信度和可靠性。总之,容器化AI模型的监控与治理是确保其长期稳定运行的关键。
|
存储 监控 对象存储
ACK容器监控存储全面更新:让您的应用运行更稳定、更透明
介绍升级之后的ACK容器监控体系,包括各大盘界面展示和概要介绍。

热门文章

最新文章