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
next prev parent 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).