Re: [PATCH 3/4] KEYS: validate key trust only with selected owner key

Vivek Goyal
2014-06-12T17:32:48Z

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