virtCCA(包含 TEE 虚拟化的 ARM 机密计算架构)的软件开发工具包,如远程认证、基于硬件的密钥派生等。
支持鲲鹏架构下openEuler系列操作系统。
-
安装依赖
yum install tar cmake make git gcc gcc-c++ openssl-devel glib2-devel
-
编译安装基线度量值计算工具
cd attestation/rim_ref cmake -S . -B build cmake --build build cp output/gen_rim_ref /usr/local/bin
基线度量值计算工具gen_rim_ref会安装到/usr/local/bin目录下
-
编译安装远程证明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
-
将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