开发者
资源
文档评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

使用远程证明Demo

本章节主要介绍远程证明参考示例的使用。

远程证明Demo

提供远程证明Demo,该Demo提供了简单的远程证明流程参考代码,仅用于验证TEE远程证明功能,用户可基于Demo参考实现远程证明。请参考以下步骤完成远程证明示例编译、安装和运行。

  1. 编译、安装QCBOR组件。
    git clone https://github.com/laurencelundblade/QCBOR.git -b v1.2
    cd QCBOR
    make
    make install
    cd ..
  2. 编译、安装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 ..
  3. 编译远程证明报告获取和验证的参考代码。
    cd CCA/sdk/attestation/samples
    cmake -S . -B build
    cmake --build build
    cd -

    编译成功后,可在“CCA/sdk/attestation/samples/build”目录下查看生成的client、server可执行文件。

    • server端(二进制)包含了调用远程证明库获取远程证明报告的代码,仅供参考。
    • client端(二进制)包含了远程证明报告解析和验证的代码,仅供参考。
  4. 请参见配置机密虚拟机完成机密虚拟机的启动,并将server部署到虚拟机任意目录下。
  5. 在虚拟机内启动server。
    ./server -i <ip> -p <port> 

    其中:

    • 可选:ip:服务端配置的IP地址。默认为本地回环。
    • 可选:port:服务端配置的端口。默认为7220。

  6. client发起远程证明请求。
    ./client -i <ip> -p <port> -m <measurement> -f </path/image_reference_measurement.json>
    • 可选:ip:要连接的服务端IP地址。默认为本地回环。
    • 可选:port:要连接的服务端端口。默认为7220。
    • measurement:cVM初始度量基线值。
    • image_reference_measurement.json:文件包含了qcow2镜像中各个组件的Hash值,用于验证qcow2镜像中各个组件的完整性,此处的JSON文件为2生成的image_reference_measurement.json。

      client侧远程证明报告验签成功。

远程证明Demo基于“/sys/kernel/config/tsm/report/report0”目录获取远程证明报告,运行Demo前请参考获取远程证明报告完成驱动加载和目录创建。