All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dmitry Kasatkin <dmitry.kasatkin@gmail.com>
To: Vivek Goyal <vgoyal@redhat.com>
Cc: Dmitry Kasatkin <d.kasatkin@samsung.com>,
	Mimi Zohar <zohar@linux.vnet.ibm.com>,
	David Howells <dhowells@redhat.com>,
	Josh Boyer <jwboyer@redhat.com>,
	keyrings <keyrings@linux-nfs.org>,
	linux-security-module <linux-security-module@vger.kernel.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Matthew Garrett <mjg59@srcf.ucam.org>
Subject: Re: [PATCH 3/4] KEYS: validate key trust only with selected owner key
Date: Thu, 12 Jun 2014 22:15:11 +0300	[thread overview]
Message-ID: <CACE9dm9CgJWQVWSi4Zgty5s6hdzOwwjX_nEeG9v5JK=wrLN-ng@mail.gmail.com> (raw)
In-Reply-To: <20140612190509.GM9578@redhat.com>

On 12 June 2014 22:05, Vivek Goyal <vgoyal@redhat.com> wrote:
> On Thu, Jun 12, 2014 at 03:01:54PM -0400, Vivek Goyal wrote:
>> On Thu, Jun 12, 2014 at 09:36:46PM +0300, Dmitry Kasatkin wrote:
>> > On 12 June 2014 20:32, Vivek Goyal <vgoyal@redhat.com> wrote:
>> > > On Thu, Jun 12, 2014 at 08:23:57PM +0300, Dmitry Kasatkin wrote:
>> > >> On 12/06/14 19:03, Vivek Goyal wrote:
>> > >> > On Tue, Jun 10, 2014 at 11:48:17AM +0300, Dmitry Kasatkin wrote:
>> > >> >> This patch provides kernel parameter to specify owner's key id which
>> > >> >> must be used for trust validate of keys. Keys signed with other keys
>> > >> >> are not trusted.
>> > >> >>
>> > >> >> Signed-off-by: Dmitry Kasatkin <d.kasatkin@samsung.com>
>> > >> > Hi,
>> > >> >
>> > >> > I am continuing to work on verifying kernel signature for kexec/kdump. I
>> > >> > am planning to take david howell's patches for pkcs7 signature
>> > >> > verification and verify bzImage signature.
>> > >> >
>> > >> > Part of that process will boil down to verifying a certificate in
>> > >> > pkcs7 x509 cert chain using a key in system_trusted_keyring.
>> > >> >
>> > >> > I think the OS vendor key which signs the kernel signing key propagates to
>> > >> > system_trusted_keyring. (shim has that and I am not sure how shim makes
>> > >> > it propogate all they way to system_trusted_keyring).
>> > >> >
>> > >> > So I was planning to use same functionality where I look for any key
>> > >> > which can verify the signing cert of kernel. As OS vendor key will be
>> > >> > in system_trusted_keyring, it should work.
>> > >> >
>> > >> > Now with this change where you will trust only one selected owner key.
>> > >> > That means you will not even trust the OS vendor key which signs kernel
>> > >> > signing key. I think this will stop working with  keys_ownerid=<....>
>> > >> >
>> > >> > As I am doing that work in parallel and I saw these patches, I thought
>> > >> > I will bring it up.
>> > >>
>> > >> Hi Vivek,
>> > >>
>> > >> All keys stays in the keyring. Usage of owner_keyid is limited to
>> > >> validate the trust of the loaded keys.
>> > >
>> > > Hi Dmitry,
>> > >
>> > > If owner_keyid scope is just limited to loading extra keys, then it
>> > > should be fine as I don't want to load extra keys. I just want to
>> > > verify already signed image whose key is supposed to be in
>> > > system_trusted_keyring.
>> > >
>> > >>
>> > >>
>> > >> Do you really see OS verndor key (Fedora) on the system keyring?
>> > >> shim is UEFI binary and can add it to the MOK database..
>> > >
>> > > I have been told that mechanism to propagate they key in shim which is
>> > > used to verify kernel signature is in place and that key should show
>> > > up in system_trusted_keyring. I have never verified it though. I will
>> > > check it out.
>> > >
>> > > Thanks
>> > > Vivek
>> >
>> >
>> > Hi Vivek,
>> >
>> > The easiest way to get OS Vendor ker/certificate is just embed it into
>> > the kernel along with
>> > ephemeral (or not) module signing key... They all appears on .system keyring...
>>
>> I think it will be tricky as in current setup, signing happens on a different
>> server and build server does not have access to keys.
>
> Apart from this, all the builds might not signed. And at build time it is
> might not known if a particular build will be signed with final keys or not.
> One might decide to sign kernel based on testing results post build. So
> embedding the kernel signing key in the kernel during build is little
> tricky from process point of view.
>
> Thanks
> Vivek


Please note, kernel signing key is not embedded to the kernel..
It is certificate/public key.

bootloader has embedded OS vendor certificate.
It is "well known" and public.

Distro might have multiple kernels installed and all of them must boot.
Kernel updates will come signed with the same key...
So all kernels probably signed with the same distro private key or
multiple public keys need to be embedded into the bootloader.

So kernel signing key is not ephemeral but managed and stored
somewhere secretly.

There is no problem to distribute public key...

-- 
Thanks,
Dmitry

  reply	other threads:[~2014-06-12 19:15 UTC|newest]

Thread overview: 70+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-03 17:58 [RFC PATCH v5 0/4] ima: extending secure boot certificate chain of trust Mimi Zohar
2014-06-03 17:58 ` [RFC PATCH v5 1/4] KEYS: special dot prefixed keyring name bug fix Mimi Zohar
2014-06-06 21:48   ` Dmitry Kasatkin
2014-06-06 22:00     ` Mimi Zohar
2014-06-09  7:56       ` Dmitry Kasatkin
2014-06-09  8:17         ` Dmitry Kasatkin
2014-06-03 17:58 ` [RFC PATCH v5 2/4] KEYS: verify a certificate is signed by a 'trusted' key Mimi Zohar
2014-06-06 21:50   ` Dmitry Kasatkin
2014-06-09 13:13     ` Dmitry Kasatkin
2014-06-09 13:48       ` Mimi Zohar
2014-06-09 14:57         ` Dmitry Kasatkin
2014-06-03 17:58 ` [RFC PATCH v5 3/4] ima: define '.ima' as a builtin 'trusted' keyring Mimi Zohar
2014-06-06 21:53   ` Dmitry Kasatkin
2014-06-06 23:27     ` Mimi Zohar
2014-06-09  8:45       ` Dmitry Kasatkin
2014-06-03 17:58 ` [RFC PATCH v5 4/4] KEYS: define an owner trusted keyring Mimi Zohar
2014-06-09 12:13   ` Dmitry Kasatkin
2014-06-09 12:51     ` Mimi Zohar
2014-06-09 13:05       ` Dmitry Kasatkin
2014-06-09 13:48         ` Mimi Zohar
2014-06-09 13:58           ` Dmitry Kasatkin
2014-06-09 14:06             ` Dmitry Kasatkin
2014-06-09 16:33               ` Mimi Zohar
2014-06-10  8:48                 ` [PATCH 0/4] KEYS: validate key trust with owner and builtin keys only Dmitry Kasatkin
2014-06-10  8:48                   ` [PATCH 1/4] KEYS: define an owner trusted keyring Dmitry Kasatkin
2014-06-10 12:24                     ` Josh Boyer
2014-06-10 12:41                       ` Dmitry Kasatkin
2014-06-10 13:07                       ` Mimi Zohar
2014-06-10  8:48                   ` [PATCH 2/4] KEYS: fix couple of things Dmitry Kasatkin
2014-06-10  8:48                   ` [PATCH 3/4] KEYS: validate key trust only with selected owner key Dmitry Kasatkin
2014-06-12 16:03                     ` Vivek Goyal
2014-06-12 16:55                       ` Mimi Zohar
2014-06-12 17:00                         ` Vivek Goyal
2014-06-12 17:17                           ` Mimi Zohar
2014-06-12 17:23                             ` Vivek Goyal
2014-06-12 17:23                       ` Dmitry Kasatkin
2014-06-12 17:32                         ` Vivek Goyal
2014-06-12 17:37                           ` Mimi Zohar
2014-06-12 18:36                           ` Dmitry Kasatkin
2014-06-12 19:01                             ` Vivek Goyal
2014-06-12 19:04                               ` Dmitry Kasatkin
2014-06-12 19:05                               ` Vivek Goyal
2014-06-12 19:15                                 ` Dmitry Kasatkin [this message]
2014-06-10  8:48                   ` [PATCH 4/4] KEYS: validate key trust only with builtin keys Dmitry Kasatkin
2014-06-10 12:20                   ` [PATCH 0/4] KEYS: validate key trust with owner and builtin keys only Josh Boyer
2014-06-10 12:52                     ` Mimi Zohar
2014-06-10 13:21                       ` Dmitry Kasatkin
2014-06-10 13:29                         ` Josh Boyer
2014-06-10 14:53                           ` Mimi Zohar
2014-06-10 12:58                     ` Dmitry Kasatkin
2014-06-10 15:08                       ` Matthew Garrett
2014-06-10 20:39                     ` Dmitry Kasatkin
     [not found]                     ` <CACE9dm9Ff6b3J=05QfcgBv-c_y=5qGNq1-ZSfo4smtj34i1e-A@mail.gmail.com>
2014-06-10 20:40                       ` Matthew Garrett
2014-06-10 21:00                         ` Dmitry Kasatkin
2014-06-10 21:17                           ` Dmitry Kasatkin
2014-06-10 21:25                             ` Matthew Garrett
2014-06-10 21:34                               ` Dmitry Kasatkin
2014-06-10 21:40                                 ` Matthew Garrett
2014-06-10 21:45                                   ` Dmitry Kasatkin
2014-06-11  1:24                                   ` Mimi Zohar
2014-06-11  2:22                                     ` Matthew Garrett
2014-06-11  3:08                                       ` Mimi Zohar
2014-06-11  3:23                                         ` Matthew Garrett
2014-06-11 12:30                                           ` Mimi Zohar
2014-06-11 15:20                                             ` Matthew Garrett
2014-06-27 14:16                                         ` David Howells
2014-06-10 21:40                                 ` Dmitry Kasatkin
2014-06-10 12:45                   ` Mimi Zohar
2014-06-10 12:49                     ` Dmitry Kasatkin
2014-06-11 20:49                       ` Mimi Zohar

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='CACE9dm9CgJWQVWSi4Zgty5s6hdzOwwjX_nEeG9v5JK=wrLN-ng@mail.gmail.com' \
    --to=dmitry.kasatkin@gmail.com \
    --cc=d.kasatkin@samsung.com \
    --cc=dhowells@redhat.com \
    --cc=jwboyer@redhat.com \
    --cc=keyrings@linux-nfs.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=mjg59@srcf.ucam.org \
    --cc=vgoyal@redhat.com \
    --cc=zohar@linux.vnet.ibm.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.