蚂蚁集团可信执行环境开源操作系统 Occlum v1.0 发布

IT之家12月12日消息 , 蚂蚁集团主导开源的可信执行环境(TEE)开源操作系统Occlumv1.0版正式发布 。 该版本与此前版本相比具有更高的稳定性和完备性 , 在线程调度、网络和存储IO方面最高有5倍的大幅度性能提升 。 v1.0版还首次上线蚂蚁集团与英特尔联合研发的Spark大数据分析方案 , 可帮助Spark用户无缝地迁移至TEE机密计算环境中 。
Occlum是用于多种TEE的内存安全多任务用户态的开源操作系统 , 可以让应用负载很方便地部署在TEE中 , 来保证用户隐私数据在整个计算过程中的机密性和完整性 。 当前Occlum可以支持的TEE包括IntelSGX和蚂蚁集团自主研发的国产TEE-HyperEnclave 。
蚂蚁集团可信执行环境开源操作系统 Occlum v1.0 发布
文章图片
Occlum是实现在IntelSGX上的单个Enclave内安全高效的多任务用户态操作系统 。 因为Occlum采用的是在单个Enclave内实现LibOS的方案 , 使得Occlum在资源占用和运行效率上优于其他LibOS的实现方案 。
2021年蚂蚁集团决定将Occlum捐献给Linux基金会机密计算联盟CCC , Occlum发展到今天已经历时4年的研发和打磨 , 在开源社区上发布了40多个版本 , 并获得了1000多的GithubStar 。
下面是Occlumv1.0技术亮点详解
蚂蚁集团可信执行环境开源操作系统 Occlum v1.0 发布
文章图片
1)支持150多个兼容Linux的系统调用
为了让Linux原生应用无需修改和编译 , 无缝地迁移到Enclave中 , 在Occlumv1.0中已实现150多个兼容Linux的系统调用 。 支持了大多数主流编程语言 , 包括:C/C++、Java、Python、Golang、Rust、shell脚本等等 。 同时Occlum开源仓库中提供了许多Linux应用 , 例如:SQLiteTensorFlow、OpenVino、PyTorch、Redis、MySQL、Spark、Flink等是如何运行在Occlum上的Demo演示 , 以及在K8S上部署可扩展的基于Occlum的安全推理实例的参考实现方案 。
蚂蚁集团可信执行环境开源操作系统 Occlum v1.0 发布
文章图片
2)易用、高效、实用、安全
首先 , 在易用性上 , Occlum的使用方式是类似容器的使用体验 。 用户通过几个简单命令就可以把应用程序部署到TEE中 。
第二个特点——高效 。 Occlum是高性能的多任务系统 , 支持多进程 , 它采用了单地址空间架构 , 因此多个进程共享同一个Enclave , 因此Occlum在TEE里就可以很快地完成进程启动和进程间通信 。
第三个特点——实用 。 Occlum支持多种文件系统 , 比如:加密文件系统、内存文件系统等等 , 从功能上可以满足应用的各种文件I/O需求 , 并且可以透明的加密应用在运行中需要存储在磁盘上的数据 。
第四个特点——内存安全 。 Occlum是业内第一个用内存安全语言Rust编写的LibOS , Rust语言是追求内存安全 , 且不带来额外性能损耗的编程语言 。 Occlum采用Rust语言编写可以杜绝低级的内存安全错误 , 从而提高Occlum整体内核代码的安全性 , 在托管安全关键的应用程序时更值得信赖 。
3)引入4大核心技术 , 让运行用户的应用负载更加高效
蚂蚁集团可信执行环境开源操作系统 Occlum v1.0 发布
文章图片
首先 , Occlumv1.0提出了以异步为中心的设计思路 , 重新设计了整个Occlum代码架构 , 使用了Rust语言的异步特性 , 基于Rust轻量级协程和异步运行时在Enclave里实现了高效的线程调度机制 , 尤其是对于机器学习和分布式编排等大型应用来说可大幅提高计算性能 。
其次 , Occlumv1.0中创新性地引入了Linux新一代异步I/O操作接口io_uring , 并且支持了大部分IO操作(包括网络IO/磁盘IO) , 利用这一新特性 , 再搭配Rust异步运行时 , Occlum具有了接近Linux原生的网络IO性能 。