linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
To: Darren Kenny <darren.kenny@oracle.com>
Cc: linux-kernel@vger.kernel.org, x86@kernel.org,
	linux-sgx@vger.kernel.org, linux-security-module@vger.kernel.org,
	Jethro Beekman <jethro@fortanix.com>,
	Andy Lutomirski <luto@kernel.org>,
	akpm@linux-foundation.org, andriy.shevchenko@linux.intel.com,
	asapek@google.com, bp@alien8.de, cedric.xing@intel.com,
	chenalexchen@google.com, conradparker@google.com,
	cyhanish@google.com, dave.hansen@intel.com,
	haitao.huang@intel.com, josh@joshtriplett.org,
	kai.huang@intel.com, kai.svahn@intel.com, kmoy@google.com,
	ludloff@google.com, nhorman@redhat.com, npmccallum@redhat.com,
	puiterwijk@redhat.com, rientjes@google.com,
	sean.j.christopherson@intel.com, tglx@linutronix.de,
	yaozhangx@google.com
Subject: Re: [PATCH v32 12/21] x86/sgx: Add provisioning
Date: Tue, 16 Jun 2020 22:55:01 +0300	[thread overview]
Message-ID: <20200616195450.GA10412@linux.intel.com> (raw)
In-Reply-To: <m2img5tgtu.fsf@oracle.com>

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

  reply	other threads:[~2020-06-16 19:55 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-01  7:51 [PATCH v32 00/21] Intel SGX foundations Jarkko Sakkinen
2020-06-01  7:51 ` [PATCH v32 01/21] x86/cpufeatures: x86/msr: Add Intel SGX hardware bits Jarkko Sakkinen
2020-06-01  7:51 ` [PATCH v32 02/21] x86/cpufeatures: x86/msr: Add Intel SGX Launch Control " Jarkko Sakkinen
2020-06-01  7:52 ` [PATCH v32 03/21] x86/mm: x86/sgx: Signal SIGSEGV with PF_SGX Jarkko Sakkinen
2020-06-01  7:52 ` [PATCH v32 04/21] x86/sgx: Add SGX microarchitectural data structures Jarkko Sakkinen
2020-06-01  7:52 ` [PATCH v32 05/21] x86/sgx: Add wrappers for ENCLS leaf functions Jarkko Sakkinen
2020-06-01  7:52 ` [PATCH v32 06/21] x86/cpu/intel: Detect SGX support Jarkko Sakkinen
2020-06-01  7:52 ` [PATCH v32 07/21] x86/cpu/intel: Add nosgx kernel parameter Jarkko Sakkinen
2020-06-01  7:52 ` [PATCH v32 08/21] x86/sgx: Initialize metadata for Enclave Page Cache (EPC) sections Jarkko Sakkinen
2020-06-01 15:15   ` Randy Dunlap
2020-06-15 20:07     ` Jarkko Sakkinen
2020-06-01  7:52 ` [PATCH v32 09/21] x86/sgx: Add __sgx_alloc_epc_page() and sgx_free_epc_page() Jarkko Sakkinen
2020-06-01  7:52 ` [PATCH v32 10/21] mm: Introduce vm_ops->may_mprotect() Jarkko Sakkinen
2020-06-01  7:52 ` [PATCH v32 11/21] x86/sgx: Linux Enclave Driver Jarkko Sakkinen
2020-06-01  7:52 ` [PATCH v32 12/21] x86/sgx: Add provisioning Jarkko Sakkinen
2020-06-05 20:09   ` Darren Kenny
2020-06-16 19:55     ` Jarkko Sakkinen [this message]
2020-06-16 20:03       ` Jarkko Sakkinen
2020-06-01  7:52 ` [PATCH v32 13/21] x86/sgx: Add a page reclaimer Jarkko Sakkinen
2020-06-01  7:52 ` [PATCH v32 14/21] x86/sgx: ptrace() support for the SGX driver Jarkko Sakkinen
2020-06-01  7:52 ` [PATCH v32 15/21] x86/vdso: Add support for exception fixup in vDSO functions Jarkko Sakkinen
2020-06-01  7:52 ` [PATCH v32 16/21] x86/fault: Add helper function to sanitize error code Jarkko Sakkinen
2020-06-01  7:52 ` [PATCH v32 17/21] x86/traps: Attempt to fixup exceptions in vDSO before signaling Jarkko Sakkinen
2020-06-01  7:52 ` [PATCH v32 18/21] x86/vdso: Implement a vDSO for Intel SGX enclave call Jarkko Sakkinen
2020-06-01  7:52 ` [PATCH v32 19/21] selftests/x86: Add a selftest for SGX Jarkko Sakkinen
2020-06-03 22:06   ` Sean Christopherson
2020-06-15 20:17     ` Jarkko Sakkinen
2020-06-01  7:52 ` [PATCH v32 20/21] docs: x86/sgx: Document SGX micro architecture and kernel internals Jarkko Sakkinen
2020-06-01  7:52 ` [PATCH v32 21/21] x86/sgx: Update MAINTAINERS Jarkko Sakkinen
2020-06-10 20:59 ` [PATCH v32 00/21] Intel SGX foundations Sean Christopherson
2020-06-16 20:09   ` Jarkko Sakkinen
2020-06-17  0:06     ` Sean Christopherson
2020-06-17 21:53       ` Jarkko Sakkinen
2020-06-15 12:13 ` Jethro Beekman
2020-06-16 20:11   ` Jarkko Sakkinen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200616195450.GA10412@linux.intel.com \
    --to=jarkko.sakkinen@linux.intel.com \
    --cc=akpm@linux-foundation.org \
    --cc=andriy.shevchenko@linux.intel.com \
    --cc=asapek@google.com \
    --cc=bp@alien8.de \
    --cc=cedric.xing@intel.com \
    --cc=chenalexchen@google.com \
    --cc=conradparker@google.com \
    --cc=cyhanish@google.com \
    --cc=darren.kenny@oracle.com \
    --cc=dave.hansen@intel.com \
    --cc=haitao.huang@intel.com \
    --cc=jethro@fortanix.com \
    --cc=josh@joshtriplett.org \
    --cc=kai.huang@intel.com \
    --cc=kai.svahn@intel.com \
    --cc=kmoy@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=linux-sgx@vger.kernel.org \
    --cc=ludloff@google.com \
    --cc=luto@kernel.org \
    --cc=nhorman@redhat.com \
    --cc=npmccallum@redhat.com \
    --cc=puiterwijk@redhat.com \
    --cc=rientjes@google.com \
    --cc=sean.j.christopherson@intel.com \
    --cc=tglx@linutronix.de \
    --cc=x86@kernel.org \
    --cc=yaozhangx@google.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).