Skip to content
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

Extend v3 support to KDS and change proto representation #145

Open
wants to merge 3 commits into
base: main
Choose a base branch
from

Conversation

deeglaze
Copy link
Collaborator

PR #141 added report version 3 support to the abi and protocol buffer.

This PR changes the representation to prefer the CPUID_1_EAX representation of family, model, stepping values.
We have quite a lot of fussiness about trying to determine which product a report version should be evaluated against, which V3 should make simpler.

Unfortunately we need to support both V3 and V2, so the implementation is just more complex. The test.GetProduct function shouldn't be used for determining the product to use for the fake signer if the report we're evaluating includes its product information.

We fully ignore checking the productName extension of VCEK for V3 since the attestation report is the more trustworthy source of that information, and we should not expect the two to match given Issue #115.

With added support for family, model, stepping, I've taken the opportunity to additionally represent the first Zen5 model that supports SEV-SNP: Turin. The extended model is not enough to describe Turin. I've chosen to combine extended model and model to interpret the CPUID more precisely. This changes the mask and how model values are computed and compared.

We may learn from AMD that extended model is still the only relevant value for determining productName, and the model 2 for Turin is a red herring. We can change that later.

Tested successfully on hardware.

Adds consideration for Turin and the model value in Cpuid, not just
extended model.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant