---
title: 远程证明功能
description: "鲲鹏机密计算TEE套件远程证明目标主要是向用户证明机密虚拟机（cVM）和机密计算平台的可信程度。包括："
url: https://www.hikunpeng.com/document/detail/zh/kunpengcctrustzone/tee/cVMcont/kunpengtee_19_0014.html
sourcePath: /source/zh/kunpengcctrustzone/tee/cVMcont/kunpengtee_19_0014.html
indexId: b10b905e7ecb4bd719c9cc5668820bc9de7a60df68204862a30de441e3a35cf565
---
# 远程证明功能

鲲鹏机密计算TEE套件远程证明目标主要是向用户证明机密虚拟机（cVM）和机密计算平台的可信程度。包括：

- cVM是否运行在真实的机密计算环境。
- cVM配置参数与cVM中运行的代码是否被篡改过。

TEE套件远程证明本质是基于“可信启动”以及“远程验证协议”两个重点特性：

- 可信启动按照“先度量后执行”的原则启动机密计算平台和cVM，生成无法伪造的度量报告以供验证系统初始状态的安全性。
- 验证协议是基于度量报告验证cVM与机密计算平台的身份和系统初始状态的过程。

远程证明框架基于机密计算平台度量报告和机密虚拟机度量报告验证cVM与机密计算平台的身份和系统初始状态。需基于两个场景实现cVM连接过程：

- 在cVM启动时与远程证明客户端建立连接，用户可根据远程证明状态，决定是否继续启动cVM。
- 在cVM运行时与远程证明客户端建立连接，用户可根据远程证明状态，决定安全信道是否继续建立。

以下以cVM启动时远程证明验证方式，介绍远程证明的整体流程，其主要流程如下所示：

图1 远程证明流程

度量启动阶段：

1. User向Host Linux发送cVM创建请求，并发送机密虚拟机配置信息，内核镜像，临时文件系统，及设备树信息。
2. cVM Management Service通过QEMU-KVM发送创建命令。
3. TMM创建机密虚拟机，并对创建过程进行度量。
4. 待机密虚拟机完成启动后会运行临时文件系统中的RATS-TLS Server，等待通信。
5. 在RATS-TLS Server初始化阶段TEE套件Attester通过TSI接口向TMM请求度量报告。
6. Host Linux向User Local Machine返回TEE套件机密虚拟机的IP地址。

建立TLS通信阶段：

1. User使用RATS-TLS Client向RATS-TLS Server发送Hello信息开始密钥交换过程。
2. RATS-TLS Server返回包含cVM Token，Platform Token的证书。
3. Verifier将Platform Token中IAK Public Key Hash发送给Remote Attestation (RA) Server，RA Server返回IAK证书链（包含IAK Public Key）以及Platform度量基准值。
4. User根据发送给Host Linux的文件与配置信息使用cVM Reference Generator生成virtCCA机密虚拟机度量基准值（即RIM基准值Realm Initial Measurement）。
5. Verifier对cVM Token和Platform Token验签；比对cVM Token中的RIM是否与基准值一致；比对Platform Token中的度量值是否与基准值一致。

验证若通过则完成安全信道建立，同时用户可返回主文件系统密钥，解密主文件系统并完成cVM启动。

具体使用方法可以参考机密计算TEE套件 特性指南(https://www.hikunpeng.com/document/detail/zh/kunpengcctrustzone/tee/cVMcont/kunpengtee_16_0002.html)中“远程证明”相关内容。
