On Mon, 2019-10-28 at 08:12 -0700, Lakshmi Ramasubramanian wrote:
On 10/27/19 7:33 AM, Mimi Zohar wrote:
quoted
.builtin_trusted_keys is a trusted keyring, which is created by the
kernel. It cannot be deleted or replaced by userspace, so it should
be possible to correlate a keyring name with a keyring number on
policy load.
Yes - at policy load we can map a keyring name to a keyring number.
But at runtime we still need to know if the keyring parameter passed to
the IMA hook function is configured to be measured.
void ima_post_key_create_or_update(struct key *keyring, struct key *key,
unsigned long flags, bool create);
{
=> Get the keyring number for the given "keyring".
There is no "getting" involved here. Pass "keyring" to
process_buffer_measurement and on to ima_get_action().
=> Check if the keyring number is in the configured IMA policy.
ima_get_action() should do a simple compare of the valued stored in
the IMA policy with the value returned by key_serial().
Mimi
=> If yes, measure the key.
=> Else, do nothing.
}
Did I misunderstand what you had stated?