蚂蚁宣布开源 KubeTEE:云原生集群化机密计算框架

程序那点儿事 2020-09-30 09:57:38 ⋅ 120 阅读

蚂蚁在上海外滩大会可信原生技术论坛上宣布开源 KubeTEE。

KubeTEE 是一个云原生大规模集群化机密计算框架,旨在解决在云原生环境中 TEE 可信执行环境技术特有的从开发、部署到运维整体流程中的相关问题。这是业界首个开源的 TEE 大规模集群整体解决方案。

2018年,蚂蚁集团开始全面转型云原生架构。2020 年,该集团又提出了“可信原生(Trust-Native)”的理念,将可信任性渗透到云原生架构的各层之中,打造全栈可信赖的云计算基础设施。

而作为保护应用的运行安全的技术,机密计算理念以及可信执行环境TEE (Trusted Execution Environment) 也被蚂蚁引入并积极实践,形成了 SOFAEnclave 机密计算技术栈。

SOFAEnclave 包括三大组件:

  • Occlum LibOS:解决业务开发过程中的问题,如传统TEE应用开发需要切分重构,依赖SDK特定编程语言等问题;
  • HyperEnclave:解决TEE部署环境问题,如硬件TEE不普及、软硬件TEE使用一致性等问题;
  • KubeTEE:解决TEE集群问题,包括云原生环境特有的从开发、部署到运维整体流程中的相关问题。 此前,Occlum LibOS 已经开源,并捐献给了 CCC(Confidential Computing Consortium)机密计算联盟。CCC 机密计算联盟隶属于 Linux 基金会,由业界多家科技巨头发起,致力于保护计算数据安全。Occlum 捐献给 CCC,则将成为 CCC 社区首个中国发起的开源项目。

KubeTEE 则是云原生场景下如何使用 TEE 技术的一套整体解决方案,包括多个框架、工具和微服务的集合。其结合了 Kubernetes 和 TEE 两个重要技术方向,解决可信应用从单点到容器化集群实施过程中的相关问题。

KubeTEE 的目标之一是提供 Serverless 形态的机密计算服务,比如 Trusted FaaS,让业务方只需要实现业务核心逻辑,就可以简单地将之提交到 TEE 环境中运行,而不用重复整套的业务服务开发、部署和运维的流程。

KubeTEE架构图: 081444_5Afv_4252687.jpg

目前,KubeTEE 已经开源的组件包括:

  • sgx-device-plugin:sgx容器插件,让容器支持sgx特性,由蚂蚁与阿里云团队共同开发;
  • trusted-function-framework:TFF可信应用开发框架,简化可信函数实现过程,屏蔽SGX相关细节;
  • enclave-configuration-service:AECS,基于远程认证的enclave配置服务;
  • protobuf-sgx:经修改以支持Enclave内部使用的protobuf协议。

利用 KubeTEE 的组件开发一个集群化的可信应用

目前服务器端 TEE 技术最成熟的代表是 Intel SGX 技术,KubeTEE 相关工作也都基于 SGX 实现。

KubeTEE 的目标是通过云原生的手段简化整个可信应用的开发流程,帮助业务方更简单、更顺畅地实现基于 TEE 的可信应用和服务,具体包括可信应用开发支持、基础设施支持和微服务辅助支持等方面。

总体来说,KubeTEE 支持如下整个可信应用的开发流程: 基于开发框架的应用开发 -> 应用自动化签名服务 -> 基于基础镜像和模板工具的容器打包和上传。 081522_OUuk_4252687.png

为了满足不同应用场景的开发需求,在 Occlum LibOS 基础上,KubeTEE 开源了 TFF 可信应用开发框架。TFF 框架主要适用于需要严格控制 Enclave 内部代码性能和安全的轻量应用场景,所以舍弃了对复杂应用的兼容(这部分 Occlum LibOS 可以更好的支持),理念是让 TEE 原生 SDK 支持的分割式编程模型更加稳定和易用。 081538_0kOO_4252687.png

在基础设施方面,KubeTEE 基于 Kubernetes,利用云原生的方式管理和使用 SGX 物理机器,统一 SGX 主机环境,并抽象成容器逻辑资源池,提供统一的可信应用部署服务,让 TEE 硬件基础设施成为一种可以按需使用的集群化资源。 081556_JsC5_4252687.png

KubeTEE 开源的 sgx-device-plugin 让业务容器启动时候自动获取 TEE 特性支持,同时方便集群管理和分配 TEE 资源。 从工程实践角度,集群中可以隔离 CI、测试、预发和生产环境,满足业务不同阶段对 TEE 基础设施的需求。

此外,KubeTEE 还提供了一些辅助微服务来帮助业务方节省重复开发的人力和时间成本。 081612_oY65_4252687.png

其中,KubeTEE 开源的 AECS(Attestation based Enclave Configuration Service)方案就是为了解决可信应用多个实例间安全共享密钥从而实现无状态服务的问题。

AECS 主要提供秘钥生成、导入、存储、管理和分发,远程证明报告代理获取等基础功能,将来可能扩展更多通用配置管理功能,比如证书生成和分发。同时,AECS 支持多种 secret 格式和自定义的 secret 访问 policy,支持多业务之间秘钥隔离管理。

081628_dqle_4252687.png

蚂蚁方面表示,目前,KubeTEE 已经可以较大程度帮助业务方降低 TEE 开发复杂度,但是依然任重道远。KubeTEE 下一阶段将更多关注云原生场景和机密计算的结合,持续贡献更多组件以及通用服务,让 TEE 的使用更高效、更简单、更云原生化。

他们希望,KubeTEE 能和业界携手,共建更完整的云端安全计算生态。


全部评论: 0

    我有话说:

    Fluid 0.3 正式发布:实现原生场景通用化数据加速

    简介 为了解决大数据、AI 等数据密集型应用在原生计算存储分离场景下,存在的数据访问延时高、联合分析难、多维管理杂等痛点问题,南京大学 PASALab、阿里巴巴、Alluxio 在 2020 年

    微型Java开发框架Solon 1.1发布,QPS达10万+

    简介 Solon 是一个微型的Java开发框架。项目从2018年启动以来,参考过大量前人作品;历时两年,2700多次的commit;内核保持0.1m的身材,超高的Web跑分,良好的使用体验

    原生微信小程序开发实战

    腾讯高级工程师 和 腾讯技术产品经理 联合打造原生微信小程序开发实战课程

    Google 宣布正式开源 Jib ,帮助 Java 应用快速容器

    Google 本周宣布开源一款新的 Java 工具 Jib ,旨在让开发者使用他们熟悉的工具更轻松地将 Java 应用程序容器

    蚂蚁金服 Java RPC 开源框架—SOFARPC

    SOFARPC 是一个高可扩展性、高性能、生产级的 Java RPC 框架

    推荐一款功能强大,开源免费的H5可视编辑器

    H5-Dooring 是一款功能强大,开源免费的H5可视页面配置解决方案,致力于提供一套简单方便、专业可靠、无限可能的H5落地页最佳实践。技术栈以react为主, 后台采用nodejs开发. 预览

    详细讲解一下Hadoop3.2 新版本的搭建过程

    详细讲解一下Hadoop3.2 新版本的搭建过程

    开源资讯】JWCloud 专业版 v1.0.0 发布,基于 SpringCloud 研发的微服务框架

    简介 JavaWeb_Cloud 微服务平台是一款基于 SpringCloud 框架研发的分布式微服务框架,主要使用技术栈包括: SpringCloud、Vue、ElementUI

    Python ORM框架SQLAlchemy 1.3.20 发布

    SQLAlchemy 1.3.20 发布了。SQLAlchemy 是一个 Python 的 SQL 工具包以及数据库对象映射(ORM)框架。它包含整套企业级持久模式,专门用于高效和高性能的数据库

    开源推荐」Nginx可视配置工具—NginxWebUI,小白也可以玩转

    包括http协议转发, tcp协议转发, 反向代理, 负载均衡, ssl证书自动申请、续签、配置等

    Martian-cloud 4.0,跟注册中心拜拜了,基于传染机制的分布式组件诞生

    这次真的要跟注册中心讲拜拜了,微服务不再需要占用一套注册中心了,大大节约了运维成本 更新点如下 丢弃了一开始的【生产者->注册中心->消费者】模型 采用传染机制,实现服务的发现与

    PowerJob —强大的分布式任务调度与计算框架

    PowerJob让您轻松完成作业的调度与繁杂任务的分布式计算

    Martian框架发布 3.0.3 版本,Redis分布式锁

    项目简介 Martian 是一个声明式 API 编程(DAP)框架,可以帮助你快速开发后端服务。 以HttpServer作为 http服务,彻底脱离Tomcat这一类的Web容器和Servlet

    WebMIS 1.0.0 beta.3 发布,全栈开发基础框架

    全栈开发基础框架,包括 PHP / Python / SpringBoot / Phalcon / Flutter / NodeJS / Vue / Swoole / Redis / API 等技术

    iOS实战篇:iOS 界面卡顿原因

    界面卡顿的原因在 VSync[1] 信号到来后,系统图形服务会通过 CADisplayLink 等机制通知 App,App 主线程开始在 CPU 中计算显示内容......

    「360技术」Pika 3.4.0 发布,从单机到

    pika 3.4.0 发布了。pika 是 360 公司发布一个可持久的大容量 redis 存储服务,兼容 string、hash、list、zset、set 的绝大部分接口,解决 redis

    Dubbo3.0 来了:服务发现百万,可伸缩微服务架构

    来自:高可用架构原文:https://mp.weixin.qq.com/s/_Ih4AyL2c1JjyLwKCPmphg 本文是一篇关于 Dubbo 地址推送性能的压测文章,我们期望通过对比的方式

    pgAdmin 4 v4.29 发布,PostgreSQL 的开源图形管理工具

    PostgreSQL的开源图形管理工具。更多介...