SGXfail icon indicating copy to clipboard operation
SGXfail copied to clipboard

关于remoate attestation的疑问

Open ender233 opened this issue 5 years ago • 0 comments

远程认证之后, challenger可以判定enclave是否可信, 下一步就建立可信通道传输隐私数据. https://github.com/dingelish/SGXfail/blob/master/06.md 这里提到的:

在远程认证过程中,发送的report中可以包含用来创建可信通道的公钥数据。为了实现这个目的,在步骤三中enclave可能想首先去认证服务器,来保证它是从一个可信的实体受到的秘密。例如,一个好的根证书可以嵌入到enclave的代码或初始化数据中,允许enclave去验证服务器。一旦远程服务器被验证,enclave会生成一个短暂的公私钥并将它的公钥塞入report的用户数据部分。 当enclave完成远程认证的步骤七,服务器可以生成一个加密的公钥E,并将它用enclave的公钥P进行加密,将结果P(E)通过通道发送给应用。通道本身不需要安全保护,因为发送的秘密是加密的。 一旦P(E)被enclave的应用接收,它可以传递到enclave中。在enclave中,它将解密P(E),因为它持有私钥,所以目前无论远程服务器还是enclave都持有加密密钥E。

实际上这个步骤就是使用非对称算法加密对称秘钥,协商完成之后两边各持有同样的秘钥,用于加解密隐私数据. 那么,sgx这里提到的安全通道和ssl链接的关系是什么? 为什么不通过公钥基础设施在远程验证成功之后建立ssl连接, 也可以达到同样的目的,而且不需要主动传递公钥证书啥的,直接使用ssl client和ssl server握手即可.

ender233 avatar Dec 08 '19 14:12 ender233