virtCCA_sdk
介绍
virtCCA(包含 TEE 虚拟化的 ARM 机密计算架构)的软件开发工具包,如远程认证、基于硬件的密钥派生等。
操作系统
支持鲲鹏架构下openEuler系列操作系统。
使用说明
- 远程证明
- kata(cc0.8.0版本)
- kata(v3.15.0版本) 机密容器推荐使用此版本
- mpc使用样例
- qcow2镜像制作
- openclaw-virtcca专用skill
远程证明
编译
-
安装依赖
yum install tar cmake make git gcc gcc-c++ openssl-devel glib2-devel -
编译安装基线度量值计算工具 参考
attestation/rim_ref/README.md -
编译安装远程证明sdk
cd attestation/sdk cmake -S . -B build cmake --build build cmake --install build远程证明用户态静态库libvccaattestation.a会安装到/usr/local/lib目录下,头文件attestation.h会安装到/usr/local/include目录下
-
编译安装
QCBOR 1.2和t_cose 1.1.2依赖,编译远程证明样例代码和支持virtCCA的rats-tls需要使用:if [ ! -d "QCBOR" ]; then git clone https://github.com/laurencelundblade/QCBOR.git -b v1.2 fi if [ ! -d "t_cose" ]; then git clone https://github.com/laurencelundblade/t_cose.git -b v1.1.2 fi cd QCBOR make make install cd ../t_cose cmake -S . -B build cmake --build build cmake --install build -
编译远程证明样例代码,样例代码需要依赖远程证明sdk、
QCBOR 1.2和t_cose 1.1.2,需要提前安装好样例代码server端包含了调用远程证明sdk获取远程证明报告的代码,client端包含了报告解析和验证的代码,server和client使用TCP进行数据传递,代码仅供参考,建议使用rats-tls
cd attestation/samples cmake -S . -B build cmake --build build远程证明样例代码的server和client会生成到build目录下
-
编译安装
libcbor依赖,编译支持virtCCA的rats-tls需要使用:git clone https://github.com/PJK/libcbor.git cd libcbor cmake -S . -B build cd build make make install -
编译支持virtCCA的rats-tls,rats-tls需要依赖远程证明sdk、
libcbor、QCBOR 1.2和t_cose 1.1.2,需要提前安装好cd attestation/rats-tls git clone https://github.com/inclavare-containers/rats-tls.git cd rats-tls git reset --hard 40f7b78403d75d13b1a372c769b2600f62b02692 git apply ../*.patch bash build.sh -s -r编译完成后会在bin目录下生成rats-tls.tar.gz软件包
-
编译启动时证明使用的initramfs,initramfs需要依赖支持virtCCA的rats-tls,需要提前编译好
cd attestation/initramfs bash build.sh
远程证明样例代码
-
启动server,server参数说明请使用
server -h查看./server -
启动client, 可以使用-m参数传递机密虚机的基线度量值用于校验,基线度量值可以使用基线度量值计算工具计算得到,client参数说明请使用
client -h查看./client -m 38d644db0aeddedbf9e11a50dd56fb2d0c663f664d63ad62762490da41562108
支持virtCCA的rats-tls
-
将rats-tls编译生产的rats-tls.tar.gz软件包拷贝到需要使用的机器,然后执行解压命令:
tar -zxf rats-tls.tar.gz -
将rats-tls的动态库复制到/usr/lib目录下
cp -r lib/rats-tls /usr/lib/ -
导入环境变量后运行virtcca-server,virtcca-server参数说明请使用
virtcca-server -h查看export LD_LIBRARY_PATH=/usr/lib/rats-tls:$LD_LIBRARY_PATH ./virtcca-server -
导入环境变量后运行virtcca-client,virtcca-client参数说明请使用
virtcca-client -h查看export LD_LIBRARY_PATH=/usr/lib/rats-tls:$LD_LIBRARY_PATH ./virtcca-client
参与贡献
如果您想为本仓库贡献代码,请向本仓库任意maintainer发送邮件
如果您找到产品中的任何Bug,欢迎您提出ISSUE