首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >英特尔SGX如何在启动前验证enclave库?

英特尔SGX如何在启动前验证enclave库?
EN

Stack Overflow用户
提问于 2018-04-04 00:19:03
回答 1查看 299关注 0票数 0

我研究发现enclave是用私钥签名的,在enclave启动时,它将使用enclave库附带的公钥进行验证。

我的问题是,当enclave二进制文件带有公钥时,如何信任它。

在此期间,有人可以更改代码,并用他的私钥再次签名,然后将他的公钥附加到SIGSTRUCT。

EN

回答 1

Stack Overflow用户

发布于 2019-01-18 17:51:56

你是正确的。Enclave代码很容易被操控,攻击者可以创建新的签名。执行平台将不会识别这种篡改,因为签名对于(被篡改的)代码是正确的。该平台可能有一些允许的公钥列表,但在SGX的威胁模型中,该平台无论如何都是对抗性的。

使用远程认证解决了这个问题。可信硬件和软件为创建的enclave生成报价,其中包含其测量值(MRENCLAVE)及其签名者的散列(MRSIGNER)。有了这些值,远程验证者可以确保正确地创建了enclave并且没有被篡改。

因此,在(成功)远程证明之前,不应信任enclave (带有秘密)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49634767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档