chipsalliance / caliptra-sw

Caliptra software (ROM, FMC, runtime firmware), and libraries/tools needed to build and test
Apache License 2.0
90 stars 43 forks source link

Different key pair for PCR signing vs FMC Alias #192

Open varuns-nvidia opened 1 year ago

varuns-nvidia commented 1 year ago

HW PCR signing (key slot 7) currently uses the same private key as FMC Alias. This poses problems:

To mitigate, recommending that either ROM or FMC generate a new key pair for HW PCR signing. The public key could be exposed as a certificate or as TCI evidence for the Caliptra Runtime.

@Bryankel @vsonims @bluegate010 @JohnTraverAmd @jhand2 for comment.

FerralCoder commented 1 year ago

If you want to make sure that PCR signing is truly a hardware function and cannot be affected by rogue/buggy/hacked FW, then the key should be created and locked by ROM.

JohnTraverAmd commented 1 year ago

Question about the requirements:

  1. Would it be required that this public key be static from boot to boot or could this be generated each boot? I'd prefer that this is fully random each boot if the infrastructure could handle that.
  2. How would the Verifiers know they could trust this Public Key? How is it tied back to the cert chain?
jhand2 commented 1 year ago

For 2, I would recommend endorsing with LDevID

If we do that, I don't think there's benefit in making the signing key random on each boot. I don't have any specific objections, just don't think any security value is gained.