我想知道 MRENCLAVE 值如何在英特尔 SGX 远程证明中起作用。我找到
“MRENCLAVE 唯一标识任何特定飞地,因此使用飞地身份将限制对密封数据的访问仅限于该飞地的实例。注意:飞地的不同构建/版本将导致不同的 MRENCLAVE 值。” (https://software.intel.com/en-us/blogs/2016/05/04/introduction-to-intel-sgx-sealing)
据我了解,MRENCLAVE 用于客户端检查是否从服务提供商处收到 MRENCLAVE 和客户端生成的预期 MRENCLAVE 是否相同。如果不是,那么我们如何检查服务提供者是否在远程证明中执行了预期的代码和数据?
我的意思是,Alice 有 enclave 代码及其 MRENCLACE(代码和数据的快照),然后请求 Bob 执行它。那么 Alice 如何检查 Bob 是否使用 Bob 发送的报价执行了准确的预期代码?我以为 MRENCLAVE 做到了