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

docs: add attestation page #393

Merged
merged 20 commits into from
May 2, 2024
Merged

docs: add attestation page #393

merged 20 commits into from
May 2, 2024

Conversation

m1ghtym0
Copy link
Member

Some open questions:

  • Graphics are taken from RATS as ASCII art. I tried to do the first one in Mermaid, but it looks kinda bad. So maybe redo them with draw.io. Opinions?
  • Current content correct? Please review
  • Details? More details for the evidence and their format? More details on the hardware (SEV-SNP) part? Details of the runtime environment, aka image, I'd like to coordinate with the dedicated components page @malt3.
  • Runtime policies: We should probably create a dedicated page explaining them more in detail under components. What do you think, @burgerdev?

@m1ghtym0 m1ghtym0 added no changelog PRs not listed in the release notes documentation Improvements for user docs labels Apr 25, 2024
@m1ghtym0 m1ghtym0 requested review from malt3 and burgerdev April 25, 2024 16:00
@m1ghtym0 m1ghtym0 force-pushed the m/docs/attestation branch from d85b0b6 to 98f34cd Compare April 25, 2024 16:00
Copy link

github-actions bot commented Apr 25, 2024

PR Preview Action v1.4.7
Preview removed because the pull request was closed.
2024-05-02 06:20 UTC

Copy link
Contributor

@burgerdev burgerdev left a comment

Choose a reason for hiding this comment

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

Yes, I think an explanation of runtime policies is needed. I'll take care of that.

docs/docs/architecture/attestation.md Outdated Show resolved Hide resolved
docs/docs/architecture/attestation.md Show resolved Hide resolved
docs/docs/architecture/attestation.md Outdated Show resolved Hide resolved
docs/docs/architecture/attestation.md Outdated Show resolved Hide resolved
docs/docs/architecture/attestation.md Outdated Show resolved Hide resolved
docs/docs/architecture/attestation.md Outdated Show resolved Hide resolved
docs/docs/architecture/attestation.md Outdated Show resolved Hide resolved
docs/docs/architecture/attestation.md Outdated Show resolved Hide resolved
docs/docs/architecture/attestation.md Outdated Show resolved Hide resolved
docs/docs/architecture/attestation.md Outdated Show resolved Hide resolved
Comment on lines 89 to 113
| | .-----------. | | | and
| | Target | Attesting | | | | CPU
| | Environment |Environment+-----------'
| | | | | |
| | '-----------' | |
| | ^ | |
| '--------------+--|---------' |
| Collect | | Evidence for |
| Claims v | Initializer |
| .-----------------+---------. |
| | Image(B): | |
| | Kernel, initrd, | |
| | cmdline Target | |
| | Environment | |
| | ^ | |
| '-------------+--|---------' |
| Collect | | Evidence for |
| Claims v | Kernel and |
| | Runtime Policy|
| .----------------+----------. |
| | CPU(A) | |
| | AMD SEV, | |
| | Intel TDX Target | |
| | Environment | |
| '---------------------------' |
Copy link
Member

Choose a reason for hiding this comment

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

As far as I understand the RFC, Target Environment and Attesting Environment aren't used correctly here:

Claims are collected from Target Environments. That is, Attesting Environments collect the values and the information to be represented in Claims by [...] taking measurements on [...] memory [...] of the Target Environment. Attesting Environments then format the Claims appropriately; typically, they use key material and cryptographic functions, such as signing or cipher algorithms, to generate Evidence. There is no limit or requirement on the types of hardware or software environments that can be used to implement an Attesting Environment. For example, TEEs ...

So the Attesting Environment in our case is the ASP, and the Image is the Target Environment. The Initializer isn't measured, so it is not part of the attestation procedure at all.

docs/docs/architecture/attestation.md Show resolved Hide resolved
docs/docs/architecture/attestation.md Outdated Show resolved Hide resolved
docs/docs/architecture/attestation.md Outdated Show resolved Hide resolved
docs/docs/architecture/attestation.md Outdated Show resolved Hide resolved
## Evidence Generation and Appraisal

### Evidence Types and Formats
Several types of attestation evidence exist in Contrast:
Copy link
Member

Choose a reason for hiding this comment

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

It is just one type of evidence: launch measurement a host data (policy hash) are just fields of the SNP attestation report.

Copy link
Member

Choose a reason for hiding this comment

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

While I really like that we give a orientation based on RATS to those familiar with CC, I think this document currently misses to give answers to those looking for a concise explanation why the remote attestation in Contrasts provides the promised security. Maybe we could add a section at the bottom that gives concise answers to common questions regarding attestation? Either way, we should address this in another PR to keep the scope of this PR small.

@malt3
Copy link
Contributor

malt3 commented Apr 26, 2024

FYI: The runtime page is starting to form over here: #397

@katexochen katexochen removed the no changelog PRs not listed in the release notes label Apr 26, 2024
@m1ghtym0 m1ghtym0 force-pushed the m/docs/attestation branch from c9927fd to c425a50 Compare April 29, 2024 08:24
@m1ghtym0 m1ghtym0 marked this pull request as ready for review April 29, 2024 11:35
docs/docs/architecture/attestation.md Outdated Show resolved Hide resolved
docs/docs/architecture/attestation.md Outdated Show resolved Hide resolved
docs/docs/architecture/attestation.md Outdated Show resolved Hide resolved
docs/docs/architecture/attestation.md Show resolved Hide resolved
docs/docs/architecture/attestation.md Show resolved Hide resolved
@malt3 malt3 removed their request for review April 30, 2024 15:20
@m1ghtym0 m1ghtym0 merged commit 8746eae into main May 2, 2024
8 checks passed
@m1ghtym0 m1ghtym0 deleted the m/docs/attestation branch May 2, 2024 06:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements for user docs
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants