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

使用远程证明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. 编译远程证明报告获取和验证的参考代码。
    git clone https://gitcode.com/openeuler/CCA.git
    cd CCA
    git checkout 4d6e4cd59e4220db9782d4a999a199371442b70a
    cd sdk/attestation/samples
    cmake -S . -B build
    cmake --build build
    cd -

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

    • server端(二进制)包含了调用远程证明库获取远程证明报告的代码,仅供参考。
    • client端(二进制)包含了远程证明报告解析和验证的代码,仅供参考。

    server和client使用TCP进行数据传递,出于安全考虑,建议优先使用rats-tls。

  4. 请参见配置并启动机密虚拟机完成机密虚拟机的启动,并将server部署到虚拟机任意目录下。
  5. 在虚拟机内启动server。
    ./server -i <ip> -p <port> 

    其中:

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

  6. client发起远程证明请求。
    ./client -i <ip> -p <port> -m <measurement>
    • 可选:ip:要连接的服务端IP地址。默认为本地回环。
    • 可选:port:要连接的服务端端口。默认为7220。
    • measurement:cVM初始度量基线值。

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

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