-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for TPM1.2 enrollment. #52
Conversation
Create the identity request. This takes the public key of the attestation certificate authority as input and returns a TPM struct with AIK (note: TPM structures are different for TPM1.2 & TPM2.0) Send the AIK cert encrypted by the EK back to the TPM. If the TPM can successfully decrypt the payload, the enrollment is complete.
Pull Request Test Coverage Report for Build 12834135710Details
💛 - Coveralls |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I checked with the service side and attestation key is not stored by the service. It is sent by the device in AttestResponse. So we need an additional API to get the attestation key from the device.
In this case would it make sense to have GetAIKKey
(or cert), GenerateAIK
and RotateAIKCert
where GenerateAIKRequest
will send issuer_public_key
and RotateAIKCert
will send the aik_cert
instead of having single RotateAIKCert
?
We don't think the public portion of the AIK is required. In the AttestResponse, the AIK certificate should be returned which can be used by the issuer to verify the validity. Does this sound right ? Proposing a minor change to the AttestResponse.
|
Completely agree that was going to be the implementation |
This sounds right. To my initial comment about separating the API, seems like TPM 1.2 doesn't provide any command to return AIK cert. Per offline discussion with Marcus |
Create the identity request. This takes the public key of the attestation certificate authority as input and returns a TPM struct with AIK (note: TPM structures are different for TPM1.2 & TPM2.0) Send the AIK cert encrypted by the EK back to the TPM. If the TPM can successfully decrypt the payload, the enrollment is complete.