linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
To: platform-driver-x86@vger.kernel.org, x86@kernel.org
Cc: linux-kernel@vger.kernel.org, Darren Hart <dvhart@infradead.org>,
	Andy Shevchenko <andy@infradead.org>
Subject: Re: [PATCH v6 08/11] intel_sgx: in-kernel launch enclave
Date: Mon, 4 Dec 2017 11:23:03 +0200	[thread overview]
Message-ID: <20171204092303.op7xo6nsptyvvtfv@linux.intel.com> (raw)
In-Reply-To: <20171128223852.5hcyg7kwf4su5qy5@linux.intel.com>

On Wed, Nov 29, 2017 at 12:38:52AM +0200, Jarkko Sakkinen wrote:
> On Sat, Nov 25, 2017 at 09:29:25PM +0200, Jarkko Sakkinen wrote:
> > This commits implements the in-kernel launch enclave. It is wrapped into
> > a user space program that reads SIGSTRUCT instances from stdin and
> > outputs launch tokens to stdout.
> > 
> > The commit also adds enclave signing tool that is used by kbuild to
> > measure and sign the launch enclave.
> > 
> > CONFIG_INTEL_SGX_SIGNING_KEY points to a PEM-file for the 3072-bit RSA
> > key that is used as the LE public key pair. The default location is:
> > 
> >   drivers/platform/x86/intel_sgx/intel_sgx_signing_key.pem
> > 
> > If the default key does not exist kbuild will generate a random key and
> > place it to this location. KBUILD_SGX_SIGN_PIN can be used to specify
> > the passphrase for the LE public key.
> > 
> > TinyCrypt (https://github.com/01org/tinycrypt) is used as AES
> > implementation, which is not timing resistant. Eventually this needs to
> > be replaced with AES-NI based implementation that could be either
> > 
> > - re-use existing AES-NI code in the kernel
> > - have its own hand written code
> 
> The AES is the biggest remaining open I think.
> 
> I'm starting look at how to re-use kernel aesni code by linking it as
> part of the enclave binary i.e. aesni-intel_asm.S. This will render
> away TinyCrypt's AES code that is used ATM.
> 
> I still need TinyCrypt CMAC, which I will modify to call CBC AES
> encryption routine.
> 
> Does this sound like a sufficient plan?

I'm successfully using now kernel provided aesni_enc and aesni_set_key.
Only CMAC comes from TC. I think refactor stuff in cmac_mode.c to kernel
coding style and call it as derived works from TC since already calls
have replaced (AES). Makes sense to clean it up and make it pass
checkpatch.pl.

/Jarkko

  reply	other threads:[~2017-12-04  9:23 UTC|newest]

Thread overview: 72+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-25 19:29 [PATCH v6 00/11] Intel SGX Driver Jarkko Sakkinen
2017-11-25 19:29 ` [PATCH v6 01/11] intel_sgx: updated MAINTAINERS Jarkko Sakkinen
2017-11-25 20:19   ` Joe Perches
2017-11-26 10:41     ` Bjørn Mork
2017-11-26 15:33       ` Jarkko Sakkinen
2017-11-25 19:29 ` [PATCH v6 02/11] x86: add SGX definition to cpufeature Jarkko Sakkinen
2017-11-25 19:29 ` [PATCH v6 03/11] x86: define IA32_FEATURE_CONTROL.SGX_ENABLE Jarkko Sakkinen
2017-11-28 17:13   ` Sean Christopherson
2017-11-28 20:47     ` Jarkko Sakkinen
2017-11-25 19:29 ` [PATCH v6 04/11] x86: define IA32_FEATUE_CONTROL.SGX_LC Jarkko Sakkinen
2017-11-28 17:16   ` Sean Christopherson
2017-11-28 18:28     ` Sean Christopherson
2017-11-28 20:53       ` Jarkko Sakkinen
2017-11-28 21:24         ` Jarkko Sakkinen
2017-11-28 21:33           ` Sean Christopherson
2017-11-28 21:55             ` Jarkko Sakkinen
2017-11-28 22:00               ` Sean Christopherson
2017-11-28 22:21                 ` Jarkko Sakkinen
2017-11-29 15:38                   ` Jarkko Sakkinen
2017-11-30  3:05                     ` Kai Huang
2017-11-30 16:44                       ` Jarkko Sakkinen
2017-11-28 21:40           ` Jarkko Sakkinen
2017-11-28 21:44             ` Sean Christopherson
2017-11-28 22:03               ` Jarkko Sakkinen
2017-11-28 22:11                 ` Jarkko Sakkinen
2017-11-28 20:51     ` Jarkko Sakkinen
2017-11-25 19:29 ` [PATCH v6 05/11] x86: add SGX MSRs to msr-index.h Jarkko Sakkinen
2017-11-28 17:22   ` Sean Christopherson
2017-11-28 20:48     ` Jarkko Sakkinen
2017-11-25 19:29 ` [PATCH v6 06/11] intel_sgx: driver for Intel Software Guard Extensions Jarkko Sakkinen
2017-11-26 17:33   ` Jarkko Sakkinen
2017-11-26 18:46     ` Jarkko Sakkinen
2017-11-26 19:01       ` Jarkko Sakkinen
2017-11-29 18:02         ` Jarkko Sakkinen
2017-11-28 19:07   ` Sean Christopherson
2017-11-30 17:32   ` Sean Christopherson
2017-12-04  8:59     ` Jarkko Sakkinen
2017-11-25 19:29 ` [PATCH v6 07/11] intel_sgx: ptrace() support Jarkko Sakkinen
2017-11-26 15:44   ` Jarkko Sakkinen
2017-11-26 15:50     ` Joe Perches
2017-11-26 16:53       ` Jarkko Sakkinen
2017-11-26 17:01   ` Jarkko Sakkinen
2017-11-25 19:29 ` [PATCH v6 08/11] intel_sgx: in-kernel launch enclave Jarkko Sakkinen
2017-11-27  9:58   ` Till Smejkal
2017-11-28 20:17     ` Jarkko Sakkinen
2017-11-28 22:38   ` Jarkko Sakkinen
2017-12-04  9:23     ` Jarkko Sakkinen [this message]
2017-11-25 19:29 ` [PATCH v6 09/11] fs/pipe.c: export create_pipe_files() and replace_fd() Jarkko Sakkinen
2017-11-28 14:35   ` Christoph Hellwig
2017-11-28 20:42     ` Jarkko Sakkinen
2017-11-28 21:05       ` Christoph Hellwig
2017-11-28 21:57         ` Jarkko Sakkinen
2017-11-29 23:13           ` Christoph Hellwig
2017-11-30 16:43             ` Jarkko Sakkinen
2017-11-30 18:38               ` James Bottomley
2017-12-04  9:00                 ` Jarkko Sakkinen
2017-12-07 17:37                   ` Jarkko Sakkinen
2017-12-08 13:05                     ` Jarkko Sakkinen
2017-11-25 19:29 ` [PATCH v6 10/11] intel_sgx: glue code for in-kernel LE Jarkko Sakkinen
2017-12-13 23:34   ` Christopherson, Sean J
2017-11-25 19:29 ` [PATCH v6 11/11] intel_sgx: driver documentation Jarkko Sakkinen
2017-12-12 14:07 ` [PATCH v6 00/11] Intel SGX Driver Pavel Machek
2017-12-14 11:18   ` Jarkko Sakkinen
2017-12-19 23:33   ` Jarkko Sakkinen
2017-12-20 13:18     ` Jarkko Sakkinen
2018-01-04 14:17 ` Cedric Blancher
2018-01-04 14:27   ` Greg Kroah-Hartman
2018-01-04 19:18     ` Ozgur
2018-01-04 15:08   ` James Bottomley
2018-01-09 14:27   ` Jarkko Sakkinen
2018-02-08  8:46     ` Pavel Machek
2018-02-08 13:48       ` 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=20171204092303.op7xo6nsptyvvtfv@linux.intel.com \
    --to=jarkko.sakkinen@linux.intel.com \
    --cc=andy@infradead.org \
    --cc=dvhart@infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=x86@kernel.org \
    /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).