1

我有两个应用程序 A1 和 A2,都创建了自己的飞地 E1 和 E2。第三个应用程序 A3 连接到 A1 和 A2。A3 是否可以确定两个飞地 E1 和 E2 是否实际上在同一系统上运行?

4

2 回答 2

2

我不同意Surenthar 的回答。如果 E1 和 E2 由相同的签名身份签名,则 E1 和 E2 的 MRSIGNER 将始终相同。因为 MRSIGNER 是该身份的哈希。

如果 A3 也在同一平台上执行,它可以简单地生成一个 enclave E3 并使用本地证明,这只会在同一平台上的 enclave 上成功。

如果您可以控制 E1 和 E2,那么他们可以使用本地证明来确保两者都在同一平台上运行。然后 A3 必须使用远程证明来确保它可以信任 E1(或 E2)的声明。

于 2017-02-07T08:40:00.830 回答
0

由权威机构提供的签名身份,在分发之前对 enclave 进行签名。该值称为 MRSIGNER,对于所有使用相同权限签名的飞地都是相同的。因此,在同一个开发公司中,所有飞地都应该具有相同的 MRSIGNER 值,如果它们使用相同的签名身份进行签名。

来自开发环境中两个不同飞地的 MRSIGNER 值可用于检查两个飞地是否属于同一环境。

于 2017-01-24T09:01:23.840 回答