-
Notifications
You must be signed in to change notification settings - Fork 16
Correct recent additions to attest.proto #133
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
Correct recent additions to attest.proto #133
Conversation
7c58298 to
b6d1c1d
Compare
|
@eriknordmark The yetus complaints are expected, appreciate if you double check my understanding of the |
eriknordmark
left a comment
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.
OK, we can ignore the bufcompat warnings since this API hasn't be used yet.
It would be good to eye-ball the diffs against the older version which is in use.
| // which PCRs to use, for example excluding PCRs that are volatile in nature | ||
| // like PCR 1 (Host Platform Configuration). If not present, default PCRs | ||
| // as per EVE design will be used. | ||
| bool has_policy_pcr_list = 3; //whether policy_pcr_list is present |
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.
Here a reserved = 3;
would also make sense.
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.
This struct is stored as binary in cloud db, we are free to make changes.
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'd still prefer the hygene to keep the tags reserved in cases like this,
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.
please review again.
eriknordmark
left a comment
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.
Please mark the removed tags using reserved = X
b6d1c1d to
3f49a17
Compare
d97d1e9 to
3890539
Compare
eriknordmark
left a comment
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.
Looks good but it would make sense to squash this into two commits (one for the proto files and one for the derived files)
- Partially revert "attest: add versioning support to AttestVolumeKey", commit 8fe5236. - Partially revert "proto: Add PCR policy list to AttestVolumeKeyData", commit 5ac5235. - Add AttestPolicyPcrList message to specify which PCR indices are included in a TPM policy, along with a policy ID for versioning. - Extend AttestVolumeKey with policy_pcr_list and has_policy_pcr_list field to associate encrypted volume keys with their corresponding PCR-based policies. This enables EVE to use dynamic PCR policies for volume key management. - Add AttestVolumeKeyVersion enum to support multiple encryption formats for volume storage keys. The version field in AttestVolumeKeyData message provides backwards compatibility with legacy format (version 0) and enables new formats (V1 uses AES-GCM). - Correct field numbering in AttestVolumeKey and AttestVolumeKeyData for backward compatibility. Signed-off-by: Shahriyar Jalayeri <shahriyar@zededa.com>
Add generate golang and python code for the changes. Signed-off-by: Shahriyar Jalayeri <shahriyar@zededa.com>
3890539 to
d294a68
Compare
eriknordmark
left a comment
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.
LGTM
This PR corrects the recent additions to the attest.proto, specifically :
AttestVolumeKeyData, notAttestVolumeKey, commercial controller implementation is expected to to store marshalledAttestVolumeKeyDataas binary, this allows us to change the volume key format without any change in the controller implementation.AttestVolumeKey, notAttestVolumeKeyData, as it is expected that EVE receives this information from controller.The logic for neither of these changes were part of any official EVE or commercial controller release, so the change is expected to be harmless 🤞🏼.