<?xml version='1.0' encoding='utf-8'?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.6.17 (Ruby 2.5.1) -->
<!DOCTYPE rfc SYSTEM "rfc2629-xhtml.ent">
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-birkholz-rats-epoch-markers-02" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 2.46.0 -->
  <front>
    <title abbrev="Epoch Markers">Epoch Markers</title>
    <seriesInfo name="Internet-Draft" value="draft-birkholz-rats-epoch-markers-02"/>
    <author initials="H." surname="Birkholz" fullname="Henk Birkholz">
      <organization abbrev="Fraunhofer SIT">Fraunhofer SIT</organization>
      <address>
        <postal>
          <street>Rheinstrasse 75</street>
          <city>Darmstadt</city>
          <code>64295</code>
          <country>Germany</country>
        </postal>
        <email>henk.birkholz@sit.fraunhofer.de</email>
      </address>
    </author>
    <author initials="T." surname="Fossati" fullname="Thomas Fossati">
      <organization>Arm Limited</organization>
      <address>
        <postal>
          <country>UK</country>
        </postal>
        <email>Thomas.Fossati@arm.com</email>
      </address>
    </author>
    <author initials="W." surname="Pan" fullname="Wei Pan">
      <organization>Huawei Technologies</organization>
      <address>
        <email>william.panwei@huawei.com</email>
      </address>
    </author>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Bibliothekstr. 1</street>
          <city>Bremen</city>
          <code>D-28359</code>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <date year="2022" month="October" day="24"/>
    <area>Security</area>
    <workgroup>RATS Working Group</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <t>This document defines Epoch Markers as a way to establish a notion of freshness among actors in a distributed system. Epoch Markers are similar to "time ticks" and are produced and distributed by a dedicated system, the Epoch Bell. Systems that receive Epoch Markers do not have to track freshness using their own understanding of time (e.g., via a local real-time clock). Instead, the reception of a certain Epoch Marker establishes a new epoch that is shared between all recipients.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-birkholz-rats-epoch-markers/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        rats Working Group mailing list (<eref target="mailto:rats@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/rats/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/rats/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-rats/draft-birkholz-rats-epoch-marker"/>.</t>
    </note>
  </front>
  <middle>
    <section anchor="introduction">
      <name>Introduction</name>
      <t>Systems that need to interact securely often require a shared understanding of the freshness of conveyed information.
This is certainly the case in the domain of remote attestation procedures.
In general, securely establishing a shared notion of freshness of the exchanged information among entities in a distributed system is not a simple task.</t>
      <t>The entire <xref section="A" sectionFormat="of" target="I-D.ietf-rats-architecture"/> deals solely with the topic of freshness, which is in itself an indication of how relevant, and complex, it is to establish a trusted and shared understanding of freshness in a RATS system.</t>
      <t>This document defines Epoch Markers as a way to establish a notion of freshness among actors in a distributed system.
Epoch Markers are similar to "time ticks" and are produced and distributed by a dedicated system, the Epoch Bell.
Systems that receive Epoch Markers do not have to track freshness using their own understanding of time (e.g., via a local real-time clock).
Instead, the reception of a certain Epoch Marker establishes a new epoch that is shared between all recipients.
In essence, the emissions and corresponding receptions of Epoch Markers are like the ticks of a clock where the ticks are conveyed by the Internet.</t>
      <t>In general (barring highly symmetrical topologies), epoch ticking incurs differential latency due to the non-uniform distribution of receivers with respect to the Epoch Bell.  This introduces skew that needs to be taken into consideration when Epoch Markers are used.</t>
      <t>While all Epoch Markers share the same core property of behaving like clock ticks in a shared domain, various "epoch id" types are defined to accommodate different use cases and diverse kinds of Epoch Bells.</t>
      <t>While Epoch Markers are encoded in CBOR <xref target="STD94"/>, and many of the epoch id types are themselves encoded in CBOR, a prominent format in this space is the Time-Stamp Token defined by <xref target="RFC3161"/>, a DER-encoded TSTInfo value wrapped in a CMS envelope <xref target="RFC5652"/>.
Time-Stamp Tokens (TST) are produced by Time-Stamp Authorities (TSA) and exchanged via the Time-Stamp Protocol (TSP).
At the time of writing, TSAs are the most common providers of secure time-stamping services.
Therefore, reusing the core TSTInfo structure as an epoch id type for Epoch Markers is instrumental for enabling smooth migration paths and promote interoperability.
There are, however, several other ways to represent a signed timestamp, and therefore other kinds of payloads that can be used to implement Epoch Markers.</t>
      <t>To inform the design, this document discusses a number of interaction models in which Epoch Markers are expected to be exchanged.
The top-level structure of Epoch Markers and an initial set of epoch id types are specified using CDDL <xref target="RFC8610"/>.
To increase trustworthiness in the Epoch Bell, Epoch Markers also provide the option to include a "veracity proof" in the form of attestation evidence, attestation results, or SCITT receipts <xref target="I-D.birkholz-scitt-receipts"/> associated with the trust status of the Epoch Bell.</t>
      <section anchor="requirements-notation">
        <name>Requirements Notation</name>
        <t>The key words "<bcp14>MUST</bcp14>", "<bcp14>MUST NOT</bcp14>", "<bcp14>REQUIRED</bcp14>", "<bcp14>SHALL</bcp14>", "<bcp14>SHALL
NOT</bcp14>", "<bcp14>SHOULD</bcp14>", "<bcp14>SHOULD NOT</bcp14>", "<bcp14>RECOMMENDED</bcp14>", "<bcp14>NOT RECOMMENDED</bcp14>",
"<bcp14>MAY</bcp14>", and "<bcp14>OPTIONAL</bcp14>" in this document are to be interpreted as
described in BCP&nbsp;14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <t>In this document, CDDL <xref target="RFC8610"/> is used to describe the data formats.  The examples in <xref target="examples"/> use CBOR diagnostic notation as defined in <xref section="8" sectionFormat="of" target="STD94"/> and <xref section="G" sectionFormat="of" target="RFC8610"/>.</t>
      </section>
    </section>
    <section anchor="epoch-ids">
      <name>Epoch IDs</name>
      <t>The RATS architecture introduces the concept of Epoch IDs that mark certain events during remote attestation procedures ranging from simple handshakes to rather complex interactions including elaborate freshness proofs.
The Epoch Markers defined in this document are a solution that includes the lessons learned from TSAs, the concept of Epoch IDs defined in the RATS architecture, and provides several means to identify a new freshness epoch. Some of these methods are introduced and discussed in Section 10.3 of the RATS architecture <xref target="I-D.ietf-rats-architecture"/>.</t>
    </section>
    <section anchor="interaction-models">
      <name>Interaction Models</name>
      <t>The interaction models illustrated in this section are derived from the RATS Reference Interaction Models.
In general, there are three interaction models:</t>
      <ul spacing="normal">
        <li>ad-hoc requests (e.g., via challenge-response requests addressed at Epoch Bells), corresponding to Section 7.1 in <xref target="I-D.ietf-rats-reference-interaction-models"/></li>
        <li>unsolicited distribution (e.g., via uni-directional methods, such as broad- or multicasting from Epoch Bells), corresponding to Section 7.2 in <xref target="I-D.ietf-rats-reference-interaction-models"/></li>
        <li>solicited distribution (e.g., via a subscription to Epoch Bells), corresponding to Section 7.3 in <xref target="I-D.ietf-rats-reference-interaction-models"/></li>
      </ul>
    </section>
    <section anchor="epoch-marker-structure">
      <name>Epoch Marker Structure</name>
      <t>At the top level, an Epoch Marker is a CBOR array with a header carrying an optional veracity proof about the Epoch Bell and a payload.</t>
      <figure anchor="fig-epoch-marker-cddl">
        <name>Epoch Marker definition</name>
        <artwork type="CDDL" align="left"><![CDATA[
epoch-marker = [
  $tagged-epoch-id
  ? bell-veracity-proof
]

; veracity of the bell
bell-veracity-proof = non-empty<{
  ? remote-attestation-evidence ; could be EAT or Concise Evidence
  ? remote-attestation-result ; hopefully EAT with AR4SI Claims
  ? scitt-receipt ; SCITT receipt
}>

remote-attestation-evidence = (1: "PLEASE DEFINE")
remote-attestation-result = (2: "PLEASE DEFINE")
scitt-receipt = (3: "PLEASE DEFINE")

; epoch-id types independent of interaction model
$tagged-epoch-id /= cbor-epoch-id
$tagged-epoch-id /= #6.26980(classical-rfc3161-TST-info)
$tagged-epoch-id /= #6.26981(TST-info-based-on-CBOR-time-tag)
$tagged-epoch-id /= #6.26982(multi-nonce)
$tagged-epoch-id /= #6.26983(multi-nonce-list)
$tagged-epoch-id /= #6.26984(strictly-monotonic-counter)
]]></artwork>
      </figure>
      <section anchor="epoch-marker-payloads">
        <name>Epoch Marker Payloads</name>
        <t>This memo comes with a set of predefined payloads.</t>
        <section anchor="cbor-time-tag-etime">
          <name>CBOR Time Tag (etime)</name>
          <t>CBOR extended time tag (1001) optionally bundled with a nonce.</t>
          <t>See <xref section="3" sectionFormat="of" target="I-D.ietf-cbor-time-tag"/> for the (many) details about the CBOR extended
time format.</t>
          <sourcecode type="CDDL">
cbor-epoch-id = [
   etime
   ? nonce
]

etime = #6.1001({* (int/tstr) =&gt; any})

nonce = tstr / bstr / int
</sourcecode>
        </section>
        <section anchor="classical-rfc-3161-tst-info">
          <name>Classical RFC 3161 TST Info</name>
          <t>DER-encoded <xref target="X.690"/> TSTInfo <xref target="RFC3161"/>.  See <xref target="classic-tstinfo"/> for the layout.</t>
          <sourcecode type="CDDL">
classical-rfc3161-TST-info = bytes
</sourcecode>
        </section>
        <section anchor="cbor-encoded-rfc3161-tst-info">
          <name>CBOR-encoded RFC3161 TST Info</name>
          <t>Semantically equivalent to classical RFC3161 TSTInfo rewritten using the CBOR
type system.</t>
          <sourcecode type="CDDL">
TST-info-based-on-CBOR-time-tag = {
  &amp;(version : 0) =&gt; int .default 1 ; obsolete?
  &amp;(policy : 1) =&gt; oid
  &amp;(messageImprint : 2) =&gt; MessageImprint
  &amp;(serialNumber : 3) =&gt; int
  &amp;(eTime : 4) =&gt; profiled-etime
  &amp;(ordering : 5) =&gt; bool .default false
  ? &amp;(nonce : 6) =&gt; int
  ? &amp;(tsa : 7) =&gt; GeneralName
  * $$TSTInfoExtensions
}

oid = #6.110(bstr) / #6.111(bstr) / #6.112(bstr)

; based on COSE_Hash_Find (draft-ietf-cose-hash-algs)
MessageImprint = [
  hashAlg : int
  hashValue : bstr
]

; timeMap profiles etime, see:
; https://datatracker.ietf.org/doc/html/draft-ietf-cbor-time-tag
profiled-etime = #6.1001(timeMap)
timeMap = {
  1 =&gt; #6.1(int / float) ; TIME_T
  -8 =&gt; profiled-duration ; guarantee aka RFC 3161 accuracy
  * int =&gt; any
}
profiled-duration = #6.1002({* int =&gt; any})

; Section 11.8 of I-D.ietf-cose-cbor-encoded-cert
GeneralName = [ GeneralNameType : int, GeneralNameValue : any ]
</sourcecode>
        </section>
        <section anchor="multi-nonce">
          <name>Multi-Nonce</name>
          <t>Typically, a nonce is a number only used once. In the context of Epoch Markers, one Nonce can be distributed to multiple consumers, each of them using that Nonce only once. Technically, that is not a Nonce anymore. This type of Nonce is called Multi-Nonce in Epoch Markers.</t>
          <sourcecode type="CDDL">
; Multi-Nonce

; a single nonce used by multiple entities
multi-nonce = tstr / bstr / int
</sourcecode>
        </section>
        <section anchor="multi-nonce-list">
          <name>Multi-Nonce-List</name>
          <t>A list of nonces send to multiple consumers. The consumers use each Nonce in the list of Nonces sequentially. Technically, each sequential Nonce in the distributed list is not used just once, but by every Epoch Marker consumer involved. This renders each Nonce in the list a Multi-Nonce</t>
          <sourcecode type="CDDL">
; Multi-Nonce-List

; a list of nonces potentially used by multiple entities
multi-nonce-list = [ + multi-nonce ]
</sourcecode>
        </section>
        <section anchor="strictly-monotonically-increasing-counter">
          <name>Strictly Monotonically Increasing Counter</name>
          <t>A strictly monotonically increasing counter.</t>
          <t>The counter context is defined by the Epoch bell.</t>
          <sourcecode type="CDDL">
strictly-monotonic-counter = uint
</sourcecode>
        </section>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Epoch Markers are signed using <xref target="STD96"/> and inheritance of security considerations will be addressed here.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>TODO</t>
    </section>
  </middle>
  <back>
    <references>
      <name>References</name>
      <references>
        <name>Normative References</name>
        <reference anchor="RFC3161" target="https://www.rfc-editor.org/info/rfc3161">
          <front>
            <title>Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)</title>
            <seriesInfo name="DOI" value="10.17487/RFC3161"/>
            <seriesInfo name="RFC" value="3161"/>
            <author fullname="C. Adams" initials="C." surname="Adams">
              <organization/>
            </author>
            <author fullname="P. Cain" initials="P." surname="Cain">
              <organization/>
            </author>
            <author fullname="D. Pinkas" initials="D." surname="Pinkas">
              <organization/>
            </author>
            <author fullname="R. Zuccherato" initials="R." surname="Zuccherato">
              <organization/>
            </author>
            <date month="August" year="2001"/>
            <abstract>
              <t>This document describes the format of a request sent to a Time Stamping Authority (TSA) and of the response that is returned.  It also establishes several security-relevant requirements for TSA operation, with regards to processing requests to generate responses.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC5652" target="https://www.rfc-editor.org/info/rfc5652">
          <front>
            <title>Cryptographic Message Syntax (CMS)</title>
            <seriesInfo name="DOI" value="10.17487/RFC5652"/>
            <seriesInfo name="RFC" value="5652"/>
            <seriesInfo name="STD" value="70"/>
            <author fullname="R. Housley" initials="R." surname="Housley">
              <organization/>
            </author>
            <date month="September" year="2009"/>
            <abstract>
              <t>This document describes the Cryptographic Message Syntax (CMS).  This syntax is used to digitally sign, digest, authenticate, or encrypt arbitrary message content.  [STANDARDS-TRACK]</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC8610" target="https://www.rfc-editor.org/info/rfc8610">
          <front>
            <title>Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures</title>
            <seriesInfo name="DOI" value="10.17487/RFC8610"/>
            <seriesInfo name="RFC" value="8610"/>
            <author fullname="H. Birkholz" initials="H." surname="Birkholz">
              <organization/>
            </author>
            <author fullname="C. Vigano" initials="C." surname="Vigano">
              <organization/>
            </author>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <date month="June" year="2019"/>
            <abstract>
              <t>This document proposes a notational convention to express Concise Binary Object Representation (CBOR) data structures (RFC 7049).  Its main goal is to provide an easy and unambiguous way to express structures for protocol messages and data formats that use CBOR or JSON.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="STD94" target="https://www.rfc-editor.org/info/rfc8949">
          <front>
            <title>Concise Binary Object Representation (CBOR)</title>
            <seriesInfo name="DOI" value="10.17487/RFC8949"/>
            <seriesInfo name="RFC" value="8949"/>
            <seriesInfo name="STD" value="94"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann">
              <organization/>
            </author>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman">
              <organization/>
            </author>
            <date month="December" year="2020"/>
            <abstract>
              <t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation. These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t>
              <t>This document obsoletes RFC 7049, providing editorial improvements, new details, and errata fixes while keeping full compatibility with the interchange format of RFC 7049.  It does not create a new version of the format.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="STD96" target="https://www.rfc-editor.org/info/rfc9052">
          <front>
            <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
            <seriesInfo name="DOI" value="10.17487/RFC9052"/>
            <seriesInfo name="RFC" value="9052"/>
            <seriesInfo name="STD" value="96"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad">
              <organization/>
            </author>
            <date month="August" year="2022"/>
            <abstract>
              <t>Concise Binary Object Representation (CBOR) is a data format designed for small code size and small message size.  There is a need to be able to define basic security services for this data format.  This document defines the CBOR Object Signing and Encryption (COSE) protocol.  This specification describes how to create and process signatures, message authentication codes, and encryption using CBOR for serialization.  This specification additionally describes how to represent cryptographic keys using CBOR.  </t>
              <t>This document, along with RFC 9053, obsoletes RFC 8152.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="I-D.ietf-cbor-time-tag" target="https://www.ietf.org/archive/id/draft-ietf-cbor-time-tag-02.txt">
          <front>
            <title>Concise Binary Object Representation (CBOR) Tags for Time, Duration, and Period</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-cbor-time-tag-02"/>
            <author fullname="Carsten Bormann" initials="C." surname="Bormann">
              <organization>Universität Bremen TZI</organization>
            </author>
            <author fullname="Ben Gamari" initials="B." surname="Gamari">
              <organization>Well-Typed</organization>
            </author>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer Institute for Secure Information Technology</organization>
            </author>
            <date day="4" month="October" year="2022"/>
            <abstract>
              <t>   The Concise Binary Object Representation (CBOR, RFC 8949) is a data
   format whose design goals include the possibility of extremely small
   code size, fairly small message size, and extensibility without the
   need for version negotiation.

   In CBOR, one point of extensibility is the definition of CBOR tags.
   RFC 8949 defines two tags for time: CBOR tag 0 (RFC3339 time as a
   string) and tag 1 (Posix time as int or float).  Since then,
   additional requirements have become known.  The present document
   defines a CBOR tag for time that allows a more elaborate
   representation of time, as well as related CBOR tags for duration and
   time period.  It is intended as the reference document for the IANA
   registration of the CBOR tags defined.


   // The present version (-02) fills in proposals for all TBDs that
   // were outstanding.

              </t>
            </abstract>
          </front>
        </reference>
        <reference anchor="X.690" target="https://www.itu.int/rec/T-REC-X.690">
          <front>
            <title>Information technology -- ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <seriesInfo name="ITU-T" value="Recommendation X.690"/>
            <author>
              <organization>International Telecommunications Union</organization>
            </author>
            <date year="2015" month="August"/>
          </front>
        </reference>
        <reference anchor="RFC2119" target="https://www.rfc-editor.org/info/rfc2119">
          <front>
            <title>Key words for use in RFCs to Indicate Requirement Levels</title>
            <seriesInfo name="DOI" value="10.17487/RFC2119"/>
            <seriesInfo name="RFC" value="2119"/>
            <seriesInfo name="BCP" value="14"/>
            <author fullname="S. Bradner" initials="S." surname="Bradner">
              <organization/>
            </author>
            <date month="March" year="1997"/>
            <abstract>
              <t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t>
            </abstract>
          </front>
        </reference>
        <reference anchor="RFC8174" target="https://www.rfc-editor.org/info/rfc8174">
          <front>
            <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
            <seriesInfo name="DOI" value="10.17487/RFC8174"/>
            <seriesInfo name="RFC" value="8174"/>
            <seriesInfo name="BCP" value="14"/>
            <author fullname="B. Leiba" initials="B." surname="Leiba">
              <organization/>
            </author>
            <date month="May" year="2017"/>
            <abstract>
              <t>RFC 2119 specifies common key words that may be used in protocol  specifications.  This document aims to reduce the ambiguity by clarifying that only UPPERCASE usage of the key words have the  defined special meanings.</t>
            </abstract>
          </front>
        </reference>
      </references>
      <references>
        <name>Informative References</name>
        <reference anchor="I-D.ietf-rats-architecture" target="https://www.ietf.org/archive/id/draft-ietf-rats-architecture-22.txt">
          <front>
            <title>Remote Attestation Procedures Architecture</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-rats-architecture-22"/>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Dave Thaler" initials="D." surname="Thaler">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Michael Richardson" initials="M." surname="Richardson">
              <organization>Sandelman Software Works</organization>
            </author>
            <author fullname="Ned Smith" initials="N." surname="Smith">
              <organization>Intel Corporation</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <date day="28" month="September" year="2022"/>
            <abstract>
              <t>   In network protocol exchanges it is often useful for one end of a
   communication to know whether the other end is in an intended
   operating state.  This document provides an architectural overview of
   the entities involved that make such tests possible through the
   process of generating, conveying, and evaluating evidentiary claims.
   An attempt is made to provide for a model that is neutral toward
   processor architectures, the content of claims, and protocols.

              </t>
            </abstract>
          </front>
        </reference>
        <reference anchor="I-D.ietf-rats-reference-interaction-models" target="https://www.ietf.org/archive/id/draft-ietf-rats-reference-interaction-models-06.txt">
          <front>
            <title>Reference Interaction Models for Remote Attestation Procedures</title>
            <seriesInfo name="Internet-Draft" value="draft-ietf-rats-reference-interaction-models-06"/>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Michael Eckel" initials="M." surname="Eckel">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Wei Pan" initials="W." surname="Pan">
              <organization>Huawei Technologies</organization>
            </author>
            <author fullname="Eric Voit" initials="E." surname="Voit">
              <organization>Cisco Systems</organization>
            </author>
            <date day="7" month="September" year="2022"/>
            <abstract>
              <t>   This document describes interaction models for remote attestation
   procedures (RATS).  Three conveying mechanisms -- Challenge/Response,
   Uni-Directional, and Streaming Remote Attestation -- are illustrated
   and defined.  Analogously, a general overview about the information
   elements typically used by corresponding conveyance protocols are
   highlighted.

              </t>
            </abstract>
          </front>
        </reference>
        <reference anchor="I-D.birkholz-scitt-receipts" target="https://www.ietf.org/archive/id/draft-birkholz-scitt-receipts-01.txt">
          <front>
            <title>Countersigning COSE Envelopes in Transparency Services</title>
            <seriesInfo name="Internet-Draft" value="draft-birkholz-scitt-receipts-01"/>
            <author fullname="Henk Birkholz" initials="H." surname="Birkholz">
              <organization>Fraunhofer SIT</organization>
            </author>
            <author fullname="Maik Riechert" initials="M." surname="Riechert">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Antoine Delignat-Lavaud" initials="A." surname="Delignat-Lavaud">
              <organization>Microsoft</organization>
            </author>
            <author fullname="Cedric Fournet" initials="C." surname="Fournet">
              <organization>Microsoft</organization>
            </author>
            <date day="5" month="September" year="2022"/>
            <abstract>
              <t>   A transparent and authentic ledger service in support of a supply
   chain's integrity, transparency, and trust requires all peers that
   contribute to the ledgers operations to be trustworthy and authentic.
   In this document, a countersigning variant is specified that enables
   trust assertions on Merkle-tree based operations for global supply
   chain ledgers.  A generic procedure for producing payloads to be
   signed and validated is defined and leverages solutions and
   principles from the Concise Signing and Encryption (COSE) space.

              </t>
            </abstract>
          </front>
        </reference>
      </references>
    </references>
    <section anchor="examples">
      <name>Examples</name>
      <t>The example in <xref target="fig-ex-1"/> shows an epoch marker with a cbor-epoch-id and no
bell veracity proof.</t>
      <figure anchor="fig-ex-1">
        <name>CBOR epoch id without bell veracity proof</name>
        <artwork type="CBOR-DIAG" align="center"><![CDATA[
[
  / cbor-epoch-id / [
    / 1996-12-19T16:39:57-08:00[America//Los_Angeles][u-ca=hebrew] /
    / etime / 1001({
        1: 851042397,
      -10: "America/Los_Angeles",
      -11: { "u-ca": "hebrew" }
    })
  ]
  / no bell veracity proof /
]
]]></artwork>
      </figure>
      <section anchor="classic-tstinfo">
        <name>RFC 3161 TSTInfo</name>
        <t>As a reference for the definition of TST-info-based-on-CBOR-time-tag the code block below depects the original layout of the TSTInfo structure from <xref target="RFC3161"/>.</t>
        <sourcecode type="ASN.1">
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  }
</sourcecode>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>TBD</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
yVkQ/A+g2POTLTEAAA==

-->

</rfc>
