Re: [PATCH v29 00/20] Intel SGX foundations
From: Jarkko Sakkinen
Date: Thu May 14 2020 - 20:24:09 EST
On Thu, 2020-05-14 at 12:05 -0700, Seth Moore wrote:
> On Fri, May 8, 2020 at 12:08 PM Sean Christopherson
> <sean.j.christopherson@xxxxxxxxx> wrote:
> > Adding some Google folks to the party.
>
> Thanks, Sean.
>
> > On Wed, Apr 22, 2020 at 12:52:56AM +0300, 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.
> > >
> > > There is a new hardware unit in the processor called Memory Encryption
> > > Engine (MEE) starting from the Skylake microacrhitecture. BIOS can define
> > > one or many MEE regions that can hold enclave data by configuring them with
> > > PRMRR registers.
> > >
> > > The MEE automatically encrypts the data leaving the processor package to
> > > the MEE regions. The data is encrypted using a random key whose life-time
> > > is exactly one power cycle.
> > >
> > > The current implementation requires that the firmware sets
> > > IA32_SGXLEPUBKEYHASH* MSRs as writable so that ultimately the kernel can
> > > decide what enclaves it wants run. The implementation does not create
> > > any bottlenecks to support read-only MSRs later on.
> > >
> > > You can tell if your CPU supports SGX by looking into /proc/cpuinfo:
> > >
> > > cat /proc/cpuinfo | grep sgx
>
> We applied the v29 patches to Linux 5.6.0, then tested on Xeon(R) E-2186G
> with Asylo (http://asylo.dev).
>
> Looks good. All Asylo tests pass.
>
> Tested-by: Seth Moore <sethmo@xxxxxxxxxx>
Thanks.
/Jarkko