| ▲ | riobard 8 hours ago | ||||||||||||||||||||||||||||
Are you sure? I thought it's just AES without any authentication. | |||||||||||||||||||||||||||||
| ▲ | bonzini 8 hours ago | parent | next [-] | ||||||||||||||||||||||||||||
Yes, it's AES with a tweak based on the physical address. It adds some protection from RowHammer and the like because flipping a bit in encrypted memory is catastrophic, while it can be done in a controlled manner if it's not encrypted. | |||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
| ▲ | crest 7 hours ago | parent | prev [-] | ||||||||||||||||||||||||||||
Which encrypts each cache line with a key unknown to the attacker. This means an attacker can't target individual bits. Every change affects at least one AES encrypted block. It's much stronger than any normal defence against row hammer in that regard because flipping a single bit in plaintext changes ~half the bits in the ciphertext. It's similar to how Apple uses always on disk encryption instead of the normal means to limit run length in their NAND flash controllers. If the encryption is "off" it just means the decryption key is stored somewhere in the trusted enclave. | |||||||||||||||||||||||||||||