Intel's implementation is considerably worse than that. Even if you assume the hardware itself isn't compromised, every remote attestation has to go through the "Intel Attestation Service" which has no end-to-end protection. The IAS is what actually validates the enclave's signature, and it returns a "success" or "failure" message which is signed with an Intel key. But there's absolutely no technical measure that prevents Intel from being compelled to sign a falsified response; a client would have no way of telling the difference.
This is documented by Intel [1] and I'm hardly the first to notice it [2] but people still seem to talk about SGX as if compromising it is equivalent to backdooring the CPU, which is inaccurate.
[1]: https://software.intel.com/en-us/articles/intel-software-gua...
[2]: https://www.blackhat.com/docs/us-17/thursday/us-17-Swami-SGX...
It's also worth noting that SGX can run in two modes. There's "debug mode", which provides absolutely no security because a debugger has complete access to the state of the enclave. And then there's "release mode", which requires a key that you can only obtain by signing a commercial agreement and NDA with Intel.
That's shady af.
I've met some of the people working on this at Intel and I do have confidence that this isn't some conspiracy, I do think they have the intention of improving the crypto space with projects like this.
https://developer.amd.com/amd-secure-memory-encryption-sme-a...
Adapt or die
Moxie has good ideas, but SGX is a trap and he fell into it.
What does HN say? Do we trust Intel (motivation and implementation) that much?