机密容器(Confidential Containers)是 CNCF的一个Sandbox项目,用于解决云原生场景下的数据安全问题,满足数据合规、数据隐私保护、算法和模型等创新IP保护,数据可用但是不可见等使用需求,以及解决云厂商的信任依赖问题。
机密容器具备以下几个特性:
① 安全性。机密容器基于硬件可信执行环境来保护容器中数据安全,云厂商以及具备高权限的第三方均无法直接窃取和篡改容器中的数据。
② 易用性。用户应用无需进行任何改造,即可从传统容器环境中迁移到机密容器环境中。
③ 能够解决租户和云厂商之间的信任依赖问题。租户数据对于云厂商而言不再透明。
④ 可自证性。用户可以通过远程证明等手段证实当前使用的容器环境是真实可信的。
机密容器的安全性很大程度上依赖于硬件的可信执行环境,基于硬件实现对于运行态数据机密性、完整性和安全性的保护。
近年来很多硬件厂商也推出了自己的TEE 技术解决方案,比如Intel®SGX和Intel®TDX等,这意味着我们可以基于多种硬件平台构建机密容器技术。
阿里云是机密容器(Confidential Containers)项目的核心参与者,在参与开源项目开发的同时,也一直在推动机密容器的商用解决方案,目前已经完成了两种机密容器的解决方案构建。一种为 POD级机密容器,一种为进程级机密容器。POD 级机密容器指将容器 POD 中的内容放到 TEE 中进行保护;进程级机密容器指将运行有敏感业务的容器进程放到 TEE 中进行保护。
在使用CPU TEE保护运行态数据安全的同时,我们也结合镜像安全、存储安全,远程认证、网络安全等一系列安全技术,为用户提供从应用部署到执行的全链路的安全保证。
同时,我们将机密容器引入到龙蜥社区,基于龙蜥开源生态构建开源的、开箱即用的解决方案。 目前我们已经完成了ANCK、KVM、Rund安全容器等组件对于机密容器的适配工作。构建开源解决方案,是希望能够借助开源社区与合作伙伴达成更便捷深入的合作,为机密容器寻找更多落地场景。
Intel和阿里云都充分意识到,除了关注基础软件之外,为了促进机密容器的技术发展和普及,运营、应用和生态也是非常关键的一环。
机密计算的核心价值和能力在于能够对于高价值业务或敏感数据提供保护。
Intel®BigDL一款开源人工智能解决方案平台,能够方便数据科学家和数据工程师便捷地开发出一套端到端的分布式人工智能的应用。另外,BigDL特别针对机密计算推出了 PPML (隐私计算框架),能够对分布式人工智能应用实现端到端的保护。
PPML架构如上图所示。最底层为通过 K8s 环境提供的Intel®TDX和 SGX分布式可信执行环境。再通过一系列软硬件安全技术加持,使得用户能够在不暴露隐私数据的前提下,使用标准的人工智能和大数据处理软件比如Apache、Spark、Flink 以及 TensorFlow、PyTorch 等耳熟能详的工具开发自己的应用。
在此之上,PPML还提供了Orca和DLlib两个工具。Orca是在AI 框架 API 之上,增强了分布式大数据的处理能力,而 DLlib则能够帮助程序员将分布式深度学习应用转化成 Spark 应用。另外,BigDL还提供了可信大数据存储、机器学习、深度学习以及联邦学习应用。
PPML中间为一个可信的K8s集群,通过机密容器技术能够构建出基于TDX 的分布式可执行环境,从而确保业务、数据和模型在使用和计算过程中的安全性,包括不可见以及不可更改性。
所有数据均以加密方式存储在数据湖和数据仓库中。 PPML 数据装载进可信执行环境之后,通过远程证明以及密钥管理系统获取数据密钥,置于可信执行环境中进行解密。再通过标准人工智能和 AI 处理计算框架,做分布式的大数据预处理,包括模型构建、模型训练以及模型推理。最后,再以安全或加密方式将数据写回到分布式存储中。所有节点之间和容器之间的数据均以 TL 方式进行传输,构成了完整的安全闭环。
使用 TDX 机密容器运行 PPML workload只需简单两步:首先,将构建 PPML的镜像将进行加密,将加密后的镜像传输到镜像仓库之中;其次,在 K8s 运行环境中运行 PPMLworkload ,开发者只需在标准 YAML 文件中指定所需机密容器运行时以及配置好的高性能存储卷,最后使用标准 K8S 工具拉起即可。
Intel和阿里云一直保持着紧密合作。我们是 cocos 上游社区的发起人,共同定义、设计和实现了诸多 cocos社区的安全特性,确保了 cocos 软件栈的强安全属性。
另外,我们在龙蜥社区实现了基于 TDX的机密容器端到端的解决方案,包括远程证明以及参保用例。我们选择了龙蜥设计 open-local driver ,第一个支持了可信存储,第一个支持了kata2.x的direct volume 新特性。
目前,Intel正紧密配合阿里云的小伙伴实现阿里云机密容器的产品换代。