鲲鹏社区首页
中文
注册
开发者
我要评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

部署远程证明SDK

远程证明SDK是一套用于验证远程设备可信状态的软件工具,部署后可实现对虚拟机等环境的安全认证。本章节主要介绍远程证明相关组件部署。

部署远程证明SDK

参考以下步骤完成远程证明SDK部署,软件包版本、获取方式参见表2

  1. 安装远程证明库。
    yum install virtCCA_sdk virtCCA_sdk-devel
  2. 安装编译依赖。
    yum install tar cmake make git gcc gcc-c++ openssl-devel glib2-devel rsync patch
  3. 编译、安装QCBOR组件。
    git clone https://github.com/laurencelundblade/QCBOR.git -b v1.2
    cd QCBOR
    make
    make install
    cd ..

    git clone失败,可先执行以下命令取消git clone过程中SSL校验后重试。

    git config --global http.sslVerify false
  4. 编译、安装t_cose组件。
    git clone https://github.com/laurencelundblade/t_cose.git -b v1.1.2
    cd t_cose
    cmake -S . -B build -DCRYPTO_PROVIDER=OpenSSL
    cmake --build build
    cmake --install build
    cd ..

获取虚拟机基线度量值

  1. 生成DTB设备树二进制文件。
    1. 编辑cVM的xml配置,增加如下透传QEMU参数。
      <qemu:arg value='-machine'/>
      <qemu:arg value='dumpdtb=/path/to/dump.dtb'/>

      其中dumpdtb为指定的DTB生成路径。

    2. 启动cVM虚拟机,将在指定路径下生成dtb文件。
      virsh define <cvm.xml>
      virsh start <cvm>

    3. 编辑cVM虚拟机xml配置,删除增加的QEMU透传参数。
  2. 基于gen_rim_ref获取cVM基线度量值。gen_rim_ref由virtCCA_sdk软件包提供。
    gen_rim_ref -f <firmware_path> -d <dtb_path> -v <vcpu_num> -s <sve_vector_length> -m <pmu_counter_num>
    表1 参数说明

    参数

    描述

    dtb_path

    cVM的设备树二进制文件。

    vcpu_num

    cVM虚拟机配置虚拟CPU个数。

    firmware_path

    cVM配置的UEFI固件路径。

    sve_vector_length

    cVM配置SVE向量长度,不传递默认为0。

    pmu_counter_num

    为cVM配置PMU数量,不传递默认为0。

    默认使用的hash算法为SHA256,若需要使用SHA512,可修改gen_rim_ref源码中的hash_algo为1。gen_rim_ref源码位于“virtCCA_sdk/attestation/rim_ref/”下。