Skip to content

docs: discuss intra-handshake.fail - #2524

Draft
burgerdev wants to merge 1 commit into
mainfrom
burgerdev/docs-ihf
Draft

docs: discuss intra-handshake.fail#2524
burgerdev wants to merge 1 commit into
mainfrom
burgerdev/docs-ihf

Conversation

@burgerdev

Copy link
Copy Markdown
Member

No description provided.

@burgerdev burgerdev added the documentation Improvements for user docs label Jul 13, 2026
@github-actions

github-actions Bot commented Jul 13, 2026

Copy link
Copy Markdown

Do the documentation changes need to be backported?

Changes to /docs/docs won't be visible until the next release.
If you are fixing something in the docs that should be immediately visible, the changes needs to be made to both /docs/docs and /docs/versioned_docs/version-X.Y, where X.Y is the version of the latest minor release.
This can be done in this same PR.

  • Yes, this should be backported to the current version of the docs.
  • No, the PR only contains docs changes relevant for future versions.

@github-actions

Copy link
Copy Markdown
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://edgelesssys.github.io/contrast/pr-preview/pr-2524/

Built to branch gh-pages at 2026-07-13 14:07 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

The paper analyses several ways of binding attestation evidence to a TLS channel.
Among these is the binding explained above, where the nonce and the ephemeral public key are hashed into the report data field.
Next, the authors define a set of TLS session correlation goals, and show that none of the analysed binding schemes meet these goals.
This result isn't really surprising for the schemes that are using ephemeral keys: the TEE commits itself to a specific key, not to a specific negotiated session.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

What does this sentence mean "the TEE commits itself to a specific key, not to a specific negotiated session"?

Among these is the binding explained above, where the nonce and the ephemeral public key are hashed into the report data field.
Next, the authors define a set of TLS session correlation goals, and show that none of the analysed binding schemes meet these goals.
This result isn't really surprising for the schemes that are using ephemeral keys: the TEE commits itself to a specific key, not to a specific negotiated session.
For these schemes, the session could be relayed by anybody possessing the committed private key.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Maybe a little bit of extra text explaining how.

In an ideal world, [Platform Ownership Endorsement] would assure that the expected cloud provider operates a particular TEE and vouches for its security.
Since the concept is quite new and the mechanism isn't widely deployed yet, we can't rely on it as of today.
Instead, Contrast users can add a list of expected hardware identifiers to their manifests.
Reports issued by another, attacker-controlled TEE won't pass validation due to ID mismatch.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

iiuc the issue is at the protocol level so even if you have a list of "trusted identifiers" that would allow you to discard reports signed by TEEs that are not on the list, the attack could still be possible from a compromised TEE that is on the list. So you end up putting trust on the claims of physical security of the hosts.

Does the paper propose a protocol scheme that defends against this regardless?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

With the current shape of TEE threat models, you can't design a protocol that stays secure if the server is physically compromised.

@charludo charludo left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I only have a couple of nits about phrasings, but IMO they throw the tone of the doc off a bit.


The necessary condition for the paper's relay attack is a leak of the private key by any TEE that otherwise passes verification.
If we rule out implementation errors, the threat model of the CPU vendors suggests that a hardware attack is necessary for that to happen.
This means that we can remove the attack vector by somehow ensuring physical security of the host systems.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

nit: The word "somehow" here reads weirdly. Maybe something more along the lines of "If the physical security [...], then we can remove [...]".


## Intra-handshake.fail

You might have heard about the [Intra-handshake.fail] paper by Sardar et.al.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
You might have heard about the [Intra-handshake.fail] paper by Sardar et.al.
[Intra-handshake.fail] is a 2026 paper by Sardar et.al. documenting relay attacks in intra-handshake attestation.

"You might have heard" reads too much like "dang it, we wish you didn't know about this" 😁

### Applicability to Contrast

The necessary condition for the paper's relay attack is a leak of the private key by any TEE that otherwise passes verification.
If we rule out implementation errors, the threat model of the CPU vendors suggests that a hardware attack is necessary for that to happen.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
If we rule out implementation errors, the threat model of the CPU vendors suggests that a hardware attack is necessary for that to happen.
Barring implementation errors, the threat model of the CPU vendors suggests that a hardware attack is necessary for that to happen.

We can't rule that out.

@burgerdev burgerdev modified the milestone: v1.23.0 Jul 27, 2026
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