我最近也在看SGX,这是我的理解。如有不对欢迎指出来。
A <---------> B 假设A是Client,B是encalve里面的代码,首先你信任client,因为这是在你本地上的,换言之这是你自己。B是Teaclave,但是你怎么需要保证Teaclave是你相信的那个版本(比如没有篡改。。。。。。),以及它跑在一个可信的环境里面(真的在encalve里面)呢?这就需要Remote Attestation (RA),你可以查阅Intel SGX的相关文档。 但是问题还有,比如你说的key的问题。理论上应该只有A和B知道key,A是你自己的client,你不能通过网络明文传输key是什么。这就需要A和B之间的通信是加密的。这里是通过TLS来保证。在remote attestation的过程中,attestaiton的report有可以包含程序自定义的64 byte数据,RA的过程中放入用于TLS handshake的数据,从而建立一个A和B之间的Attested TLS。 -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/apache/incubator-teaclave/issues/372#issuecomment-651182586
