On Fri, 2014-03-14 at 22:08 +0000, One Thousand Gnomes wrote: > On Fri, 14 Mar 2014 21:56:33 +0000 > Matthew Garrett wrote: > > Signed userspace is not a requirement, and therefore any solution that > > relies on a signed initrd is inadequate. There are use cases that > > require verification of the initrd and other levels. This isn't one of > > them. > > The job of the kernel is to solve the general problem. There are lots of > people who happen to care about verification beyond the kernel so it > shouldn't be ignored. And they can do do things like load trusted SELinux > rulesets even if you can't support it in your environment. The general problem includes having to support this even without an selinux policy. > > > Even in EFI you can make your kernel or loader check the initrd signature > > > and the rootfs signature if you want. > > > > Except the initramfs gets built at kernel install time. > > Implementation detail for your use case. And one that's not going to change, so the general problem includes not relying on a signed initramfs. > > > Correct me if I am wrong but your starting point is "I have a chain of > > > measurement as far as the kernel I load". Without that I can just go into > > > grub and 0wn you. > > > > In my use case. But not all implementations will be measuring things - > > they can assert that the kernel is trustworthy through some other > > mechanism. This genuinely is about trust, not measurement. > > The assertion you attempt to achieve is I believe > > "No ring 0 code is executed directly or indirectly that is not measured" No. As I keep pointing out, not all code is measured. The firmware is not required to measure itself. A particular implementation may skip measuring the kernel because it can attest to its trustworthyness in some other way. ChromeOS will load unmeasured kernel modules provided it can attest to the trustworthyness of the filesystem containing them. -- Matthew Garrett {.n++%ݶw{.n+{G{ayʇڙ,jfhz_(階ݢj"mG?&~iOzv^m ?I