Skip to content
This repository has been archived by the owner on Sep 19, 2024. It is now read-only.

Update Trust Model with Implicit Trust Example #60

Closed
wants to merge 10 commits into from

Conversation

gmandyam
Copy link

@gmandyam gmandyam commented Mar 5, 2020

Starting point for #59

@@ -610,6 +610,14 @@ for by hardware or by ROM code, especially if such hardware is
physically resistant to hardware tampering. The component that is
implicitly trusted is often referred to as a Root of Trust.

Implicit trust can also be tied to the communications link over which
the attestation evidence is conveyed. As an example, if the device and Verifier
Copy link
Collaborator

Choose a reason for hiding this comment

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

evidence -> Evidence
the device -> Attester

Implicit trust can also be tied to the communications link over which
the attestation evidence is conveyed. As an example, if the device and Verifier
communicate over a link that is established using a Root of Trust (e.g. cellular
communications link where authentication is tied to the presence of a secure element),
Copy link
Collaborator

Choose a reason for hiding this comment

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

Are the Attester and Verifier different entities? If they are different, how can the Verifier know the Attester has a secure element?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Dave Thaler asks for rewording to make the Implicit Trust more clear, the secure session is necessary, but not sufficient for this. MCR asks for the example to not be parenthetical.

Comment on lines 617 to 619
then the Verifier may be able to trust the attestation evidence from the device without
an additional endorsement or even a cryptographically-verifiable signature of the
evidence.
Copy link
Collaborator

Choose a reason for hiding this comment

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

So you mean the Evidence isn't signed or encrypted?

Copy link
Collaborator

Choose a reason for hiding this comment

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

Endorsements are signed (integrity protected and authenticated) by supply chain entity such as a vendor or manufacturer. Evidence is signed by an attestation key that is on the attesting device. The roles architecture distinguishes between Endorsers and Attesters for good reasons even though there can be cases where it isn't that clear that they are different. I don't think this section is trying to draw attention to one of those corner cases. Therefore, it appears the term Endorsement was used by mistake when Evidence was intended.

Copy link
Author

Choose a reason for hiding this comment

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

@nedmsmith

That wasn't really the intention behind the cited text. If the communications link is already trusted, then an endorsement may have been used in establishing the communications link. In that case, an additional endorsement for attestation evidence is not required.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I agree with the three sentences above.

I think the text at line 616 may be what is the problem because it presumes knowledge of the secure element context is existential. The Verifier needs to be told that the root-of-trust / secure element environment exists. It can happen manually, such as an IT department physically issuing a smart card or smart device with a SE to a user, generating the key pair, update the Verifier to trust the public that was generated. Manual approaches work in IT environments where employees are subject to IT procedures. Manual processes may not scale to Internet ecosystems. Remote attestation is trying to go beyond manual processes by generating keys in devices by manufacturers and issuing machine certs that establish that a key is protected by a secure element. This seems like a basic idea that if it isn't clear might belong in the introduction?

draft-ietf-rats-architecture.md Outdated Show resolved Hide resolved
Implicit trust can also be tied to the communications link over which
the attestation evidence is conveyed. As an example, if the device and Verifier
communicate over a link that is established using a Root of Trust (e.g. cellular
communications link where authentication is tied to the presence of a secure element),
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 we should use the term "secure element" in lower case, as it's ambiguous whether we mean Secure Element (per GP) or something more generic

Copy link
Author

Choose a reason for hiding this comment

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

Changes to "enclave" as per RFC 4949

communicate over a link that is established using a Root of Trust (e.g. cellular
communications link where authentication is tied to the presence of a secure element),
then the Verifier may be able to trust the attestation evidence from the device without
an additional endorsement or even a cryptographically-verifiable signature of the
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 the word endorsement is accurate here. Perhaps you mean signature? (Which is already after the "or") so recommend deleting the endorsement phrase.

Copy link
Author

Choose a reason for hiding this comment

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

The use of 'endorsement' is deliberate. Any endorsement would be applied to assertions associated with the communications link, not the attestation evidence.

Copy link
Collaborator

Choose a reason for hiding this comment

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

That wasn't obvious from "additional". Need to reword.

@thomas-fossati
Copy link
Collaborator

There's another bit that probably deserves a small paragraph here, related to the implication of session security being "ephemeral", i.e., what happens to the evidence once the secure session goes away?

@gmandyam
Copy link
Author

Tried to address the comments in PR mod's:

a) @dthaler - separated out example and tried to make it better-defined
b) @thomas-fossati - added 2 sentences to discuss the transience of the communications link and associated trust
c) @William-PanWei - tried to better explain how a Verifier would obtain information about how the communications link was established. It makes me wonder if the baseline architecture would need to be extended to encompass delegated trust.
d) @nedmsmith - I may still have a misunderstanding of what an endorsement actually means in the RATS architecture. In this example, I felt that an endorsement may have been leveraged in establishment of the communications link. Therefore an additional attestation-specific endorsement may not be necessary.

draft-ietf-rats-architecture.md Outdated Show resolved Hide resolved
draft-ietf-rats-architecture.md Outdated Show resolved Hide resolved
draft-ietf-rats-architecture.md Outdated Show resolved Hide resolved
draft-ietf-rats-architecture.md Outdated Show resolved Hide resolved
draft-ietf-rats-architecture.md Outdated Show resolved Hide resolved
draft-ietf-rats-architecture.md Outdated Show resolved Hide resolved
is over a cellular link, where the link is established by the Attester leveraging a secure
element (e.g. SIM card). The Verifier may have esablished the communications link and verified
the preence of the Root-of-Trust in doing so, or may have received evidence that the communications
link is anchored to a Root of Trust from an entity that established the communications link.
Copy link
Collaborator

Choose a reason for hiding this comment

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

Need more explanation about what "anchored to a Root of Trust" means. To trust the evidence, you have to have some assurance that the evidence is correct, and wasn't just fed to the communication link endpoint by some untrusted party.

Copy link
Author

Choose a reason for hiding this comment

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

What about the following:

"... or may have received evidence that the communications link is anchored to a Root of Trust from an entity that established the communications link. In the latter case, anchoring the communications link to a Root of Trust would mean that this entity only established a communications link with the attesting device after verifying that the device had a Root of Trust."

mcr and others added 7 commits April 21, 2020 10:51
Co-Authored-By: Dave Thaler <dthaler@microsoft.com>
Co-Authored-By: Dave Thaler <dthaler@microsoft.com>
Co-Authored-By: Dave Thaler <dthaler@microsoft.com>
Co-Authored-By: Dave Thaler <dthaler@microsoft.com>
Co-Authored-By: Dave Thaler <dthaler@microsoft.com>
Co-Authored-By: Dave Thaler <dthaler@microsoft.com>
@mcr mcr mentioned this pull request Apr 28, 2020
@mcr
Copy link
Collaborator

mcr commented Apr 28, 2020

Closed in favour of PR #82.

@mcr mcr closed this Apr 28, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants