Re: [PATCH v4 01/10] IMA: Defined an IMA hook to measure keys on key create or update

From: Mimi Zohar
Date: Wed Nov 06 2019 - 22:40:50 EST


On Wed, 2019-11-06 at 16:21 -0800, Lakshmi Ramasubramanian wrote:
> On 11/6/2019 2:43 PM, Mimi Zohar wrote:
>
> >> +void ima_post_key_create_or_update(struct key *keyring, struct key *key,
> >> + unsigned long flags, bool create)
> >> +{
> >> + if ((keyring != NULL) && (key != NULL))
> >> + return;
> >
> > I would move the patch that defines the "keyring=" policy option prior
> > to this one. ÂInclude the call to process_buffer_measurement() in this
> > patch. ÂA subsequent patch would add support to defer measuring the
> > key, by calling a function named something like
> > ima_queue_key_measurement().
> >
> > Mimi
>
> As I'd stated in the other response, I wanted to isolate all key related
> code in a separate C file and build it if and only if all CONFIG
> dependencies are met.

The basic measuring of keys shouldn't be any different than any other
policy rule, other than it is a key and not a file. ÂThis is the
reason that I keep saying start out with the basics and then add
support to defer measuring keys on the trusted keyrings.

Only the queueing code needed for measuring keys on the trusted
keyrings would be in a separate file.

Mimi