From: Mimi Zohar <zohar@linux.vnet.ibm.com>
To: Josh Boyer <jwboyer@gmail.com>
Cc: Dmitry Kasatkin <dmitry.kasatkin@intel.com>,
jmorris@namei.org, rusty@rustcorp.com.au, dhowells@redhat.com,
linux-security-module@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [RFC v2 7/7] modsig: build rules and scripts to generate keys and sign modules
Date: Thu, 16 Aug 2012 16:12:43 -0400 [thread overview]
Message-ID: <1345147963.3402.37.camel@falcor.watson.ibm.com> (raw)
In-Reply-To: <CA+5PVA4qONeO+VqWQX+f87cs6KAdVPCOEEkpRzfo0M+LR6JHSA@mail.gmail.com>
On Thu, 2012-08-16 at 15:10 -0400, Josh Boyer wrote:
> On Wed, Aug 15, 2012 at 2:43 PM, Dmitry Kasatkin
> <dmitry.kasatkin@intel.com> wrote:
> > This patch adds build rules and scripts to generate keys and sign modules.
> >
> > Two scripts has been added. genkey.sh is used to generate private and
> > public keys. ksign.sh is used to sign kernel modules. Both scripts
> > use only standard utilites from coreutils and additionally requires
> > openssl tool for RSA keys creation and signing.
> >
> > The patch modifies 'modules_install' target and adds two new targets to
> > the main kernel Makefile.
> >
> > 1. signed_modules_install
> > This target creates an ephemeral key pair, signs the kernel modules with
> > the private key, destroys the private key, and embeds the public key in
> > the kernel. (Thanks to Dave Hansen for the target name.)
>
> This requires CONFIG_INTEGRITY_MODULES to be enabled to actually do
> anything useful with the signed modules, correct?
>
> >
> > 2. modules_install
> > When CONFIG_INTEGRITY_MODULES is enabled, this target uses an existing
> > private key to sign kernel modules.
>
> If the answer to the above question is yes, then why can't we stick
> with a single modules_install command for signing? It would seem to me
> that calling signed_modules_install could use an existing key or
> generate an ephemeral key in the absence of one and install the signed
> modules, and modules_install would simply install unsigned modules.
>
> Or, alternatively, just make modules_install sign or not sign depending
> on whether CONFIG_INTEGRITY_MODULES is enabled. I don't see why you
> would overload a target or create two different ones when both depend
> on that option.
>
> Could you explain the reasoning behind that a bit more?
If the key exists during the build, there is no need for the additional
'make bzImage'. I'll update the patch description based on the
following explaination taken from the cover letter:
For the developer, these patches create an ephemeral key during module
install, in order to limit the duration of the private key's existence.
Unfortunately, this necessitates embedding the public key in the kernel,
after the kernel has already been built. A new make target called
'signed_modules_install', creates the keypair, signs the modules,
removes the private key, and then, for now, recompiles the kernel using
'make bzImage'. For the developer, instead of doing 'make
modules_install', the new build process would be 'make', followed by
'make signed_modules_install' and 'make install'.
thanks,
Mimi
prev parent reply other threads:[~2012-08-16 20:14 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-08-15 18:43 [RFC v2 0/7] modsig: signature based kernel module integrity verfication Dmitry Kasatkin
2012-08-15 18:43 ` [RFC v2 1/7] integrity: added digest calculation function Dmitry Kasatkin
2012-08-15 20:11 ` Serge Hallyn
2012-08-15 21:11 ` Kasatkin, Dmitry
2012-08-16 20:32 ` Kasatkin, Dmitry
2012-08-16 21:39 ` Serge Hallyn
2012-08-20 2:59 ` Rusty Russell
2012-08-22 16:38 ` Kasatkin, Dmitry
2012-08-15 18:43 ` [RFC v2 2/7] keys: initialize root uid and session keyrings early Dmitry Kasatkin
2012-08-16 18:26 ` Josh Boyer
2012-08-16 19:08 ` Mimi Zohar
2012-08-16 19:13 ` Josh Boyer
2012-08-16 19:45 ` Mimi Zohar
2012-08-16 19:59 ` Josh Boyer
2012-08-16 20:01 ` Mimi Zohar
2012-08-17 21:27 ` Eric W. Biederman
2012-08-15 18:43 ` [RFC v2 3/7] integrity: create and inititialize a keyring with builtin public key Dmitry Kasatkin
2012-08-16 18:37 ` Josh Boyer
2012-08-16 19:28 ` Mimi Zohar
2012-08-17 6:06 ` Kasatkin, Dmitry
2012-08-16 21:11 ` Kasatkin, Dmitry
2012-08-15 18:43 ` [RFC v2 4/7] modsig: add integrity_module_check hook Dmitry Kasatkin
2012-08-15 20:16 ` Serge Hallyn
2012-08-15 21:13 ` Kasatkin, Dmitry
2012-08-17 5:45 ` Kasatkin, Dmitry
2012-08-16 18:49 ` Josh Boyer
2012-08-16 19:56 ` Kasatkin, Dmitry
2012-09-03 23:06 ` Rusty Russell
2012-08-15 18:43 ` [RFC v2 5/7] modsig: verify module integrity based on signature Dmitry Kasatkin
2012-08-15 18:43 ` [RFC v2 6/7] modsig: initialize the _module public key keyring Dmitry Kasatkin
2012-08-16 18:54 ` Josh Boyer
2012-08-16 19:57 ` Mimi Zohar
2012-08-15 18:43 ` [RFC v2 7/7] modsig: build rules and scripts to generate keys and sign modules Dmitry Kasatkin
2012-08-16 19:10 ` Josh Boyer
2012-08-16 20:12 ` Kasatkin, Dmitry
2012-08-16 20:31 ` Josh Boyer
2012-08-16 21:04 ` Kasatkin, Dmitry
2012-08-17 0:53 ` Mimi Zohar
2012-08-17 11:40 ` Josh Boyer
2012-08-17 17:08 ` Mimi Zohar
2012-08-17 17:44 ` Josh Boyer
2012-08-17 17:52 ` Josh Boyer
2012-08-20 1:05 ` Mimi Zohar
2012-08-20 12:32 ` Josh Boyer
2012-08-20 13:13 ` Mimi Zohar
2012-08-20 14:23 ` Josh Boyer
2012-08-16 20:12 ` Mimi Zohar [this message]
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=1345147963.3402.37.camel@falcor.watson.ibm.com \
--to=zohar@linux.vnet.ibm.com \
--cc=dhowells@redhat.com \
--cc=dmitry.kasatkin@intel.com \
--cc=jmorris@namei.org \
--cc=jwboyer@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-security-module@vger.kernel.org \
--cc=rusty@rustcorp.com.au \
/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).