一、前言
机密计算技术是在运行态数据难以保护的背景下出现的,机密计算可以简单的抽象为:将运行数据放入黑盒子中,应用可以请求相关运算,但不能从盒子中拿出任何机密数据。
当前多家芯片都推出了机密计算解决方案(Intel: SGX、MKTME、ARM: Trustzone、RISC-V: keystone),而不同硬件架构之间的设计存在差异。secGear 将不同处理器架构的机密计算方案的差异在软件层面抹平,在Base Layer、Middleware Layer、Service Layer三层分别实现了统一的接口,开发者只需要通过这些接口即可使用机密计算相关功能。
本文环境:Ubuntu x86_64
参考secGear
二、环境准备
1、安装SGX环境
参照博客
https://blog.csdn.net/P_Bloomberg/article/details/119476568
2、安装opam
1)安装
sudo add-apt-repository ppa:avsm/ppa
sudo apt update
sudo apt install opam
2)初始化
opam init
3)设置环境变量
eval 'opam config env'>> ~/.bashrc && source ~/.bashrc
3、安装dune
opam install dune.2.4.0
4、升级cmake(可选)
参照以下博客
https://blog.csdn.net/P_Bloomberg/article/details/119465247
https://blog.csdn.net/fang_chuan/article/details/104748265/
三、安装secGear
1、下载secGear v0.1.0
2、解压文件
tar -zxvf openeuler-secGear-v0.1.0.tar.gz
mv secGear /opt/secGear #这一步不是必需的,可选
3、进入文件
cd secGear
4、设置环境变量
1)编辑环境变量
vim ~/.bashrc
2)增加以下内容
export CC_SDK={secGear_path}/secGear
export PATH=$PATH:$CC_SDK/bin/
3)生效
source ~/.bashrc
5、测试
-DSGXSDK=
后填SGX SDK的地址
mkdir debug && cd debug && cmake -DCMAKE_BUILD_TYPE=Debug -DCC_SGX=ON -DSGXSDK="{sgx_sdk path}" .. && make && sudo make install
如果sgx安装在了/opt/intel
下,则sgx_sdk path=/opt/intel/sgxsdk
可能出现的问题:
1)出现动态链接库出错,可进行下属操作
echo "LD_LIBRARY_PATH='{secgear_path}secGear/debug/lib'" >> ~/.bashrc && source ~/.bashrc
2)cmake版本不对
参照环境准备第4步。
四、完成
运行编译结果
>>> bin/secgear_helloworld
输出
Create secgear enclave
secgear hello world!
至此,secGear安装已经完成。