1、基于 Kata 的机密容器(CoCo)在蚂蚁的落地实践李亚南蚂蚁集团 高级软件开发工程师Kata Containers Maintainer目录 CoCo 与 Kata CoCo 在蚂蚁的应用与实践 问题探讨CoCo 与 Kata什么是什么是 KataKata 和和 CoCoCoCoKataKata 与与 CoCoCoCo 的的差异差异CoCoCoCo 与与 KataKata 的依赖关系的依赖关系什么是 Kata Containers OpenInfra 基金会的顶级开源项目,旨在解决传统容器技术中的安全性和隔离性问题。它将容器的轻量性与虚拟机的安全性完美结合,为云原生计算提供了一种新的运行时
2、解决方案。要解决的关键问题:1.容器安全隔离的脆弱性传统容器共享宿主机内核,安全边界模糊。容器逃逸攻击风险较高。多租户环境中隔离不充分。2.性能与安全的矛盾虚拟机安全但资源开销大。容器轻量但隔离性弱。需要在安全性和性能间找平衡。核心技术架构:1.多个容器运行在独立的轻量级虚拟机中2.利用硬件虚拟化技术(如VT-X/AMD-V、VT-d等)提供强隔离3.保持与标准 OCI 容器的兼容性,积极拥抱 Kubernetes 生态金融交易,医疗数据处理,云原生敏感计算等什么是 Confidential Containers(CoCo)CNCF 沙箱项目,于2022年正式加入 CNCF 生态。旨在通过硬件
3、级可信执行环境(Trusted Execution Environment,TEE)为容器提供端到端的数据机密性和完整性保护。解决的关键问题:云计算环境中数据在使用期间的脆弱性:传统云计算中数据易遭受未授权访问。云服务提供商可能获取敏感数据。多租户环境中的数据隔离困难。用户对敏感工作负载的安全顾虑:金融、医疗等高度敏感的计算场景。跨云和多云环境的数据保护。防范内部攻击和潜在的基础设施风险。核心技术架构基于运行时 Kata Containers:透明地为容器提供安全隔离环境。无需修改应用程序代码。符合 OCI 容器标准,并拥抱 Kubernetes。硬件可信执行环境:利用 Intel TDX、A
4、MD SEV-SNP 等硬件安全技术。创建密封的计算环境。数据在处理过程中完全加密。CoCo 与 Kata 的差异维度Kata ContainersConfidential Containers可信主体宿主机可信(防御容器逃逸)宿主机不可信+防护客户机数据与计算机密性技术基础硬件虚拟化技术 KVM集成 TEE 硬件、远程证明、存储加密等全栈方案解决问题传统容器在隔离性和安全性云环境中数据机密性和完整性,数据可用不可见的问题。KVMKVM+TEE(TDX/SEV-SNP等)CoCoCoCo 实际上是基于实际上是基于 Kata ContainersKata Containers 构建的机密计算解决
5、方案,两者存在紧密的技术依赖关系。构建的机密计算解决方案,两者存在紧密的技术依赖关系。CoCoCoCo 以以 Kata ContainersKata Containers 为运行时基座,通过扩展为运行时基座,通过扩展 TEE TEE 硬件支持、端到端加密以及相关度量等全硬件支持、端到端加密以及相关度量等全栈安全加固技术,实现云原生机密计算。栈安全加固技术,实现云原生机密计算。两者协同解决从虚拟化隔离到数据隐私的全生命周期防护。两者协同解决从虚拟化隔离到数据隐私的全生命周期防护。CoCo 与 Kata 的关系CoCo 在蚂蚁的应用与实践在云环境中运行在云环境中运行 Apache SparkApa
6、che Spark 业务业务利用利用 CoCoCoCo 实现实现 SparkSpark 机密大数据分析机密大数据分析云环境运行 Apache Spark 业务需求(在云环境运行 Spark 任务):在机器学习训练或身份匹配场景中,往往希望通过在 Kubernetes 环境中以 Pod 形式运行 Spark 作业,并能根据作业资源需求以及数据大小进行动态调度和扩缩容,以支持分布式数据处理。在 K8S 中运行 Spark 作业的好处:(1)资源的集中管理和动态调度,提高集群整体资源利用率。(2)统一运维方式,提升运维效率,降低管理复杂度。(3)通过容器镜像标准化部署,解决不同 Spark 版本间的