RE: Portable Executable (PE) Signature Validation and Measurement for KEXEC system call using IMA
From: Lakshmi Ramasubramanian
Date: Mon Mar 25 2019 - 17:00:44 EST
Thanks for your response Mimi.
Please see my responses to your queries inline.
Thanks,
-lakshmi
>-----Original Message-----
>From: Mimi Zohar <zohar@xxxxxxxxxxxxx>
>Sent: Monday, March 25, 2019 12:28 PM
>To: Lakshmi Ramasubramanian <nramas@xxxxxxxxxxxxx>; linux-integrity@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx
>Subject: Re: Portable Executable (PE) Signature Validation and Measurement for KEXEC system call using IMA
>Hi Lakshmi,
>On Fri, 2019-03-22 at 17:39 +0000, Lakshmi Ramasubramanian wrote:
>> Hello,
>>
>> When loading the new kernel image file for executing KEXEC system call,
>> we would like to verify that the kernel image file is signed and
>> the signer certificate is valid.
>>
> I'm not sure what is meant by "and the signer certificate is valid".
> The kexec kernel image signature can be verified by keys either on the
> IMA keyring or the platform keyring. ÂThe current method of verifying
> keys being added to the IMA keyring is by requiring them to be signed
> by a key on the builtin trusted keyring. ÂThis provides a signature
> chain of trust from boot to the kernel, based on a HW root of trust,
> and then transitions to the kernel image's embedded keys. ÂYou
> probably already know as to why/how the platform keys are trusted.
[Lakshmi] By "signer certificate is valid" I meant, the key used to sign the kexec kernel image is trusted.
We will verify the signature using the key in the IMA keyring
(like the way you have described above)
>>
>> If the kernel image file is in Portable Executable (PE) format we want to
>> validate the PE Signature and measure the signer X.509 certificate
>> (Extend as part of IMA Template defaulting to PCR 10, if not otherwise set,
>> and the IMA measurement log).
> How/when do you plan to "measure the signer X.509 certificate"? ÂIs
> this when the certificate is being loaded onto the keyring or at use?
>ÂI'm not sure how much of the certificate is available once loaded
> onto the keyring.
[Lakshmi] We will measure the signer certificate when the file is loaded - in other words, "at use".
The kernel image signer information measured in to the IMA log will then be used as one of the attestation criteria.
>>
>> We plan to use Integrity Measurement Architecture (IMA) for the above.
>>
>> Please let us know if anyone is already working on a patch set
>> for such a functionality.
>>
>> I am aware of the work that Thiago Jung Bauermann @ IBM is doing for
>> "Appended signatures support for IMA appraisal"
>> (Web link given below)
>>
>> https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Flkml.org%2Flkml%2F2018%2F12%2F12%2F1049&data=02%7C01%7Cnramas%40microsoft.com%7Cc36d42cb91214cc3ca1308d6b157f962%7C72f988bf86f141af91ab2d7cd011db47%7C1%7C0%7C636891388745548879&sdata=OLtkuptXQYZHuvlVmn3ej%2FpEk501TxzToEcbOref0UU%3D&reserved=0
> Other than Thiago, I'm not aware of anyone else working on this.
> ÂThiago is actively working on these patches and will be re-posting
> them shortly.
[Lakshmi] Thanks for the information.
> Mimi
Thanks,
-lakshmi