According to 
<https://www.kernel.org/doc/html/v5.11/x86/sgx.html#encryption-engines>:

> In CPUs prior to Ice Lake, the Memory Encryption Engine (MEE) is used to 
> encrypt pages leaving the CPU caches. MEE uses a n-ary Merkle tree with root 
> in SRAM to maintain integrity of the encrypted data. This provides integrity 
> and anti-replay protection but does not scale to large memory sizes because 
> the time required to update the Merkle tree grows logarithmically in relation 
> to the memory size.
>
> CPUs starting from Icelake use Total Memory Encryption (TME) in the place of 
> MEE. TME-based SGX implementations do not have an integrity Merkle tree, 
> which means integrity and replay-attacks are not mitigated. B, it includes 
> additional changes to prevent cipher text from being returned and SW memory 
> aliases from being Created.

Is this accurate?

If I understand it correctly, this would compromise the security properties of 
SGX dramatically, and make it unsuitable for many current applications, 
wouldn't it?

-- 
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-sgx-sdk/issues/333#issuecomment-899608319

Reply via email to