On Thu Nov 7, 2024 at 1:52 AM EET, Mimi Zohar wrote: > On Thu, 2024-11-07 at 01:22 +0200, Jarkko Sakkinen wrote: > > On Thu Nov 7, 2024 at 12:52 AM EET, James Bottomley wrote: > > > > > > I'm a bit confused here. It's TPM2_PCR_Extend we have the trouble with > > > (as Mimi says in her email that you quoted) not TPM2_GetRandom. > > > > > > The random number generator reseed occurs in a kernel thread that fires > > > about once a minute, so it doesn't show up in really any of the boot > > > timings. Plus even with sessions added, what there now isn't a > > > significant overhead even to the running kernel given it's asynchronous > > > and called infrequently. > > > > Ah, right then we need the boot flag, and my earlier comments to the > > parameter apply. I've never used IMA so I don't actually even know in > > detail how it is using TPM. > > Huh? A simple explanation is that IMA-measurement maintains a measurement list, > similar to the pre-boot event log. Each IMA-measurement record extends the TPM > PCR (default PCR 10). > > Assuming IMA is enabled in the kernel, then just add "ima_policy=tcb" or > "ima_policy=critical_data" on the boot command line. To view the measurement > records, cat <securityfs>/integrity/ima/ascii_runtime_measurements. Normally > the IMA policy specified on the boot command line is replaced with a finer > grained custom policy. I'll try to figure out how to test it regularly. And yeah we need the flag obviously. I have my (CI compatible) framework that I run regularly with upstream that I've mentioned a few times earlier. https://codeberg.org/jarkko/linux-tpmdd-test How would I would make all files in /etc get to get the checksums, and how can I generate legit and illegit change to some file in that tree? No need to address how to implement that to my framework, I can figure that out. I just would love throw something so that any performance regressions will be catched right at the get go, i.e. before they end up to the mainline. > Mimi BR, Jarkko