想象一个云提供商向客户租用两台虚拟机。假设客户想要检查两个 VM 是否在不同的物理计算机上运行,尽管云提供商可能试图欺骗客户。
两台机器都提供 SGX 并启用了 TPM。
我的第一个想法是使用远程认证并比较使用的密钥,因为每台物理机器都会在工厂安装一个唯一的背书密钥。但是,新交所文档明确指出,远程证明使用组密钥来保护隐私,因此客户无法判断这两个远程证明是否由不同的硬件签名。
假设我已经在每台机器上建立了一个安全飞地。
是否可以从 enclave 中读取 EK 公钥(或其哈希),将其放入报价的数据部分,然后发送远程证明?然后远程证明将证明目标机器按照给定的方式运行代码,并且由于代码读取并返回 EK,我们也将拥有 EK。
这个相关问题表明,仅使用 TPM 是行不通的(实际上是行不通的),但让我想知道我们是否可以使用 SGX 来完成这项工作。
所以我的问题是:
1)以上真的有用吗?
2)如果是,你能帮我找到令人信服的文件来证实这是可能的吗?
3)如果没有,我还能做些什么吗?