12 Star 3 Fork 18

openEuler/virtCCA_sdk

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

virtCCA_sdk

介绍

The software development kit of virtCCA (virtualized ARM confidential computing architecture with trustzone), such as remote attestation, derived key based on hardware etc.

远程证明

编译

  1. 安装依赖

    yum install tar cmake make git gcc gcc-c++ openssl-devel glib2-devel
    
  2. 编译安装基线度量值计算工具

    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目录下

  3. 编译安装远程证明sdk

    cd attestation/sdk
    cmake -S . -B build
    cmake --build build
    cmake --install build
    

    远程证明用户态静态库libvccaattestation.a会安装到/usr/local/lib目录下,头文件attestation.h会安装到/usr/local/include目录下

  4. 编译安装QCBOR 1.2t_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
    
  5. 编译远程证明样例代码,样例代码需要依赖远程证明sdk、QCBOR 1.2t_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目录下

  6. 编译安装libcbor依赖,编译支持virtCCA的rats-tls需要使用:

    git clone https://github.com/PJK/libcbor.git
    cd libcbor
    cmake -S . -B build
    cd build
    make
    make install
    
  7. 编译支持virtCCA的rats-tls,rats-tls需要依赖远程证明sdk、libcborQCBOR 1.2t_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软件包

  8. 编译启动时证明使用的initramfs,initramfs需要依赖支持virtCCA的rats-tls,需要提前编译好

    cd attestation/initramfs
    bash build.sh
    

使用说明

远程证明样例代码

  1. 启动server,server参数说明请使用server -h查看

    ./server
    
  2. 启动client, 可以使用-m参数传递机密虚机的基线度量值用于校验,基线度量值可以使用基线度量值计算工具计算得到,client参数说明请使用client -h查看

    ./client -m 38d644db0aeddedbf9e11a50dd56fb2d0c663f664d63ad62762490da41562108
    

支持virtCCA的rats-tls

  1. 将rats-tls编译生产的rats-tls.tar.gz软件包拷贝到需要使用的机器,然后执行解压命令:

    tar -zxf rats-tls.tar.gz
    
  2. 将rats-tls的动态库复制到/usr/lib目录下

    cp -r lib/rats-tls /usr/lib/
    
  3. 导入环境变量后运行virtcca-server,virtcca-server参数说明请使用virtcca-server -h查看

    export LD_LIBRARY_PATH=/usr/lib/rats-tls:$LD_LIBRARY_PATH
    ./virtcca-server
    
  4. 导入环境变量后运行virtcca-client,virtcca-client参数说明请使用virtcca-client -h查看

    export LD_LIBRARY_PATH=/usr/lib/rats-tls:$LD_LIBRARY_PATH
    ./virtcca-client
    

空文件

简介

The software development kit of virtCCA (virtualized ARM confidential computing architecture with trustzone), such as remote attestation, derived key based on hardware etc. 展开 收起
取消

发行版 (4)

全部

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/openeuler/virtCCA_sdk.git
git@gitee.com:openeuler/virtCCA_sdk.git
openeuler
virtCCA_sdk
virtCCA_sdk
master

搜索帮助