< draft-birkholz-rats-epoch-markers-00.txt   draft-birkholz-rats-epoch-markers-01.txt >
RATS Working Group H. Birkholz RATS Working Group H. Birkholz
Internet-Draft Fraunhofer SIT Internet-Draft Fraunhofer SIT
Intended status: Standards Track T. Fossati Intended status: Standards Track T. Fossati
Expires: 29 October 2022 Arm Limited Expires: 5 November 2022 Arm Limited
W. Pan W. Pan
Huawei Technologies Huawei Technologies
C. Bormann C. Bormann
Universität Bremen TZI Universität Bremen TZI
27 April 2022 4 May 2022
Epoch Markers Epoch Markers
draft-birkholz-rats-epoch-markers-00 draft-birkholz-rats-epoch-markers-01
Abstract Abstract
Abstract Text Abstract Text
About This Document About This Document
This note is to be removed before publishing as an RFC. This note is to be removed before publishing as an RFC.
Status information for this document may be found at Status information for this document may be found at
skipping to change at page 1, line 49 skipping to change at page 1, line 49
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on 29 October 2022. This Internet-Draft will expire on 5 November 2022.
Copyright Notice Copyright Notice
Copyright (c) 2022 IETF Trust and the persons identified as the Copyright (c) 2022 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents (https://trustee.ietf.org/ Provisions Relating to IETF Documents (https://trustee.ietf.org/
license-info) in effect on the date of publication of this document. license-info) in effect on the date of publication of this document.
Please review these documents carefully, as they describe your rights Please review these documents carefully, as they describe your rights
skipping to change at page 2, line 26 skipping to change at page 2, line 26
described in Section 4.e of the Trust Legal Provisions and are described in Section 4.e of the Trust Legal Provisions and are
provided without warranty as described in the Revised BSD License. provided without warranty as described in the Revised BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Requirements Notation . . . . . . . . . . . . . . . . . . 3 1.1. Requirements Notation . . . . . . . . . . . . . . . . . . 3
2. Epoch IDs . . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Epoch IDs . . . . . . . . . . . . . . . . . . . . . . . . . . 4
3. Interaction Models . . . . . . . . . . . . . . . . . . . . . 4 3. Interaction Models . . . . . . . . . . . . . . . . . . . . . 4
4. Epoch Marker CDDL . . . . . . . . . . . . . . . . . . . . . . 4 4. Epoch Marker CDDL . . . . . . . . . . . . . . . . . . . . . . 4
4.1. RFC 3161 TSTInfo . . . . . . . . . . . . . . . . . . . . 6
5. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 5. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
5.1. Normative References . . . . . . . . . . . . . . . . . . 6 5.1. Normative References . . . . . . . . . . . . . . . . . . 6
5.2. Informative References . . . . . . . . . . . . . . . . . 7 5.2. Informative References . . . . . . . . . . . . . . . . . 6
Appendix A. RFC 3161 TSTInfo . . . . . . . . . . . . . . . . . . 7
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 7 Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction 1. Introduction
Systems that are required to interact via secure interactions often Systems that are required to interact via secure interactions often
require a shared understanding of the freshness of conveyed require a shared understanding of the freshness of conveyed
information, especially in the domain of remote attestation information, especially in the domain of remote attestation
procedures. Establishing a notion of freshness between various procedures. Establishing a notion of freshness between various
involved entities taking on roles that rely on information that is involved entities taking on roles that rely on information that is
skipping to change at page 4, line 10 skipping to change at page 4, line 10
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in "OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
2. Epoch IDs 2. Epoch IDs
The RATS architecture introduces the concept of Epoch IDs that mark The RATS architecture introduces the concept of Epoch IDs that mark
certain events during remote attestation procedures ranging from certain events during remote attestation procedures ranging from
simple handshakes to rather complex interactions including elaborate simple handshakes to rather complex interactions including elaborate
freshness proofs. Epoch Markers are a solution that includes the freshness proofs. The Epoch Markers defined in this document are a
lessons learned from TSAs and provides several means to identify a solution that includes the lessons learned from TSAs, the concept of
new freshness epoch as illustrated by the RATS architecture. Epoch IDs and provides several means to identify a new freshness
epoch. Some of these methods are introduced and discussed in
Section 10.3 of [I-D.ietf-rats-architecture].
3. Interaction Models 3. Interaction Models
The interaction models illustrated in this section are derived from The interaction models illustrated in this section are derived from
the RATS Reference Interaction Models. In general there are three of the RATS Reference Interaction Models. In general there are three of
them: them:
* unsolicited distribution (e.g., via uni-directional methods, such * ad-hoc requests (e.g., via challenge-response requests addressed
as broad- or multicasting from Epoch Bells) at Epoch Bells), corresponding to Section 7.1 in
[I-D.ietf-rats-reference-interaction-models]
* solicited distribution (e.g., via a subscription to Epoch Bells) * unsolicited distribution (e.g., via uni-directional methods, such
as broad- or multicasting from Epoch Bells), corresponding to
Section 7.2 in [I-D.ietf-rats-reference-interaction-models]
* ad-hoc requests (e.g., via challenge-response requests addressed * solicited distribution (e.g., via a subscription to Epoch Bells),
at Epoch Bells) corresponding to Section 7.3 in
[I-D.ietf-rats-reference-interaction-models]
4. Epoch Marker CDDL 4. Epoch Marker CDDL
epoch-marker = [ epoch-marker = [
header, header,
$payload, $payload,
] ]
header = { header = {
? challenge-response-nonce, ? challenge-response-nonce,
skipping to change at page 5, line 4 skipping to change at page 5, line 9
remote-attestation-evidence = (2: "PLEASE DEFINE") remote-attestation-evidence = (2: "PLEASE DEFINE")
remote-attestation-results = (3: "PLEASE DEFINE") remote-attestation-results = (3: "PLEASE DEFINE")
;payload types independent on interaction model ;payload types independent on interaction model
$payload /= native-rfc3161-TST-info $payload /= native-rfc3161-TST-info
$payload /= TST-info-based-on-CBOR-time-tag $payload /= TST-info-based-on-CBOR-time-tag
$payload /= CBOR-time-tag $payload /= CBOR-time-tag
$payload /= multi-nonce $payload /= multi-nonce
$payload /= multi-nonce-list $payload /= multi-nonce-list
$payload /= strictly-monotonically-increasing-counter $payload /= strictly-monotonically-increasing-counter
native-rfc3161-TST-info = bytes ; DER-encoded value of TSTInfo
TST-info-based-on-CBOR-time-tag = "PLEASE DEFINE" native-rfc3161-TST-info = bytes ; DER-encoded value of TSTInfo
; ~~~ ; ~~~
; ~~~ verbatim translation of ASN.1 TSTInfo into CDDL ; ~~~ translation with a few poetic licenses of ASN.1 TSTInfo into CDDL
; ~~~ (GeneralName is TODO atm, due to its terrible callousness)
; ~~~ ; ~~~
TST-info-based-on-CBOR-time-tag = {
TSTInfo = { &(version : 0) => int .default 1 ; obsolete?
&(version : 0) => int .default 1
&(policy : 1) => oid &(policy : 1) => oid
&(messageImprint : 2) => MessageImprint &(messageImprint : 2) => MessageImprint
&(serialNumber : 3) => int &(serialNumber : 3) => int
&(genTime : 4) => GeneralizedTime &(eTime : 4) => profiled-etime
? &(accuracy : 5) => Accuracy ? &(accuracy : 5) => rfc3161-accuracy
&(ordering : 6) => bool .default false &(ordering : 6) => bool .default false
? &(nonce : 7) => int ? &(nonce : 7) => int
? &(tsa : 8) => GeneralName ? &(tsa : 8) => GeneralName
* $$TSTInfoExtensions * $$TSTInfoExtensions
} }
; based on COSE_Hash_Find (draft-ietf-cose-hash-algs)
MessageImprint = [ MessageImprint = [
hashAlgorithm: AlgorithmIdentifier hashAlg : int
hashedMessage: bytes hashValue : bstr
]
AlgorithmIdentifier = [
algorithm: oid
? parameters: any
] ]
Accuracy = non-empty<{ rfc3161-accuracy = non-empty<{
? &(seconds : 0) => int ? &(seconds : 0) => int
? &(millis: 1) => 1..999 ? &(millis: 1) => 1..999
? &(micros: 2) => 1..999 ? &(micros: 2) => 1..999
}> }>
; https://datatracker.ietf.org/doc/html/rfc5280#section-4.1.2.5.2 ; timeMap profiles etime from https://datatracker.ietf.org/doc/html/draft-ietf-cbor-time-tag
GeneralizedTime = tstr .regexp '[0-9]{14}(\.[0-9]+)?Z' profiled-etime = #6.1001(timeMap)
timeMap = {
1 => #6.1(int / float) ; TIME_T
* int => any
}
GeneralName = "todo" ; Section 11.8 of I-D.ietf-cose-cbor-encoded-cert
GeneralName = [ GeneralNameType : int, GeneralNameValue : any ]
; stuff ; stuff
oid = #6.111(bstr) oid = #6.111(bstr)
non-empty<M> = (M) .and ({ + any => any }) non-empty<M> = (M) .and ({ + any => any })
CBOR-time-tag = [ CBOR-time-tag = [
time-tag, time-tag,
? nonce ? nonce
] ]
time-tag = "PLEASE DEFINE" time-tag = "PLEASE DEFINE"
nonce = "PLEASE DEFINE" nonce = "PLEASE DEFINE"
multi-nonce = tstr / bstr / int multi-nonce = tstr / bstr / int
multi-nonce-list = [+ multi-nonce] multi-nonce-list = [+ multi-nonce]
strictly-monotonically-increasing-counter = uint ; counter context? per issuer? per indicator? strictly-monotonically-increasing-counter = uint ; counter context? per issuer? per indicator?
4.1. RFC 3161 TSTInfo
TSTInfo ::= SEQUENCE {
version INTEGER { v1(1) },
policy TSAPolicyId,
messageImprint MessageImprint,
-- MUST have the same value as the similar field in
-- TimeStampReq
serialNumber INTEGER,
-- Time-Stamping users MUST be ready to accommodate integers
-- up to 160 bits.
genTime GeneralizedTime,
accuracy Accuracy OPTIONAL,
ordering BOOLEAN DEFAULT FALSE,
nonce INTEGER OPTIONAL,
-- MUST be present if the similar field was present
-- in TimeStampReq. In that case it MUST have the same value.
tsa [0] GeneralName OPTIONAL,
extensions [1] IMPLICIT Extensions OPTIONAL }
5. References 5. References
5.1. Normative References 5.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>. <https://www.rfc-editor.org/info/rfc2119>.
[RFC3161] Adams, C., Cain, P., Pinkas, D., and R. Zuccherato, [RFC3161] Adams, C., Cain, P., Pinkas, D., and R. Zuccherato,
skipping to change at page 7, line 18 skipping to change at page 6, line 48
5.2. Informative References 5.2. Informative References
[I-D.ietf-rats-architecture] [I-D.ietf-rats-architecture]
Birkholz, H., Thaler, D., Richardson, M., Smith, N., and Birkholz, H., Thaler, D., Richardson, M., Smith, N., and
W. Pan, "Remote Attestation Procedures Architecture", Work W. Pan, "Remote Attestation Procedures Architecture", Work
in Progress, Internet-Draft, draft-ietf-rats-architecture- in Progress, Internet-Draft, draft-ietf-rats-architecture-
15, 8 February 2022, <https://www.ietf.org/archive/id/ 15, 8 February 2022, <https://www.ietf.org/archive/id/
draft-ietf-rats-architecture-15.txt>. draft-ietf-rats-architecture-15.txt>.
[I-D.ietf-rats-reference-interaction-models]
Birkholz, H., Eckel, M., Pan, W., and E. Voit, "Reference
Interaction Models for Remote Attestation Procedures",
Work in Progress, Internet-Draft, draft-ietf-rats-
reference-interaction-models-05, 26 January 2022,
<https://www.ietf.org/archive/id/draft-ietf-rats-
reference-interaction-models-05.txt>.
Appendix A. RFC 3161 TSTInfo
As a reference for the definition of TST-info-based-on-CBOR-time-tag
the code block below depicts the original layout of the TSTInfo
structure from [RFC3161].
TSTInfo ::= SEQUENCE {
version INTEGER { v1(1) },
policy TSAPolicyId,
messageImprint MessageImprint,
-- MUST have the same value as the similar field in
-- TimeStampReq
serialNumber INTEGER,
-- Time-Stamping users MUST be ready to accommodate integers
-- up to 160 bits.
genTime GeneralizedTime,
accuracy Accuracy OPTIONAL,
ordering BOOLEAN DEFAULT FALSE,
nonce INTEGER OPTIONAL,
-- MUST be present if the similar field was present
-- in TimeStampReq. In that case it MUST have the same value.
tsa [0] GeneralName OPTIONAL,
extensions [1] IMPLICIT Extensions OPTIONAL }
Acknowledgements Acknowledgements
TBD TBD
Authors' Addresses Authors' Addresses
Henk Birkholz Henk Birkholz
Fraunhofer SIT Fraunhofer SIT
Rheinstrasse 75 Rheinstrasse 75
64295 Darmstadt 64295 Darmstadt
 End of changes. 22 change blocks. 
54 lines changed or deleted 70 lines changed or added

This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/