Re: [RFC 1/1] ima: digital signature verification using asymmetric keys

From: Kasatkin, Dmitry
Date: Tue Jan 29 2013 - 03:48:11 EST


On Mon, Jan 28, 2013 at 8:52 PM, Vivek Goyal <vgoyal@xxxxxxxxxx> wrote:
> On Mon, Jan 28, 2013 at 05:20:20PM +0200, Kasatkin, Dmitry wrote:
>
> [..]
>> > Ok. I am hoping that it will be more than the kernel command line we
>> > support. In the sense that for digital signatures one needs to parse
>> > the signature, look at what hash algorithm has been used and then
>> > collect the hash accordingly. It is little different then IMA requirement
>> > of calculating one pre-determine hash for all files.
>>
>> Yes... It is obvious. It's coming.
>> But in general, signer should be aware of requirements and limitation
>> of the platform.
>> It is not really a problem...
>
> Ok, I have another question. I was looking at your slide deck here.
>
> http://selinuxproject.org/~jmorris/lss2011_slides/IMA_EVM_Digital_Signature_Support.pdf
>
> Slide 12 mentions that keys are loaded into the kernel from initramfs. If
> "root" can load any key, what are we protecting against.
>
> IOW, what good ima_appraise_tcb policy, which tries to appraise any root
> owned file. A root can sign all the files using its own key and load its
> public key in IMA keyring and then integrity check should pass on all
> root files.
>
> So what's the idea behind digital signature appraisal? By allowing root to
> unconditionally load the keys in IMA keyring, it seems to circumvent the
> appraisal mechanism.
>

I will answer directly to this email first.
'keyctl setperm' command is used to lock keyring from being able to
add new keys...
Even root is not able to revert locked keyring to original
write-permissive mode.

root@ubuntu:~# cat /proc/keys |grep ima
16a4c685 I--Q--- 1 perm 3f010000 0 0 keyring _ima: 2/4
root@ubuntu:~# keyctl setperm 379897477 0x0b010000
root@ubuntu:~# keyctl add user testkey "testing1" 379897477
add_key: Permission denied
root@ubuntu:~# keyctl setperm 379897477 0x3f010000
keyctl_setperm: Permission denied
root@ubuntu:~# cat /proc/keys |grep ima
16a4c685 I--Q--- 1 perm 0b010000 0 0 keyring _ima: 3/4


- Dmitry

> Thanks
> Vivek
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/