更新时间:2024-10-16 GMT+08:00

证明文档

证明文档用于证明QingTian Enclave实例的可信度量结果。证明文档由QingTianHypervisor生成,文档内容包括PCR列表、QingTianPKI证书链、密码算法声明以及Enclave应用自定义数据。证明文档由华为云QingTian Attestation PKI (Public Key Infrastructure)签署。

QingTianHypervisor生成的证明文档以简明二进制对象表示(CBOR)进行编码,并用CBOR Object Signing and Encryption (COSE)进行签名。关于CBOR,详情可见 RFC 8949: Concise Binary Object Representation (CBOR)

关于QingTian Enclave证明文档结构,我们遵循CDDL规范(RFC 8610)描述如下:

AttestationDocument = {
    module_id: text,                ; 安全模块编号
    timestamp: uint .size 8,        ; 时间戳
    digest: digest,                 ; 摘要算法
    pcrs: { + index => pcr },       ; PCR列表
    certificate: cert,              ; Enclave证明文档的签名证书
    cabundle: [* cert],             ; QingTianPKI证书链
    ? user_data: user_data,         ; 可选,应用相关的数据
    ? nonce: user_data,             ; 可选,不重复使用的数值
    ? pubkey: user_data,        ; 可选,应用程序相关的公钥
}
 
cert = bytes .size (1..4096)         ; DER编码证书
user_data = bytes .size (0..4096)
pcr = bytes .size (48)       ; PCR内容
index = 0..31
digest = "SHA384"

证明文档中的可选参数(pubkey,user_data和nonce)可以支持QingTian Enclave与外部实体之间运行自定义(或自协商)的应用级安全协议。比如,QingTian Enclave应用可以创建一个非对称密钥对(PriKey, PubKey),并通过QingTian Enclave证明文档来提供对PubKey的可信证明,那么外部实体就可以基于该PubKey证明来运行一些自定义的可信密钥分发、可信密钥协商等应用级安全协议。