Thread (47 messages) 47 messages, 3 authors, 2016-07-05

Re: [PATCH v3 0/9] kexec_file_load implementation for PowerPC

From: Thiago Jung Bauermann <hidden>
Date: 2016-06-22 17:03:00
Also in: kexec, lkml

Hello Balbir,

Am Mittwoch, 22 Juni 2016, 23:29:46 schrieb Balbir Singh:
On Tue, 21 Jun 2016 16:48:32 -0300
Thiago Jung Bauermann [off-list ref] wrote:
quoted
This patch series implements the kexec_file_load system call on
PowerPC.

This system call moves the reading of the kernel, initrd and the
device tree from the userspace kexec tool to the kernel. This is
needed if you want to do one or both of the following:

1. only allow loading of signed kernels.
2. "measure" (i.e., record the hashes of) the kernel, initrd, kernel

   command line and other boot inputs for the Integrity Measurement
   Architecture subsystem.

The above are the functions kexec already has built into
kexec_file_load. Yesterday I posted a set of patches which allows a
third feature:

3. have IMA pass-on its event log (where integrity measurements are

   registered) accross kexec to the second kernel, so that the event
   history is preserved.
OK.. and this is safe? Do both the kernels need to be signed by the
same certificate?
They don't. The integrity of the event log (assuming that is what you mean 
by "this" in "this is safe") is guaranteed by the TPM device. Each event in 
the measurement list extends a PCR and records its PCR value. It is 
cryptographically guaranteed that if you replay the PCR extends recorded in 
the event log and in the end of the process they match the current PCR 
values in the TPM device, then that event log is correct.

The kernel signature serves to ensure that you only run kernels from an 
authorized provider. It doesn't play a role in integrity assurance, which 
aims to verify that the machine is really running the code it says it is 
running. As I understand it, at least. It's a bit subtle and I could be 
missing something...

[]'s
Thiago Jung Bauermann
IBM Linux Technology Center
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help