ADD file via upload
随着云原生的快速发展,机密数据的安全防护变得至关重要,涉密程序的运行需要更高要求的安全保护,为此可信执行环境应运而生。题目要求TEE平台上设计一个高效且安全的机密容器平台,该平台应尽量减小TCB,增加安全性,为高敏感的后台服务型工作负载提供通用的容器运行平台,例如权限认证服务,密钥管理服务,隐私数据库等。
zhang.jia@linux.alibaba.com
[1] 龙蜥社区机密计算SIG:
编译工具前请确保已安装一下依赖项:
sudo apt install -y pkg-config libssl-dev asciidoctor
执行以下命令,编译构建和运行项目所需的工具:
make tools
运行以下命令编译 Shelter 项目:
make
编译完成后,可以使用 Shelter 命令行工具来构建机密虚拟机并运行敏感程序。
./shelter help
将要放入敏感程序机密虚拟机中的敏感程序静态编译,可以使用tests/ 目录下的md5.c测试。 静态编译:
tests/
md5.c
cd tests/ gcc -static -o md5 md5.c
构建Shelter镜像并指定敏感程序,敏感程序会放入机密虚拟机的/bin目录下:
/bin
cd ../ sudo ./shelter build -t md5 -f tests/md5 -a "/usr/local/bin/attestation-agent"
客户端运行远程认证:
cd ra/ sh ra.sh
运行敏感程序:
cd ../ sudo ./shelter run -t md5 -c /bin/md5 -i <Your remote attestation IP address> -m <Memory size(2G)>
将要放入敏感程序机密虚拟机中的敏感程序静态编译,可以使用tests/ 目录下的Dockerfile测试。 构建镜像运行python程序:
Dockerfile
cd tests/ docker build -t my-ml-app .
运行docker容器:
docker run my-ml-app
导出rootfs:
sudo docker export <Container id> -o rootfs.tar
向shelter指定要使用的根文件系统:
cd ../ sudo ./shelter build -t ml -r tests/rootfs.tar
运行根文件系统中的程序:
cd ../ sudo ./shelter run -t ml -c "/usr/local/bin/python /app/ml_test.py" -m <Memory size(4G)> -i <Your remote attestation IP address>
相关的说明文档与演示视频在doc/目录下。项目功能说明书:doc/操作系统开源创新大赛项目功能说明书.pdf操作系统开源创新大赛原创承诺书: doc/操作系统开源创新大赛原创承诺书.pdf演示视频:doc/演示视频.mp4项目PPT:doc/一斤鸭梨-应用创新赛道-赛题8:为高敏感型机密计算工作负载设计构建一个安全且高效的机密容器平台.pptx
doc/
©Copyright 2023 CCF 开源发展委员会 Powered by Trustie& IntelliDE 京ICP备13000930号
为高敏感性机密计算工作负载设计构建一个安全且高效的机密容器平台
作品完成和提交方式:选择本赛题的参赛队伍需要首先复刻(Fork)本项目,然后在复刻的项目中添加参赛队员、合作完成作品开发即可,无需提交PR到赛题项目。如果作品为文档形式,也请将作品文档提交到项目代码库中。在作品完成过程中,围绕作品的相关讨论等可以以疑修(Issue)形式发布和讨论,也可使用里程碑对整个任务进行规划管理。
1. 赛题说明
随着云原生的快速发展,机密数据的安全防护变得至关重要,涉密程序的运行需要更高要求的安全保护,为此可信执行环境应运而生。题目要求TEE平台上设计一个高效且安全的机密容器平台,该平台应尽量减小TCB,增加安全性,为高敏感的后台服务型工作负载提供通用的容器运行平台,例如权限认证服务,密钥管理服务,隐私数据库等。
2. 赛题要求
3. 赛题导师
zhang.jia@linux.alibaba.com
4. 参考资料
[1] 龙蜥社区机密计算SIG:
5. 编译
编译工具前请确保已安装一下依赖项:
编译工具
执行以下命令,编译构建和运行项目所需的工具:
编译项目
运行以下命令编译 Shelter 项目:
6. 使用方法
编译完成后,可以使用 Shelter 命令行工具来构建机密虚拟机并运行敏感程序。
Shelter 命令
7. 测试示例
将敏感程序放入机密虚拟机中
将要放入敏感程序机密虚拟机中的敏感程序静态编译,可以使用
tests/
目录下的md5.c
测试。 静态编译:构建Shelter镜像并指定敏感程序,敏感程序会放入机密虚拟机的
/bin
目录下:客户端运行远程认证:
运行敏感程序:
将根文件系统放入虚拟机中
将要放入敏感程序机密虚拟机中的敏感程序静态编译,可以使用
tests/
目录下的Dockerfile
测试。 构建镜像运行python程序:运行docker容器:
导出rootfs:
向shelter指定要使用的根文件系统:
客户端运行远程认证:
运行根文件系统中的程序:
8. 说明文档与演示视频
相关的说明文档与演示视频在
doc/
目录下。项目功能说明书:doc/操作系统开源创新大赛项目功能说明书.pdf
操作系统开源创新大赛原创承诺书: doc/操作系统开源创新大赛原创承诺书.pdf
演示视频:doc/演示视频.mp4
项目PPT:doc/一斤鸭梨-应用创新赛道-赛题8:为高敏感型机密计算工作负载设计构建一个安全且高效的机密容器平台.pptx