Occlum入门
Occlum是一款蚂蚁集团开源的LibOS,目的是为了降低SGX应用开发门槛。传统的SGX开发存在一定的开发困境:
1.需要将应用程序分为两部分,可信部分和不可信部分。
2.可以使用的编程语言受限制。
3.功能受限制,Enclave无法访问不可信OS,是不可信环境的一个很小的功能子集。
Occlum解决了上述问题,实现了类似docker的命令,使得正常开发的程序可以在SGX可信环境中运行。
安装配置
1.首先需要安装好SGX环境(驱动、SDK)
2.运行Occlum Docker容器
1 | $ docker run -it --device /dev/isgx occlum/occlum:latest-ubuntu20.04 |
3.下载编译Occlum
1 | $ git clone https://github.com/occlum/occlum.git |
在不支持SGX的机器上编译
1 | $ SGX_MODE=SIM make |
安装
1 | $ make install |
使用
1.用Occlum工具链编译用户程序
1 | $ occlum-gcc -o hello_world hello_world.c |
2.初始化一个目录作为Occlum实例
1 | $ occlum new occlum_instance |
3.产生一个安全Occlum FS镜像和Occlum SGX enclave
1 | $ cp ../hello_world image/bin/ |
不支持SGX的平台
1 | $ SGX_MODE=SIM occlum build |
4.在SGX enclave里运行用户程序
1 | $ occlum run /bin/hello_world |
参考
人人都可以“机密计算”:Occlum 使用入门和技术揭秘