[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20220215204730.GQ3113@kunlun.suse.cz>
Date: Tue, 15 Feb 2022 21:47:30 +0100
From: Michal Suchánek <msuchanek@...e.de>
To: Mimi Zohar <zohar@...ux.ibm.com>
Cc: Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>,
Heiko Carstens <hca@...ux.ibm.com>,
Vasily Gorbik <gor@...ux.ibm.com>,
Alexander Gordeev <agordeev@...ux.ibm.com>,
Christian Borntraeger <borntraeger@...ux.ibm.com>,
Sven Schnelle <svens@...ux.ibm.com>,
Philipp Rudo <prudo@...hat.com>, Baoquan He <bhe@...hat.com>,
Alexander Egorenkov <egorenar@...ux.ibm.com>,
AKASHI Takahiro <takahiro.akashi@...aro.org>,
James Morse <james.morse@....com>,
Dave Young <dyoung@...hat.com>,
Kairui Song <kasong@...hat.com>,
Martin Schwidefsky <schwidefsky@...ibm.com>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-s390@...r.kernel.org, linux-modules@...r.kernel.org,
keyrings@...r.kernel.org, linux-security-module@...r.kernel.org,
stable@...nel.org, Eric Snowberg <eric.snowberg@...cle.com>
Subject: Re: [PATCH 4/4] module, KEYS: Make use of platform keyring for
signature verification
Hello,
On Tue, Feb 15, 2022 at 03:08:18PM -0500, Mimi Zohar wrote:
> [Cc'ing Eric Snowberg]
>
> Hi Michal,
>
> On Tue, 2022-02-15 at 20:39 +0100, Michal Suchanek wrote:
> > Commit 278311e417be ("kexec, KEYS: Make use of platform keyring for signature verify")
> > adds support for use of platform keyring in kexec verification but
> > support for modules is missing.
> >
> > Add support for verification of modules with keys from platform keyring
> > as well.
>
> Permission for loading the pre-OS keys onto the "platform" keyring and
> using them is limited to verifying the kexec kernel image, nothing
> else.
Why is the platform keyring limited to kexec, and nothing else?
It should either be used for everything or for nothing. You have the
option to compile it in and then it should be used, and the option to
not compile it in and then it cannot be used.
There are two basic use cases:
(1) there is a vendor key which is very hard to use so you sign
something small and simple like shim with the vendor key, and sign your
kernel and modules with your own key that's typically enrolled with shim
MOK, and built into the kernel.
(2) you import your key into the firmware, and possibly disable the
vendor key. You can load the kernel directly without shim, and then your
signing key is typically in the platform keyring and built into the
kernel.
In neither case do I see any reason to use some keyrings for kexec and
other keyrings for modules.
Thanks
Michal
Powered by blists - more mailing lists