On Tue, Apr 26, 2016 at 12:00 PM, Pavel Machek <pavel@xxxxxx> wrote: > On Mon 2016-04-25 20:34:07, Jarkko Sakkinen wrote: >> Intel(R) SGX is a set of CPU instructions that can be used by >> applications to set aside private regions of code and data. The code >> outside the enclave is disallowed to access the memory inside the >> enclave by the CPU access control. >> >> The firmware uses PRMRR registers to reserve an area of physical memory >> called Enclave Page Cache (EPC). There is a hardware unit in the >> processor called Memory Encryption Engine. The MEE encrypts and decrypts >> the EPC pages as they enter and leave the processor package. > > What are non-evil use cases for this? Storing your ssh private key encrypted such that even someone who completely compromises your system can't get the actual private key out. Using this in conjunction with an RPMB device to make it Rather Difficult (tm) for third parties to decrypt your disk even if you password has low entropy. There are plenty more. Think of this as the first time that a secure enclave will be widely available that anyone can program themselves. Well, almost: Skylake doesn't actually permit that for, ahem, reasons. But if you read the very most recent SDM update, it would appear that future Intel CPUs will allow this as long as the firmware doesn't get in the way. Look for IA32_SGXLEHASHSIG (possibly misspelled slightly -- the first few letters are correct). --Andy _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel