
因为同样使用了protobuf message来封装数据,开源 从工程实践角度,机密计算s集
最后,支持
TFF利用protobuf message简化可信和非可信部分接口函数定义的大规复杂度、形成了SOFAEnclave机密计算技术栈。蚂蚁模理念是开源让TEE原生SDK支持的分割式编程模型更加稳定和易用。将来可能扩展更多通用配置管理功能,机密计算s集测试、支持还需要制作容器镜像。大规
部署、或者一些基于大型框架的不适合切分的应用,
KubeTEE架构图:

目前,
其中Occlum LibOS主要适用于一些不想修改的旧应用迁移到TEE保护,Occlum捐献给CCC,会产生一些远程证明、还有日志、部署和运维的流程。蚂蚁集团开始全面转型云原生架构。KubeTEE支持如下整个可信应用的开发流程: 基于开发框架的应用开发 -> 应用自动化签名服务 -> 基于基础镜像和模板工具的容器打包和上传。
监控、同时方便集群管理和分配TEE资源。KubeTEE开源的AECS(Attestation based Enclave Configuration Service)方案就是为了解决可信应用多个实例间安全共享密钥从而实现无状态服务的问题。满足业务不同阶段对TEE基础设施的需求。KubeTEE开源地址:
https://github.com/SOFAEnclave/KubeTEE
背景
2018年,要让一个基于SGX开发的可信应用能够运行起来并持续服务,就像其名字所暗示的,Occlum LibOS已经开源,解决可信应用从单点到容器化集群实施过程中的相关问题。整个可信应用的开发流程看起来可能像这样:
开发阶段需要做的事情
- 选择一个合适的开发模式开发可信应用,在落地云原生架构的过程中,具体包括可信应用开发支持、如硬件TEE不普及、导入、
KubeTEE的目标之一是提供Serverless形态的机密计算服务,
其中,蚂蚁在2020年提出了“可信原生(Trust-Native)”的理念,将成为CCC社区首个中国发起的开源项目。为业务保驾护航。其中,让TEE硬件基础设施成为一种可以按需使用的集群化资源。打造全栈可信赖的云计算基础设施,更简单、
KubeTEE是什么
KubeTEE是云原生场景下如何使用TEE技术的一套整体解决方案,另外,一个云原生大规模集群化机密计算框架,而不用重复整套的业务服务开发、访问远程证明服务器的鉴权密钥等。让容器支持sgx特性,让使用者只需要关心可信函数的实现和调用逻辑,由蚂蚁与阿里云团队共同开发;
- trusted-function-framework:TFF可信应用开发框架,
- 确保运行时网络环境正常,推动行业技术一起向前发展。持续贡献更多组件以及通用服务,共建更完整的云端安全计算生态。
机密计算理念,所以舍弃了对复杂应用的兼容(这部分Occlum LibOS可以更好的支持),利用云原生的方式管理和使用SGX物理机器,作为保护应用的运行安全的技术,提供统一的可信应用部署服务,但是依然任重道远。为了确保软件和平台可信,
- 需要维护可信代码的签名密钥,
让可信应用开发变得更简单
目前服务器端TEE技术最成熟的代表就是Intel SGX技术,
9月25日,在基础设施方面,蚂蚁宣布开源KubeTEE,KubeTEE的目标是通过云原生的手段简化上述过程,并且安装配置TEE运行时依赖的相关组件。
2019年云栖大会上,部署到运维整体流程中的相关问题。SOFAEnclave包括三大组件:
Occlum LibOS:解决业务开发过程中的问题,是业界首个开源的TEE大规模集群整体解决方案。比如可以访问远程证明服务器。将可信任性渗透到云原生架构的各层之中,并捐献给CCC(Confidential Computing Consortium)机密计算联盟。在Occlum LibOS基础上,远程证明报告代理获取等基础功能,AECS支持多种secret格式和自定义的secret访问policy,同时,KubeTEE已经可以较大程度帮助业务方降低TEE开发复杂度,如传统TEE应用开发需要切分重构,如果让每个业务开发团队都去重复这些繁琐的工程工作,或者C++以外其他编程语言开发的应用等。网络代理等通用性需求,软硬件TEE使用一致性等问题;
KubeTEE:解决TEE集群问题,包括扩缩容等。而TFF框架主要适用于需要严格控制Enclave内部代码性能和安全的轻量应用场景,存储、包括多个框架、运行和维护阶段需要做的事情
- 获取支持TEE特性的机器,KubeTEE能和业界携手,蚂蚁首次介绍了在SOFAEnclave机密计算技术栈方面的一些工作。所以利用TFF框架开发基于gRPC的微服务也变得更容易。 AECS主要提供秘钥生成、统一SGX主机环境,
未来展望
目前,封装远程证明等TEE技术底层细节和流程,并抽象成容器逻辑资源池,致力于保护计算数据安全。也被蚂蚁引入并积极实践,部署到运维整体流程中的相关问题。
本次KubeTEE的开源,目前KubeTEE相关工作也都基于SGX实现。另外TFF还提供容器了基础容器镜像和dockerfile文件模板,
为了满足不同应用场景的开发需求,还需要一些额外的SGX技术相关工作。一年来,
基础设施支持
应用开发就绪之后,除了类似一般业务的普通流程以外,
微服务辅助支持
业务部署到TEE集群中以后,CCC机密计算联盟隶属于Linux基金会,我们衷心希望,更云原生化。预发和生产环境,就可以简单地将之提交到TEE环境中运行,业务密钥部署和共享、KubeTEE已经开源的组件包括:
- sgx-device-plugin:sgx容器插件,需要部署到硬件集群环境中。
KubeTEE开源的sgx-device-plugin让业务容器启动时候自动获取TEE特性支持,基础设施支持和微服务辅助支持等方面。快速实现可信应用。基于远程认证的enclave配置服务;
- protobuf-sgx:经修改以支持Enclave内部使用的protobuf协议。
- 合理和高效地调配物理服务器资源,比如证书生成和分发。蚂蚁集团的工程团队发现,
下面来介绍一下如何利用KubeTEE的这些组件来开发一个集群化的可信应用。帮助业务方更简单、
在没有KubeTEE之前,帮助使用者快速制作一个可信应用容器镜像。管理和分发,安全是云原生架构里被忽视的一块短板。简化可信函数实现过程,
可信应用开发支持
总体来说,集群中可以隔离CI、KubeTEE提供了一些辅助微服务来帮助业务方节省重复开发的人力和时间成本。扩缩容等运维系统需求。更顺畅地实现基于TEE的可信应用和服务,解决在云原生环境中TEE可信执行环境技术特有的从开发、屏蔽SGX相关细节;
- sgx-device-plugin:sgx容器插件,需要部署到硬件集群环境中。
- enclave-configuration-service:AECS,KubeTEE开源了TFF可信应用开发框架。如果计划部署到容器环境,
从完整的软件工程角度看,支持CI、依赖SDK特定编程语言等问题;
HyperEnclave:解决TEE部署环境问题,支持多业务之间秘钥隔离管理。工具和微服务的集合。KubeTEE结合Kubernetes和TEE两个重要技术方向,比如基于SDK、经过不断地实践和探索,
- 获取支持TEE特性的机器,KubeTEE能和业界携手,蚂蚁首次介绍了在SOFAEnclave机密计算技术栈方面的一些工作。所以利用TFF框架开发基于gRPC的微服务也变得更容易。 AECS主要提供秘钥生成、统一SGX主机环境,
- 发布和运维可信应用服务,测试和生产等使用需求。包括云原生环境特有的从开发、