我想将我的 Go 微服务开发和部署为 SGX-/机密计算应用程序。有什么要求?
问问题
183 次
1 回答
0
使用 Go 编写机密计算应用程序需要两件事:
1. 在 Confidential/SGX enclave 内运行的 Go 运行时
这里有两种方法:
Generic LibraryOS(基于进程和基于虚拟机的飞地之间的中间体)
- 石墨烯:https ://grapheneproject.io/ (还不支持 Go)
- Occlum:https ://occlum.io/
- LKL:https ://github.com/lsds/sgx-lkl
Go SDK 和运行时:虽然据我所知存在多个 SGX 运行时,但只有 EGo 支持 Go。
2. Go 的 SGX API(直接从 Go 进行远程证明、密封等)
LibraryOS 有自己的 API,将来可能会支持 Go 绑定,但是在编写此代码时,您仍然需要用 C/C++ 编写自己的 Go 绑定。
与 ertruntime 一起使用的 ertgolib 提供了一个功能齐全的 API 层,将大部分 OpenEnclave/SGX 功能直接暴露给 Go
于 2021-02-16T13:27:29.100 回答