You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: draft-ietf-rats-reference-interaction-models.md
+37-7Lines changed: 37 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -136,7 +136,8 @@ Analogously, a general overview about the information elements typically used by
136
136
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.
137
137
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.
138
138
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:
140
141
141
142
1. *Challenge/Response Remote Attestation*:
142
143
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
194
195
This document:
195
196
196
197
* 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;
198
199
* does not exclude the application of those interaction models to runtime integrity or the conveyance of other RATS Conceptual Messages;
199
200
* does not cover every detail about Evidence conveyance.
200
201
@@ -227,16 +228,19 @@ In order to ensure Evidence is appropriately conveyed through the interaction mo
227
228
228
229
Authentication Secret:
229
230
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.
231
232
232
233
: The Attester MUST protect Claims with this Authentication Secret to prove the authenticity of the Claims included in Evidence.
233
234
The Authentication Secret MUST be established before RATS take place.
234
235
235
236
Attester Identity:
236
237
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.
238
239
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.
240
244
241
245
: An Attester Identity MAY be an Authentication Secret which is available exclusively to one of the Attesting Environments of the Attester.
242
246
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}}.
610
614
611
615
In the Uni-Directional model, handles are composed of cryptographically signed trusted timestamps as shown in {{-TUDA}}, potentially including other qualifying data.
612
616
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
+
613
621
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.
614
622
This binding provides a proof of synchronization that MUST be included in all produced Evidence.
615
623
This model provides proof that Evidence generation happened after the Handle generation phase.
616
624
The Verifier can always determine whether the received Evidence includes a fresh Handle, i.e., one corresponding to the current Epoch.
617
625
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
+
618
630
### Handle Lifecycle and Propagation Delays
619
631
620
632
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
626
638
627
639
* *Handle Expiry*:
628
640
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.
629
642
This expiry must account for expected propagation delays and be clearly communicated to all entities in the attestation process.
630
643
631
644
* *Synchronization Checks*:
@@ -792,6 +805,9 @@ In the sequence diagram above, the Verifier initiates an attestation by generati
792
805
The PubSub server then forwards this handle to the Attester by notifying it.
793
806
This mechanism ensures that each handle is uniquely associated with a specific attestation request, thereby enhancing security by preventing replay attacks.
794
807
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
+
795
811
#### Handle Generation for Uni-Directional Remote Attestation over Publish-Subscribe
796
812
797
813
~~~~ aasvg
@@ -876,8 +892,10 @@ When the Handle Distributor generates and publishes a Handle to the "Handle" top
876
892
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.
877
893
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.
878
894
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
+
881
899
882
900
#### Attestation Result Generation
883
901
@@ -912,6 +930,9 @@ Attestation Result Generation is the same for both publish-subscribe models,*Cha
912
930
Relying Parties subscribe to topic `AttRes` (= Attestation Result) on the PubSub server.
913
931
The PubSub server forwards Attestation Results to the Relying Parties as soon as they are published to topic `AttRes`.
914
932
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
+
915
936
# Implementation Status
916
937
917
938
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:
1030
1051
Implementing strong isolation mechanisms for topics can help prevent the Broker from inadvertently or maliciously routing notifications to unauthorized parties.
1031
1052
This includes using secure naming conventions and access controls that restrict the Broker's ability to manipulate topic subscriptions.
1032
1053
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
+
1033
1056
* *Trusted Association Verification:*
1034
1057
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.
1035
1058
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.
1036
1059
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
+
1037
1064
* *Audit and Monitoring:*
1038
1065
Regular audits and real-time monitoring of Broker activities can detect and respond to anomalous behavior that might indicate security breaches or manipulation attempts.
1039
1066
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:
1045
1072
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.
1046
1073
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.
1047
1074
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.
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