Skip to content

Commit 5a9a7eb

Browse files
authored
Merge branch 'master' into addressing-issue-73-review-thomas
2 parents 89ebeb1 + 5391aab commit 5a9a7eb

File tree

1 file changed

+37
-7
lines changed

1 file changed

+37
-7
lines changed

draft-ietf-rats-reference-interaction-models.md

Lines changed: 37 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,8 @@ Analogously, a general overview about the information elements typically used by
136136
Remote ATtestation procedureS (RATS, {{-RATS}}) are workflows composed of roles and interactions, in which Verifiers create Attestation Results about the trustworthiness of an Attester's system component characteristics.
137137
The Verifier's assessment in the form of Attestation Results is produced based on Endorsements, Reference Values, Appraisal Policies, and Evidence -- trustable and tamper-evident Claims Sets about an Attester's system component characteristics -- generated by an Attester.
138138
The roles *Attester* and *Verifier*, as well as the Conceptual Messages *Evidence* and *Attestation Results* are concepts defined by the RATS Architecture {{-RATS}}.
139-
This document illustrates three main interaction models that can be used in specific RATS-related solution documents:
139+
This document illustrates three main interaction models between various RATS roles, namely Attesters, Verifiers, and Relying Parties that can be used in specific RATS-related specifications.
140+
Using Evidence as a prominent example, these three interaction models are:
140141

141142
1. *Challenge/Response Remote Attestation*:
142143
A Verifier actively challenges an Attester and receives time-fresh Evidence in response.
@@ -194,7 +195,7 @@ Generally, it is marked by the handoff from the final bootloader or initial OS k
194195
This document:
195196

196197
* outlines common interaction models between RATS roles;
197-
* illustrates interaction models focusing on conveying Evidence about boot-time integrity from Attesters to Verifiers;
198+
* illustrates interaction models using the conveyance of Evidence about boot-time integrity as an example throughout this document;
198199
* does not exclude the application of those interaction models to runtime integrity or the conveyance of other RATS Conceptual Messages;
199200
* does not cover every detail about Evidence conveyance.
200201

@@ -227,16 +228,19 @@ In order to ensure Evidence is appropriately conveyed through the interaction mo
227228

228229
Authentication Secret:
229230

230-
: An Authentication Secret MUST be exclusively available to an Attesting Environment of the Attester.
231+
: An Authentication Secret MUST be established before any RATS interaction takes place, and it must be made available exclusively to an Attesting Environment of the Attester.
231232

232233
: The Attester MUST protect Claims with this Authentication Secret to prove the authenticity of the Claims included in Evidence.
233234
The Authentication Secret MUST be established before RATS take place.
234235

235236
Attester Identity:
236237

237-
: A statement made by an Endorser about an Attester that affirms the Attester's distinguishability. (Note that distinguishability does not imply uniqueness.)
238+
: A statement made by an Endorser about an Attester that affirms the Attester's distinguishability.
238239

239-
: The provenance of Evidence for a distinguishable Attesting Environment MUST be unambiguous.
240+
: In essence, an Attester Identity can either be explicit (e.g., via a Claim in Evidence or Endorsement) or implicit (e.g., via a signature that matches a trust anchor).
241+
Note that distinguishability does not imply uniqueness; for example, a group of Attesters can be identified by an Attester Identity.
242+
243+
: The provenance of Evidence SHOULD be distinguishable with respect to the Attesting Environment and MUST be unambiguous with respect to the Attester Identity.
240244

241245
: An Attester Identity MAY be an Authentication Secret which is available exclusively to one of the Attesting Environments of the Attester.
242246
It could be a unique identity, it could be included in a zero-knowledge proof (ZKP), it could be part of a group signature, or it could be a randomized DAA credential {{DAA}}.
@@ -610,11 +614,19 @@ One example of a specific handle representation is {{-epoch-markers}}.
610614

611615
In the Uni-Directional model, handles are composed of cryptographically signed trusted timestamps as shown in {{-TUDA}}, potentially including other qualifying data.
612616
The Handles are created by an external trusted third party (TTP) -- the Handle Distributor -- which includes a trustworthy source of time, and takes on the role of a Time Stamping Authority (TSA, as initially defined in {{-TSA}}).
617+
In some deployments, a Verifier may obtain a Handle from the Handle Distributor and forward it to an Attester.
618+
While feasible if the Handle can be authenticated (e.g., an Epoch Marker with a verifiable timestamp), this indirection introduces additional latency for the Attester and can make freshness semantics harder to appraise.
619+
Therefore, direct distribution of Handles from the Handle Distributor to Attesters is the recommended approach.
620+
613621
Timestamps created from local clocks (absolute clocks using a global timescale, as well as relative clocks, such as tick-counters) of Attesters and Verifiers MUST be cryptographically bound to fresh Handles received from the Handle Distributor.
614622
This binding provides a proof of synchronization that MUST be included in all produced Evidence.
615623
This model provides proof that Evidence generation happened after the Handle generation phase.
616624
The Verifier can always determine whether the received Evidence includes a fresh Handle, i.e., one corresponding to the current Epoch.
617625

626+
The term "uni-directional" refers to the individual conveyance channels: one from the Handle Distributor to the Attester, and one from the Attester to the Verifier.
627+
Together, they establish the attestation loop without requiring request/response exchanges.
628+
This model does not assume that Verifiers broadcast Handles, as such a setup would require Verifiers to take on the Handle Distributor role and undermine the separation of duties between these roles.
629+
618630
### Handle Lifecycle and Propagation Delays
619631

620632
The lifecycle of a handle is a critical aspect of ensuring the freshness and validity of attestation Evidence.
@@ -626,6 +638,7 @@ To manage this complexity, it is essential to define a clear policy for handle v
626638

627639
* *Handle Expiry*:
628640
Each handle should have a well-defined expiration time, after which it is considered invalid.
641+
An Attester that is aware of the expiration time MUST NOT send Evidence with an expired handle.
629642
This expiry must account for expected propagation delays and be clearly communicated to all entities in the attestation process.
630643

631644
* *Synchronization Checks*:
@@ -792,6 +805,9 @@ In the sequence diagram above, the Verifier initiates an attestation by generati
792805
The PubSub server then forwards this handle to the Attester by notifying it.
793806
This mechanism ensures that each handle is uniquely associated with a specific attestation request, thereby enhancing security by preventing replay attacks.
794807

808+
While this model allows for Verifier-specific Handles and custom freshness policies, such policies must be defined and enforced outside the scope of this specification.
809+
For instance, a Verifier may choose to include a Handle reference in its appraisal policy or request specific handling by the PubSub server through implementation-specific mechanisms.
810+
795811
#### Handle Generation for Uni-Directional Remote Attestation over Publish-Subscribe
796812

797813
~~~~ aasvg
@@ -876,8 +892,10 @@ When the Handle Distributor generates and publishes a Handle to the "Handle" top
876892
Exactly as in the Challenge/Response and Uni-Directional interaction models, there is an Evidence Generation-Appraisal loop, in which the Attester generates Evidence and the Verifier appraises it.
877893
In the Publish-Subscribe model above, the Attester publishes Evidence to the topic "AttEv" (= Attestation Evidence) on the PubSub server, to which a Verifier subscribed before.
878894
The PubSub server notifies Verifiers, accordingly, by forwarding the attestation Evidence.
879-
Although the above diagram depicts only full attestation Evidence and Event Logs, later attestations may use "deltas' for Evidence and Event Logs.
880-
Verifiers appraise the Evidence and publish the Attestation Result to topic "AttRes" (= Attestation Result) on the PubSub server.
895+
Although the above diagram depicts only full attestation Evidence and Event Logs, later attestations may use "deltas" for Evidence and Event Logs.
896+
897+
Verifiers appraise the Evidence and publish the Attestation Result to the `AttRes` topic (= Attestation Result) on the PubSub server, which then serves as the dissemination point from which subscribers, such as Relying Parties or other authorized roles, retrieve the result.
898+
881899

882900
#### Attestation Result Generation
883901

@@ -912,6 +930,9 @@ Attestation Result Generation is the same for both publish-subscribe models,*Cha
912930
Relying Parties subscribe to topic `AttRes` (= Attestation Result) on the PubSub server.
913931
The PubSub server forwards Attestation Results to the Relying Parties as soon as they are published to topic `AttRes`.
914932

933+
In some deployments, Attesters may also subscribe to the `AttRes` topic to consume Attestation Results.
934+
This reuses the same publish-subscribe mechanism described here and may support local policy decisions or caching.
935+
915936
# Implementation Status
916937

917938
Note to RFC Editor: Please remove this section as well as references to {{BCP205}} before AUTH48.
@@ -1030,10 +1051,16 @@ To mitigate these risks, it is essential to implement robust security measures:
10301051
Implementing strong isolation mechanisms for topics can help prevent the Broker from inadvertently or maliciously routing notifications to unauthorized parties.
10311052
This includes using secure naming conventions and access controls that restrict the Broker's ability to manipulate topic subscriptions.
10321053

1054+
In addition to isolating topics, privacy can be preserved by minimizing the inclusion of personally identifying information or unique Attester identifiers in messages published to shared topics, unless strictly required by the subscriber’s role or appraisal policy.
1055+
10331056
* *Trusted Association Verification:*
10341057
To further safeguard against confusion attacks where the Broker might misroute notifications, mechanisms should be in place to verify the trust association between senders and receivers continuously.
10351058
This can be facilitated by cryptographic assurances, such as digital signatures and trusted certificates that validate the sender's identity and the integrity of the message content.
10361059

1060+
Implementations may use Verifier Endorsements or pre-established authorization policies to define valid sender-receiver associations.
1061+
These policies can be cryptographically enforced using signed metadata, access control lists, or secured registration procedures on the PubSub server.
1062+
The precise method is deployment-specific.
1063+
10371064
* *Audit and Monitoring:*
10381065
Regular audits and real-time monitoring of Broker activities can detect and respond to anomalous behavior that might indicate security breaches or manipulation attempts.
10391066
Logging all actions performed by the Broker provides an audit trail that can be critical for forensic analysis.
@@ -1045,6 +1072,9 @@ To mitigate these risks, it is essential to implement robust security measures:
10451072
By addressing these vulnerabilities proactively, the integrity and confidentiality of the attestation process can be maintained, reducing the risks associated with Broker-mediated communication in remote attestation scenarios.
10461073
It is crucial for solution architects to incorporate these security measures during the design and deployment phases to ensure that the attestation process remains secure and trustworthy.
10471074

1075+
This specification does not require the PubSub server to attest to the Handle or cryptographically prove its dissemination.
1076+
If such assurances are needed (e.g., for auditability or binding Handle provenance), additional mechanisms---such as signed delivery receipts or logs---must be provided by the PubSub infrastructure.
1077+
10481078
## Additional Application-Specific Security Considerations
10491079

10501080
The security and privacy requirements for remote attestation can vary significantly based on the deployment environment, the nature of the attestation mechanisms used, and the specific threats each scenario faces.

0 commit comments

Comments
 (0)