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

远程证明功能

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

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

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

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

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

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

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

度量启动阶段:

  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套件 特性指南》中“远程证明”相关内容。