[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <eecf9ec4-2415-1e41-014e-e145d6ab44b4@linux.vnet.ibm.com>
Date: Wed, 9 Nov 2022 09:58:26 -0500
From: Elaine Palmer <erpalmer@...ux.vnet.ibm.com>
To: Eric Snowberg <eric.snowberg@...cle.com>,
jarkko Sakkinen <jarkko@...nel.org>,
Mimi Zohar <zohar@...ux.ibm.com>,
Elaine Palmer <erpalmerny@...il.com>
Cc: Coiby Xu <coxu@...hat.com>,
"davem@...emloft.net" <davem@...emloft.net>,
David Howells <dhowells@...hat.com>,
"dmitry.kasatkin@...il.com" <dmitry.kasatkin@...il.com>,
"dwmw2@...radead.org" <dwmw2@...radead.org>,
"herbert@...dor.apana.org.au" <herbert@...dor.apana.org.au>,
"jmorris@...ei.org" <jmorris@...ei.org>,
Konrad Wilk <konrad.wilk@...cle.com>,
Kanth Ghatraju <kanth.ghatraju@...cle.com>,
"keyrings@...r.kernel.org" <keyrings@...r.kernel.org>,
"linux-crypto@...r.kernel.org" <linux-crypto@...r.kernel.org>,
"linux-integrity@...r.kernel.org" <linux-integrity@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-security-module@...r.kernel.org"
<linux-security-module@...r.kernel.org>,
Lakshmi Ramasubramanian <nramas@...ux.microsoft.com>,
"pvorel@...e.cz" <pvorel@...e.cz>,
Roberto Sassu <roberto.sassu@...wei.com>,
"serge@...lyn.com" <serge@...lyn.com>,
"tiwai@...e.de" <tiwai@...e.de>,
"erpalmer@...ux.ibm.com" <erpalmer@...ux.ibm.com>
Subject: Re: [PATCH 0/7] Add CA enforcement keyring restrictions
On 2022/11/09 9:25 AM, Eric Snowberg wrote:
>
>> On Nov 8, 2022, at 6:24 PM, Elaine Palmer <erpalmerny@...il.com> wrote:
>>
>>
>>
>> On 2022/11/04 9:20 AM, Coiby Xu wrote:
>>> Hi Eric,
>>>
>>> I wonder if there is any update on this work? I would be glad to do
>>> anything that may be helpful including testing a new version of code.
>>>
>> Hi Coiby,
>>
>> Yes, this discussion got stuck when we couldn't agree on one of the
>> following options:
>>
>> (A) Filter which keys from MOK (or a management system) are loaded
>> onto the .machine keyring. Specifically, load only keys with
>> CA+keyCertSign attributes.
>>
>> (B) Load all keys from MOK (or a management system) onto the
>> .machine keyring. Then, subsequently filter those to restrict
>> which ones can be loaded onto the .ima keyring specifically.
>>
>> The objection to (A) was that distros would have to go through
>> two steps instead of one to load keys. The one-step method of
>> loading keys was supported by an out-of-tree patch and then by
>> the addition of the .machine keyring.
>>
>> The objection to (B) was that, because the .machine keyring is now
>> linked to the .secondary keyring, it expands the scope of what the
>> kernel has trusted in the past. The effect is that keys in MOK
>> have the same broad scope as keys previously restricted to
>> .builtin and .secondary. It doesn't affect just IMA, but the rest
>> of the kernel as well.
>>
>> I would suggest that we can get unstuck by considering:
>>
>> (C) Defining a systemd (or dracut module) to load keys onto the
>> .secondary keyring
>>
>> (D) Using a configuration option to specify what types of
>> .machine keys should be allowed to pass through to the
>> .secondary keyring.
>>
>> The distro could choose (A) by allowing only
>> CA+keyCertSign keys.
>>
>> The distro could choose (B) by allowing any kind
>> of key.
>>
>> We all seemed to agree that enforcing key usage should be
>> implemented and that a useful future effort is to add policies
>> to keys and keyrings, like, "This key can only be used for
>> verifying kernel modules."
>>
>> I hope we can come to an agreement so work can proceed and IMA
>> can be re-enabled.
> I would be open to making the changes necessary to support both (A and B)
> options. What type of configuration option would be considered? Would this
> be a compile time Kconfig, a Linux boot command line parameter, or another
> MOK variable?
>
Thank you, Eric. A compile time Kconfig would be the most secure, yet
would still support (B) when allowed.
Powered by blists - more mailing lists