[PATCH v32 12/21] x86/sgx: Add provisioning

Jarkko Sakkinen jarkko.sakkinen at linux.intel.com
Tue Jun 16 19:55:01 UTC 2020


On Fri, Jun 05, 2020 at 09:09:49PM +0100, Darren Kenny wrote:
> TYPO: s/devilering/delivering/?

I decided to rewrite the whole thing:

  x86/sgx: Allow a limited use of ATTRIBUTE.PROVISIONKEY for attestation

  Provisioning Certification Enclave (PCE), the root of trust for other
  enclaves, generates a signing key from a fused key called Provisioning
  Certification Key. PCE can then use this key to certify an attestation key
  of a QE, e.g. we get the chain of trust down to the hardware if the Intel
  signed PCE is used.

  To use the needed keys, ATTRIBUTE.PROVISIONKEY is required but should be
  only allowed for those who actually need it so that only the trusted
  parties can certify QE's.

  Obviously the attestation service should know the public key of the used
  PCE and that way detect illegit attestation, but whitelisting the legit
  users still adds an additional layer of defence.

  Add new device file called /dev/sgx/provision. The sole purpose of this
  file is to provide file descriptors that act as privilege tokens to allow
  to build enclaves with ATTRIBUTE.PROVISIONKEY set. A new ioctl called
  SGX_IOC_ENCLAVE_SET_ATTRIBUTE is used to assign this token to an enclave.

> > + * sgx_ioc_enclave_set_attribute - handler for %SGX_IOC_ENCLAVE_SET_ATTRIBUTE
> > + * @filep:	open file to /dev/sgx
> > + * @arg:	userspace pointer to a struct sgx_enclave_set_attribute instance
> > + *
> > + * Mark the enclave as being allowed to access a restricted attribute bit.
> > + * The requested attribute is specified via the attribute_fd field in the
> > + * provided struct sgx_enclave_set_attribute.  The attribute_fd must be a
> > + * handle to an SGX attribute file, e.g. ?/dev/sgx/provision".
> 
> Maybe this should be simply a double-quote rather than the Unicode left
> quote?

Not sure how that got there but it is a mistake.

> Thanks,
> 
> Darren.

Thanks for the remarks.

/Jarkko



More information about the Linux-security-module-archive mailing list