更新时间: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证明来运行一些自定义的可信密钥分发、可信密钥协商等应用级安全协议。