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

First version with passport model added. #175

Merged
merged 16 commits into from
Jan 30, 2025
Merged

First version with passport model added. #175

merged 16 commits into from
Jan 30, 2025

Conversation

hannestschofenig
Copy link
Collaborator

@hannestschofenig hannestschofenig commented Dec 29, 2024

In this PR, I have added the long-awaited support for the passport model to the CSR attestation draft. While the functionality was implicitly present through the use of the conceptual message wrapper, the text previously lacked any explicit explanation.

I understand that introducing this functionality at this stage may seem late. However, I strongly believe we should not publish the draft without it, as there is significant industry interest in supporting both models: the background-check model and the passport model.

Copy link
Contributor

@ounsworth ounsworth left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, so you are defining a second pair of extensions / attributes for id-aa-ar that are basically the same but without the layer that allows bundles and certs. ARs must be signed, right? Is that true that ARs never need an external certificate chain? I understand that you don't need a SEQUENCE OF AR, but should there be a SEQUENCE OF CertificateChoices ?

I did not read all the new text, but I skimmed it and it seems good.

hannestschofenig and others added 3 commits January 3, 2025 10:41
Co-authored-by: Mike Ounsworth <mike@ounsworth.ca>
Co-authored-by: Mike Ounsworth <mike@ounsworth.ca>
@hannestschofenig
Copy link
Collaborator Author

Two points in response, Mike:

  1. ASN.1 correctness: I’m not entirely sure about the validity of the included ASN.1. It seems we had a bug, which I noticed when extending it with this PR. We should review the ASN.1 carefully during an upcoming call.

  2. Attestation Results certificate chains: Because the standardization efforts for Attestation Results (ARs) are relatively recent, I assumed the AR structure can carry these chains. However, it’s worth verifying this assumption.

Copy link
Collaborator

@nedmsmith nedmsmith left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

See several comments.

|<-----------------|
| |
~~~
{: #fig-csr-client-p11 title="Example interaction between CSR generator and HSM."}
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think its confusing for a crypto lib to have getEvidence calls. This dissonance is easier to see if you also have a diagram for getAttestationResultToken(). Both the AR token and Evidence are already signed (by Verifier / Attesting Env respectively) so there isn't a crypto operation needed to fetch them.


Typically, the RPs considered in the RATS architecture are application services that use remote attestation, rather than RAs or CAs. Devices inherently place significant trust in RA/CA infrastructure elements, and therefore any additional information revealed through remote attestation to such entities is generally less concerning than disclosure to application services. The problem of copying Evidence by CAs into an X.509 certificate is discussed in {{sec-con-publishing-x509}}.

These privacy risks can be mitigated using several approaches, including:
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Differential privacy analysis may be applied to Evidence, Attestation Results, or Certificates to reveal personally identifiable information that may be used to track a user or to correlate user's transactions.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is a lot that could be done but I did not want to provide an exhaustive list

A PKCS#10 or CRMF Certification Request message typically consists of a
distinguished name, a public key, and optionally a set of attributes,
collectively signed by the entity requesting certification.
collectively signed by the end entity requesting certification.
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think certification requests are limited to end entities. SPDM and DICE device ID certs can be embedded CAs.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fair enough. I will change this text.

hannestschofenig and others added 8 commits January 30, 2025 09:52
Co-authored-by: Ned Smith <ned.smith@intel.com>
Co-authored-by: Ned Smith <ned.smith@intel.com>
Co-authored-by: Ned Smith <ned.smith@intel.com>
Co-authored-by: Ned Smith <ned.smith@intel.com>
Co-authored-by: Ned Smith <ned.smith@intel.com>
Co-authored-by: Ned Smith <ned.smith@intel.com>
Co-authored-by: Ned Smith <ned.smith@intel.com>
@hannestschofenig hannestschofenig merged commit 500fe12 into main Jan 30, 2025
2 checks passed
@hannestschofenig hannestschofenig deleted the passport branch January 30, 2025 09:19
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.

3 participants