On Wed, 2016-01-06 at 21:13 -0500, Mimi Zohar wrote: > On Thu, 2016-01-07 at 00:34 +0000, David Howells wrote: > > David Howells <dhowe...@redhat.com> wrote: > > > > > Partially revert commit 41c89b64d7184a780f12f2cccdabe65cb2408893: > > > > > > Author: Petko Manolov <pet...@mip-labs.com> > > > Date: Wed Dec 2 17:47:55 2015 +0200 > > > IMA: create machine owner and blacklist keyrings > > > > > > The problem is that prep->trusted is a simple boolean and the additional > > > x509_validate_trust() call doesn't therefore distinguish levels of > > > trustedness, but is just OR'd with the result of validation against the > > > system trusted keyring. > > > > > > However, setting the trusted flag means that this key may be added to > > > *any* > > > trusted-only keyring - including the system trusted keyring. > > Hm, I'm not able to add a key to the system keyring that is signed by a > key on either the system or the IMA MOK keyrings. The system keyring > seems to be "locked". A key that is signed by either a key on the > system or the IMA MOK keyring can be added to the IMA keyring. > > keyctl show %keyring:.system_keyring > Keyring > 973688077 ---lswrv 0 0 keyring: .system_keyring > > evmctl import m1-cert-signed.der 973688077 > add_key failed > errno: Permission denied (13)
The "KEY_USR_WRITE" permission is required in order to add keys to a keyring. This permission is specified for the IMA keyring, but not for the system keyring, which explains why I could add a key to the IMA keyring, but not the system keyring. system_trusted_keyring = keyring_alloc(".system_keyring", KUIDT_INIT(0), KGIDT_INIT(0), current_cred(), ((KEY_POS_ALL & ~KEY_POS_SETATTR) | KEY_USR_VIEW | KEY_USR_READ | KEY_USR_SEARCH), KEY_ALLOC_NOT_IN_QUOTA, NULL); keyring[id] = keyring_alloc(keyring_name[id], KUIDT_INIT(0), KGIDT_INIT(0), cred, ((KEY_POS_ALL & ~KEY_POS_SETATTR) | KEY_USR_VIEW | KEY_USR_READ | KEY_USR_WRITE | KEY_USR_SEARCH), KEY_ALLOC_NOT_IN_QUOTA, NULL); The only keys added to the system keyring should be those listed in the Kconfig SYSTEM_TRUSTED_KEYS specified file. Mimi -- To unsubscribe from this list: send the line "unsubscribe linux-security-module" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html