Skip to content

Commit a1c3135

Browse files
authored
Add a field for the CSR signature to the MBM data. (#218)
* Add a field for the CSR signature to the MBM data. This proves the CSR was generated by the same device being attested. * Update the MBM attestation workflow documentation.
1 parent 5779556 commit a1c3135

File tree

3 files changed

+159
-137
lines changed

3 files changed

+159
-137
lines changed

certz/README.md

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -199,15 +199,19 @@ Call `Certz.GetIntegrityManifest`. The `Certz.GetIntegrityManifestResponse`'s
199199
PCRs to be included and all allowable digest values.
200200

201201
Send a `Certz.GenerateCSRRequest` to the `Certz.Rotate` endpoint, containing a
202-
`Certz.ReferenceIntegritySpec`. Using the returned `Certz.GenerateCSRResponse`,
203-
do the following. Verify the EK certificate chain, and verify the
204-
AK by nonce and certification by EK. Validate PCR digest as signed by the
205-
validated AK. Verify the digest matches with one of the allowed ones. Lastly,
206-
validate the CSR by its AK signature, and then process and extract the public
207-
key.
208-
209-
Get a new certificate issued by a trusted CA using the public key. Then
210-
`Certz.Rotate` as normal.
202+
`Certz.ReferenceIntegritySpec`. Using the returned `Certz.GenerateCSRResponse`
203+
and the `MBMData` within, do the following:
204+
205+
* Verify the `ek_leaf_cert` using the `ek_cert_chain` and your trust anchor.
206+
* Validate the `ak_signature` over the `ak_attestation` struct which was
207+
certified by the EK, and validate its contents. This verifies the AK.
208+
* Validate the `signature` over `quoted` by the AK. Then validate that the PCRs
209+
match one of the allowed ones.
210+
* Validate the `csr_signature` over the `certificate_signing_request` by the AK.
211+
This verifies the CSR.
212+
213+
Get a new certificate issued by a trusted CA using the CSR. Then `Certz.Rotate`
214+
as normal.
211215

212216
### Open Questions/Considerations
213217

0 commit comments

Comments
 (0)