信息安全从业人员^_^
一个未入门de情报学胖子(邮箱:tenghm1986@163.com)
Toggle navigation
信息安全从业人员^_^
主页
About Me
归档
标签
SGX Remote Attestation远程证明(通俗理解)
2021-02-05 14:57:44
3235
1
0
heming
# 0.参考 [1] [Intro to SGX: from HTTP to enclaves](https://medium.com/corda/intro-to-sgx-from-http-to-enclaves-1bf38a3bf595) # 1.HTTPS(SSL) - 1.用户浏览器预置根证书 - 2.通信过程中,server端会发来证书,浏览器里预置的根证书里面有信任机构的公钥,用此公钥对证书进行延签,证明此证书是有效的(身份证有效) - 3.server证书有效后,从证书里获取server端的公钥,为了确定server端是真实的server,让server用自己的私钥签名,再用此server证书中的公钥验签,证明是真实的server(身份证上的你是你) - DH密钥协商传递消息 <center> ![HTTPS](https://leanote.com/api/file/getImage?fileId=65de8a54ab64413e0b5b9564) </center> 经过TLS传递到服务器的数据,被服务器解密后,任何在server上的应用程序都可以使用此数据,用户是无法控制的。 <center> ![HSM](https://leanote.com/api/file/getImage?fileId=65de8a82ab64413e0b5b9567) </center> 一种解决方式是使用HSM(Hardware Security Module)来处理传输的数据,但客户无法相信服务端确实使用了HSM。 SGX可以解决以上问题。 # 2. SGX 首先我们必须要确定处理敏感数据的程序(在SGX语境下称作enclave)是在server端运行,怎么确认呢? SGX将包含处理敏感数据的程序enclave进行hash,SGX称此操作为measurement或者MRENCLAVE 其次,我们要确定这个程序服务端确实在执行此程序而不是其他程序,怎么确认呢? SGX CPU预先被烧进去了一个key,这个key是独一无二的,可以用这个私钥签署一个report来证明确实运行了这个enclave. 这个报告包含enclave的measurement,enclave相关数据及 指令(microcode)版本信息 最后,怎么确认这个被预先烧进去的私钥是来源于真实的Intel CPU呢? Intel证明服务(IAS,Intel Attestation Service),IAS负责check这个报告的有效性,一旦认可后,Intel会用自己的根私钥对此报告签名进行确认。 <center> ![SGX](https://leanote.com/api/file/getImage?fileId=65de8afeab64413e0b5b9570) </center> # 3. 远程证明等级 <center> ![RA](https://leanote.com/api/file/getImage?fileId=65de8c37ab64413e0b5b9593) </center>
上一篇:
ORAM学习
下一篇:
SGX(Software Guard eXtensions) install and develop config guide
1
赞
3235 人读过
新浪微博
微信
腾讯微博
QQ空间
人人网
Please enable JavaScript to view the
comments powered by Disqus.
comments powered by
Disqus
文档导航