> > TME itself provides a ton of protection -- you can't just barge into > the datacenter, refrigerate the DIMMs, walk away with them, and read > off everyone's data. > > Am I missing something? I think we can make such assumption in most cases, but I think it's better that we don't make any assumption at all. For example, the admin of data center (or anyone) who has physical access to servers may do something malicious. I am not expert but there should be other physical attack methods besides coldboot attack, if the malicious employee can get physical access to server w/o being detected. > > > > > But, I think what you're implying is that the security properties of > > user-supplied keys can only be *worse* than using CPU-generated keys > > (assuming the CPU does a good job generating it). So, why bother > > allowing user-specified keys in the first place? > > That too :) I think one usage of user-specified key is for NVDIMM, since CPU key will be gone after machine reboot, therefore if NVDIMM is encrypted by CPU key we are not able to retrieve it once shutdown/reboot, etc. There are some other use cases that already require tenant to send key to CSP. For example, the VM image can be provided by tenant and encrypted by tenant's own key, and tenant needs to send key to CSP when asking CSP to run that encrypted image. But tenant will need to trust CSP in such case, which brings us why tenant wants to use his own image at first place (I have to say I myself is not convinced the value of such use case). I think there are two levels of trustiness involved here: 1) tenant needs to trust CSP anyway; 2) but CSP needs to convince tenant that CSP can be trusted, ie, by proving it can prevent potential attack from malicious employee (ie, by raising bar by using MKTME), etc. Thanks, -Kai