<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.21 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-cose-tsa-tst-header-parameter-04" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.25.0 -->
  <front>
    <title abbrev="TST Header">COSE Header parameter for RFC 3161 Time-Stamp Tokens</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-cose-tsa-tst-header-parameter-04"/>
    <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>Linaro</organization>
      <address>
        <email>thomas.fossati@linaro.org</email>
      </address>
    </author>
    <author initials="M." surname="Riechert" fullname="Maik Riechert">
      <organization>Microsoft</organization>
      <address>
        <postal>
          <country>UK</country>
        </postal>
        <email>Maik.Riechert@microsoft.com</email>
      </address>
    </author>
    <date year="2025" month="January" day="22"/>
    <area>Security</area>
    <workgroup>COSE</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 52?>

<t>This document defines two CBOR Signing And Encrypted (COSE) header parameters for incorporating RFC 3161-based timestamping into COSE message structures (<tt>COSE_Sign</tt> and <tt>COSE_Sign1</tt>).
This enables the use of established RFC 3161 timestamping infrastructure to prove the creation time of a message.</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-ietf-cose-tsa-tst-header-parameter/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/ietf-scitt/draft-birkholz-cose-tsa-tst-header-parameter"/>.</t>
    </note>
  </front>
  <middle>
    <?line 57?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>RFC 3161 <xref target="RFC3161"/> provides a method to timestamp a message digest to prove that it was created before a given time.</t>
      <t>This document defines two new CBOR Object Signing and Encryption (COSE) <xref target="STD96"/> header parameters that carry the TimestampToken (TST) output of RFC 3161, thus allowing existing and widely deployed trust infrastructure to be used with COSE structures used for signing (<tt>COSE_Sign</tt> and <tt>COSE_Sign1</tt>).</t>
      <section anchor="use-cases">
        <name>Use Cases</name>
        <t>This section discusses two use cases, each representing one of the two modes of use defined in <xref target="modes"/>.</t>
        <t>A first use case is a digital document signed alongside a trustworthy timestamp.
This is a common case in legal contracts.
In such scenario, the document signer wants to reinforce the claim that the document existed on a specific date.
To achieve this, the document signer acquires a fresh TST for the document from a TSA, combines it with the document, and then signs the bundle.
Later on, a relying party consuming the signed bundle can be certain that the document existed <em>at least</em> at the time specified by the TSA.
The relying party does not have to trust the signer's clock, which may have been maliciously altered or simply inaccurate.</t>
        <t>This usage scenario motivates the "Timestamp then COSE" mode defined in <xref target="sec-timestamp-then-cose"/>.</t>
        <t>A second use case is the notarization of a signed document by registering it at a Transparency Service.
This is common for accountability and auditability of issued documents.
Once a document is registered at a Transparency Service's append-only log, its log entry cannot be changed.
In certain cases, such as when a short-lived certificate is used for the signature, the registration policy of a Transparency Service may add a trustworthy timestamp to the signed document.
This is done to lock the signature to a specific point in time.
To achieve this, the Transparency Service acquires a TST from a TSA, bundles it alongside the signed document, and then registers it.
A relying party that wants to ascertain the authenticity of the document after the signing key has expired (or has been compromised), can do so by making sure that no revocation information has been made public before the time asserted in the TST.</t>
        <t>This usage scenario motivates the "COSE then Timestamp" mode described in <xref target="sec-cose-then-timestamp"/>.</t>
      </section>
      <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 14 <xref target="RFC2119"/> <xref target="RFC8174"/> when, and only when, they
appear in all capitals, as shown here.</t>
        <?line -18?>

</section>
    </section>
    <section anchor="modes">
      <name>Modes of Use</name>
      <t>There are two different modes of composing COSE protection and timestamping, motivated by the usage scenarios discussed above.</t>
      <t>The diagrams in this section illustrate the processing flow of the specified modes.
For simplicity, only the <tt>COSE_Sign1</tt> processing is shown.
Similar diagrams for <tt>COSE_Sign</tt> can be derived by allowing multiple <tt>private-key</tt> boxes and replacing the label <tt>[signature]</tt> with <tt>[signatures]</tt>.</t>
      <section anchor="sec-timestamp-then-cose">
        <name>Timestamp then COSE (TTC)</name>
        <t><xref target="fig-timestamp-then-cose"/> shows the case where a datum is first digested and submitted to a TSA to be timestamped.</t>
        <t>This mode is utilized when the signature should also be performed over the timestamp to provide an immutable timestamp.</t>
        <t>A signed COSE message is then built as follows:</t>
        <ul spacing="normal">
          <li>
            <t>The obtained timestamp token is added to the protected headers,</t>
          </li>
          <li>
            <t>The original datum becomes the payload of the signed COSE message.</t>
          </li>
        </ul>
        <figure anchor="fig-timestamp-then-cose">
          <name>Timestamp, then COSE (TTC)</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="464" width="616" viewBox="0 0 616 464" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,304" fill="none" stroke="black"/>
                <path d="M 40,112 L 40,232" fill="none" stroke="black"/>
                <path d="M 48,272 L 48,352" fill="none" stroke="black"/>
                <path d="M 48,384 L 48,416" fill="none" stroke="black"/>
                <path d="M 64,144 L 64,176" fill="none" stroke="black"/>
                <path d="M 80,32 L 80,64" fill="none" stroke="black"/>
                <path d="M 80,176 L 80,232" fill="none" stroke="black"/>
                <path d="M 96,416 L 96,448" fill="none" stroke="black"/>
                <path d="M 128,144 L 128,176" fill="none" stroke="black"/>
                <path d="M 160,336 L 160,352" fill="none" stroke="black"/>
                <path d="M 160,384 L 160,408" fill="none" stroke="black"/>
                <path d="M 208,208 L 208,288" fill="none" stroke="black"/>
                <path d="M 232,128 L 232,176" fill="none" stroke="black"/>
                <path d="M 240,80 L 240,112" fill="none" stroke="black"/>
                <path d="M 240,240 L 240,272" fill="none" stroke="black"/>
                <path d="M 264,384 L 264,408" fill="none" stroke="black"/>
                <path d="M 288,240 L 288,272" fill="none" stroke="black"/>
                <path d="M 304,80 L 304,112" fill="none" stroke="black"/>
                <path d="M 312,128 L 312,176" fill="none" stroke="black"/>
                <path d="M 312,416 L 312,448" fill="none" stroke="black"/>
                <path d="M 320,208 L 320,248" fill="none" stroke="black"/>
                <path d="M 320,264 L 320,288" fill="none" stroke="black"/>
                <path d="M 320,320 L 320,400" fill="none" stroke="black"/>
                <path d="M 352,352 L 352,384" fill="none" stroke="black"/>
                <path d="M 360,64 L 360,88" fill="none" stroke="black"/>
                <path d="M 360,104 L 360,152" fill="none" stroke="black"/>
                <path d="M 360,168 L 360,248" fill="none" stroke="black"/>
                <path d="M 360,264 L 360,304" fill="none" stroke="black"/>
                <path d="M 376,400 L 376,416" fill="none" stroke="black"/>
                <path d="M 384,32 L 384,304" fill="none" stroke="black"/>
                <path d="M 400,352 L 400,384" fill="none" stroke="black"/>
                <path d="M 432,32 L 432,64" fill="none" stroke="black"/>
                <path d="M 432,320 L 432,400" fill="none" stroke="black"/>
                <path d="M 456,112 L 456,160" fill="none" stroke="black"/>
                <path d="M 456,192 L 456,232" fill="none" stroke="black"/>
                <path d="M 544,64 L 544,304" fill="none" stroke="black"/>
                <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
                <path d="M 384,32 L 432,32" fill="none" stroke="black"/>
                <path d="M 8,64 L 360,64" fill="none" stroke="black"/>
                <path d="M 384,64 L 544,64" fill="none" stroke="black"/>
                <path d="M 40,80 L 152,80" fill="none" stroke="black"/>
                <path d="M 240,80 L 304,80" fill="none" stroke="black"/>
                <path d="M 416,80 L 528,80" fill="none" stroke="black"/>
                <path d="M 304,96 L 376,96" fill="none" stroke="black"/>
                <path d="M 24,112 L 136,112" fill="none" stroke="black"/>
                <path d="M 240,112 L 304,112" fill="none" stroke="black"/>
                <path d="M 400,112 L 512,112" fill="none" stroke="black"/>
                <path d="M 232,128 L 312,128" fill="none" stroke="black"/>
                <path d="M 64,144 L 128,144" fill="none" stroke="black"/>
                <path d="M 168,144 L 192,144" fill="none" stroke="black"/>
                <path d="M 128,160 L 144,160" fill="none" stroke="black"/>
                <path d="M 208,160 L 224,160" fill="none" stroke="black"/>
                <path d="M 312,160 L 376,160" fill="none" stroke="black"/>
                <path d="M 64,176 L 128,176" fill="none" stroke="black"/>
                <path d="M 168,176 L 192,176" fill="none" stroke="black"/>
                <path d="M 232,176 L 312,176" fill="none" stroke="black"/>
                <path d="M 208,208 L 320,208" fill="none" stroke="black"/>
                <path d="M 40,240 L 88,240" fill="none" stroke="black"/>
                <path d="M 240,240 L 288,240" fill="none" stroke="black"/>
                <path d="M 432,240 L 496,240" fill="none" stroke="black"/>
                <path d="M 112,256 L 208,256" fill="none" stroke="black"/>
                <path d="M 296,256 L 384,256" fill="none" stroke="black"/>
                <path d="M 40,272 L 88,272" fill="none" stroke="black"/>
                <path d="M 240,272 L 288,272" fill="none" stroke="black"/>
                <path d="M 432,272 L 496,272" fill="none" stroke="black"/>
                <path d="M 208,288 L 320,288" fill="none" stroke="black"/>
                <path d="M 8,304 L 40,304" fill="none" stroke="black"/>
                <path d="M 56,304 L 360,304" fill="none" stroke="black"/>
                <path d="M 384,304 L 544,304" fill="none" stroke="black"/>
                <path d="M 320,320 L 432,320" fill="none" stroke="black"/>
                <path d="M 48,336 L 248,336" fill="none" stroke="black"/>
                <path d="M 352,352 L 400,352" fill="none" stroke="black"/>
                <path d="M 352,384 L 400,384" fill="none" stroke="black"/>
                <path d="M 320,400 L 432,400" fill="none" stroke="black"/>
                <path d="M 96,416 L 312,416" fill="none" stroke="black"/>
                <path d="M 64,432 L 88,432" fill="none" stroke="black"/>
                <path d="M 320,432 L 360,432" fill="none" stroke="black"/>
                <path d="M 96,448 L 312,448" fill="none" stroke="black"/>
                <path d="M 24,112 L 40,80" fill="none" stroke="black"/>
                <path d="M 136,112 L 152,80" fill="none" stroke="black"/>
                <path d="M 400,112 L 416,80" fill="none" stroke="black"/>
                <path d="M 512,112 L 528,80" fill="none" stroke="black"/>
                <path d="M 168,144 C 159.16936,144 152,151.16936 152,160" fill="none" stroke="black"/>
                <path d="M 192,144 C 200.83064,144 208,151.16936 208,160" fill="none" stroke="black"/>
                <path d="M 456,160 C 447.16936,160 440,167.16936 440,176" fill="none" stroke="black"/>
                <path d="M 456,160 C 464.83064,160 472,167.16936 472,176" fill="none" stroke="black"/>
                <path d="M 168,176 C 159.16936,176 152,168.83064 152,160" fill="none" stroke="black"/>
                <path d="M 192,176 C 200.83064,176 208,168.83064 208,160" fill="none" stroke="black"/>
                <path d="M 456,192 C 447.16936,192 440,184.83064 440,176" fill="none" stroke="black"/>
                <path d="M 456,192 C 464.83064,192 472,184.83064 472,176" fill="none" stroke="black"/>
                <path d="M 40,240 C 31.16936,240 24,247.16936 24,256" fill="none" stroke="black"/>
                <path d="M 88,240 C 96.83064,240 104,247.16936 104,256" fill="none" stroke="black"/>
                <path d="M 432,240 C 423.16936,240 416,247.16936 416,256" fill="none" stroke="black"/>
                <path d="M 496,240 C 504.83064,240 512,247.16936 512,256" fill="none" stroke="black"/>
                <path d="M 40,272 C 31.16936,272 24,264.83064 24,256" fill="none" stroke="black"/>
                <path d="M 88,272 C 96.83064,272 104,264.83064 104,256" fill="none" stroke="black"/>
                <path d="M 432,272 C 423.16936,272 416,264.83064 416,256" fill="none" stroke="black"/>
                <path d="M 496,272 C 504.83064,272 512,264.83064 512,256" fill="none" stroke="black"/>
                <path d="M 248,336 C 256.83064,336 264,343.16936 264,352" fill="none" stroke="black"/>
                <path d="M 64,432 C 55.16936,432 48,424.83064 48,416" fill="none" stroke="black"/>
                <path d="M 360,432 C 368.83064,432 376,424.83064 376,416" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="464,232 452,226.4 452,237.6" fill="black" transform="rotate(90,456,232)"/>
                <polygon class="arrowhead" points="384,160 372,154.4 372,165.6" fill="black" transform="rotate(0,376,160)"/>
                <polygon class="arrowhead" points="384,96 372,90.4 372,101.6" fill="black" transform="rotate(0,376,96)"/>
                <polygon class="arrowhead" points="328,432 316,426.4 316,437.6" fill="black" transform="rotate(180,320,432)"/>
                <polygon class="arrowhead" points="304,256 292,250.4 292,261.6" fill="black" transform="rotate(180,296,256)"/>
                <polygon class="arrowhead" points="272,408 260,402.4 260,413.6" fill="black" transform="rotate(90,264,408)"/>
                <polygon class="arrowhead" points="232,160 220,154.4 220,165.6" fill="black" transform="rotate(0,224,160)"/>
                <polygon class="arrowhead" points="168,408 156,402.4 156,413.6" fill="black" transform="rotate(90,160,408)"/>
                <polygon class="arrowhead" points="152,160 140,154.4 140,165.6" fill="black" transform="rotate(0,144,160)"/>
                <polygon class="arrowhead" points="120,256 108,250.4 108,261.6" fill="black" transform="rotate(180,112,256)"/>
                <polygon class="arrowhead" points="96,432 84,426.4 84,437.6" fill="black" transform="rotate(0,88,432)"/>
                <polygon class="arrowhead" points="88,232 76,226.4 76,237.6" fill="black" transform="rotate(90,80,232)"/>
                <polygon class="arrowhead" points="48,232 36,226.4 36,237.6" fill="black" transform="rotate(90,40,232)"/>
                <g class="text">
                  <text x="44" y="52">Signer</text>
                  <text x="408" y="52">TSA</text>
                  <text x="88" y="100">private-key</text>
                  <text x="272" y="100">nonce</text>
                  <text x="464" y="100">private-key</text>
                  <text x="272" y="148">Message</text>
                  <text x="96" y="164">datum</text>
                  <text x="180" y="164">hash</text>
                  <text x="272" y="164">Imprint</text>
                  <text x="456" y="180">L</text>
                  <text x="504" y="180">Clock</text>
                  <text x="264" y="228">protected</text>
                  <text x="64" y="260">Sign1</text>
                  <text x="264" y="260">TST</text>
                  <text x="464" y="260">timestamp</text>
                  <text x="376" y="340">unprotected</text>
                  <text x="48" y="372">[protected]</text>
                  <text x="160" y="372">[payload]</text>
                  <text x="264" y="372">[signature]</text>
                  <text x="376" y="372">...</text>
                  <text x="184" y="436">rfc3161-ttc</text>
                  <text x="252" y="436">COSE</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
.--------.                                     .-----.
| Signer |                                     | TSA |                      
+--------+----------------------------------.  +-----+-------------.
|   .-------------.          .-------.      |  |   .-------------. |
|  / private-key /           | nonce +-------->+  / private-key /  |
| '-+-----------'            '-------'      |  | '------+------'   |
|   |                       .---------.     |  |        |          |
|   |  .-------.   .----.   | Message |     |  |        |          |
|   |  + datum +->+ hash +->+ Imprint +------->+       .+.         |
|   |  '-+-----'   '----'   '---------'     |  |      | L | Clock  |
|   |    |                                  |  |       '+'         |
|   |    |               .-------------.    |  |        |          |
|   v    v               |  protected  |    |  |        v          |
|  .-------.             |   .-----.   |    |  |    .---------.    |
| |  Sign1  +<-----------+   | TST |<----------+   | timestamp |   |
|  '-+-----'             |   '-----'   |    |  |    '---------'    |
|    |                   '-------------'    |  |                   |
'----|--------------------------------------'  '-------------------'  
     |                                 .-------------.    
     +-------------+-----------+       | unprotected |    
     |             |            |      |   .-----.   |    
[protected]    [payload]   [signature] |   | ... |   |
     |             |            |      |   '-----'   |
     |             v            v      '------+------'
     |     .-------+------------+-----.       |
      '--->+     rfc3161-ttc COSE     +<-----'
           '--------------------------'
]]></artwork>
          </artset>
        </figure>
      </section>
      <section anchor="sec-cose-then-timestamp">
        <name>COSE then Timestamp (CTT)</name>
        <t><xref target="fig-cose-then-timestamp"/> shows the case where the signature(s) field of the signed COSE object is digested and submitted to a TSA to be timestamped.
The obtained timestamp token is then added back as an unprotected header into the same COSE object.</t>
        <t>This mode is utilized when a record of the timing of the signature operation is desired.</t>
        <figure anchor="fig-cose-then-timestamp">
          <name>COSE, then Timestamp (CTT)</name>
          <artset>
            <artwork type="svg" align="center"><svg xmlns="http://www.w3.org/2000/svg" version="1.1" height="448" width="616" viewBox="0 0 616 448" class="diagram" text-anchor="middle" font-family="monospace" font-size="13px" stroke-linecap="round">
                <path d="M 8,32 L 8,288" fill="none" stroke="black"/>
                <path d="M 48,224 L 48,336" fill="none" stroke="black"/>
                <path d="M 48,368 L 48,400" fill="none" stroke="black"/>
                <path d="M 72,112 L 72,184" fill="none" stroke="black"/>
                <path d="M 80,32 L 80,64" fill="none" stroke="black"/>
                <path d="M 96,400 L 96,432" fill="none" stroke="black"/>
                <path d="M 160,320 L 160,336" fill="none" stroke="black"/>
                <path d="M 160,368 L 160,392" fill="none" stroke="black"/>
                <path d="M 168,80 L 168,112" fill="none" stroke="black"/>
                <path d="M 200,112 L 200,144" fill="none" stroke="black"/>
                <path d="M 224,176 L 224,224" fill="none" stroke="black"/>
                <path d="M 232,240 L 232,272" fill="none" stroke="black"/>
                <path d="M 264,80 L 264,112" fill="none" stroke="black"/>
                <path d="M 264,368 L 264,392" fill="none" stroke="black"/>
                <path d="M 280,80 L 280,112" fill="none" stroke="black"/>
                <path d="M 296,240 L 296,272" fill="none" stroke="black"/>
                <path d="M 304,176 L 304,224" fill="none" stroke="black"/>
                <path d="M 312,112 L 312,128" fill="none" stroke="black"/>
                <path d="M 312,400 L 312,432" fill="none" stroke="black"/>
                <path d="M 320,304 L 320,384" fill="none" stroke="black"/>
                <path d="M 344,80 L 344,112" fill="none" stroke="black"/>
                <path d="M 352,336 L 352,368" fill="none" stroke="black"/>
                <path d="M 360,64 L 360,200" fill="none" stroke="black"/>
                <path d="M 360,216 L 360,248" fill="none" stroke="black"/>
                <path d="M 360,264 L 360,288" fill="none" stroke="black"/>
                <path d="M 376,384 L 376,400" fill="none" stroke="black"/>
                <path d="M 384,32 L 384,288" fill="none" stroke="black"/>
                <path d="M 400,336 L 400,368" fill="none" stroke="black"/>
                <path d="M 432,32 L 432,64" fill="none" stroke="black"/>
                <path d="M 432,304 L 432,344" fill="none" stroke="black"/>
                <path d="M 432,360 L 432,384" fill="none" stroke="black"/>
                <path d="M 456,112 L 456,160" fill="none" stroke="black"/>
                <path d="M 456,192 L 456,232" fill="none" stroke="black"/>
                <path d="M 464,288 L 464,336" fill="none" stroke="black"/>
                <path d="M 544,64 L 544,288" fill="none" stroke="black"/>
                <path d="M 8,32 L 80,32" fill="none" stroke="black"/>
                <path d="M 384,32 L 432,32" fill="none" stroke="black"/>
                <path d="M 8,64 L 360,64" fill="none" stroke="black"/>
                <path d="M 384,64 L 544,64" fill="none" stroke="black"/>
                <path d="M 40,80 L 152,80" fill="none" stroke="black"/>
                <path d="M 168,80 L 264,80" fill="none" stroke="black"/>
                <path d="M 280,80 L 344,80" fill="none" stroke="black"/>
                <path d="M 416,80 L 528,80" fill="none" stroke="black"/>
                <path d="M 24,112 L 136,112" fill="none" stroke="black"/>
                <path d="M 168,112 L 264,112" fill="none" stroke="black"/>
                <path d="M 280,112 L 344,112" fill="none" stroke="black"/>
                <path d="M 400,112 L 512,112" fill="none" stroke="black"/>
                <path d="M 72,144 L 296,144" fill="none" stroke="black"/>
                <path d="M 224,176 L 304,176" fill="none" stroke="black"/>
                <path d="M 40,192 L 104,192" fill="none" stroke="black"/>
                <path d="M 160,192 L 184,192" fill="none" stroke="black"/>
                <path d="M 120,208 L 136,208" fill="none" stroke="black"/>
                <path d="M 200,208 L 216,208" fill="none" stroke="black"/>
                <path d="M 304,208 L 376,208" fill="none" stroke="black"/>
                <path d="M 40,224 L 104,224" fill="none" stroke="black"/>
                <path d="M 160,224 L 184,224" fill="none" stroke="black"/>
                <path d="M 224,224 L 304,224" fill="none" stroke="black"/>
                <path d="M 232,240 L 296,240" fill="none" stroke="black"/>
                <path d="M 432,240 L 496,240" fill="none" stroke="black"/>
                <path d="M 296,256 L 376,256" fill="none" stroke="black"/>
                <path d="M 232,272 L 296,272" fill="none" stroke="black"/>
                <path d="M 432,272 L 496,272" fill="none" stroke="black"/>
                <path d="M 8,288 L 40,288" fill="none" stroke="black"/>
                <path d="M 56,288 L 360,288" fill="none" stroke="black"/>
                <path d="M 384,288 L 544,288" fill="none" stroke="black"/>
                <path d="M 320,304 L 432,304" fill="none" stroke="black"/>
                <path d="M 48,320 L 248,320" fill="none" stroke="black"/>
                <path d="M 352,336 L 400,336" fill="none" stroke="black"/>
                <path d="M 408,352 L 448,352" fill="none" stroke="black"/>
                <path d="M 352,368 L 400,368" fill="none" stroke="black"/>
                <path d="M 320,384 L 432,384" fill="none" stroke="black"/>
                <path d="M 96,400 L 312,400" fill="none" stroke="black"/>
                <path d="M 64,416 L 88,416" fill="none" stroke="black"/>
                <path d="M 320,416 L 360,416" fill="none" stroke="black"/>
                <path d="M 96,432 L 312,432" fill="none" stroke="black"/>
                <path d="M 24,112 L 40,80" fill="none" stroke="black"/>
                <path d="M 136,112 L 152,80" fill="none" stroke="black"/>
                <path d="M 400,112 L 416,80" fill="none" stroke="black"/>
                <path d="M 512,112 L 528,80" fill="none" stroke="black"/>
                <path d="M 296,144 C 304.83064,144 312,136.83064 312,128" fill="none" stroke="black"/>
                <path d="M 456,160 C 447.16936,160 440,167.16936 440,176" fill="none" stroke="black"/>
                <path d="M 456,160 C 464.83064,160 472,167.16936 472,176" fill="none" stroke="black"/>
                <path d="M 40,192 C 31.16936,192 24,199.16936 24,208" fill="none" stroke="black"/>
                <path d="M 104,192 C 112.83064,192 120,199.16936 120,208" fill="none" stroke="black"/>
                <path d="M 160,192 C 151.16936,192 144,199.16936 144,208" fill="none" stroke="black"/>
                <path d="M 184,192 C 192.83064,192 200,199.16936 200,208" fill="none" stroke="black"/>
                <path d="M 456,192 C 447.16936,192 440,184.83064 440,176" fill="none" stroke="black"/>
                <path d="M 456,192 C 464.83064,192 472,184.83064 472,176" fill="none" stroke="black"/>
                <path d="M 40,224 C 31.16936,224 24,216.83064 24,208" fill="none" stroke="black"/>
                <path d="M 104,224 C 112.83064,224 120,216.83064 120,208" fill="none" stroke="black"/>
                <path d="M 160,224 C 151.16936,224 144,216.83064 144,208" fill="none" stroke="black"/>
                <path d="M 184,224 C 192.83064,224 200,216.83064 200,208" fill="none" stroke="black"/>
                <path d="M 432,240 C 423.16936,240 416,247.16936 416,256" fill="none" stroke="black"/>
                <path d="M 496,240 C 504.83064,240 512,247.16936 512,256" fill="none" stroke="black"/>
                <path d="M 432,272 C 423.16936,272 416,264.83064 416,256" fill="none" stroke="black"/>
                <path d="M 496,272 C 504.83064,272 512,264.83064 512,256" fill="none" stroke="black"/>
                <path d="M 248,320 C 256.83064,320 264,327.16936 264,336" fill="none" stroke="black"/>
                <path d="M 448,352 C 456.83064,352 464,344.83064 464,336" fill="none" stroke="black"/>
                <path d="M 64,416 C 55.16936,416 48,408.83064 48,400" fill="none" stroke="black"/>
                <path d="M 360,416 C 368.83064,416 376,408.83064 376,400" fill="none" stroke="black"/>
                <polygon class="arrowhead" points="464,232 452,226.4 452,237.6" fill="black" transform="rotate(90,456,232)"/>
                <polygon class="arrowhead" points="416,352 404,346.4 404,357.6" fill="black" transform="rotate(180,408,352)"/>
                <polygon class="arrowhead" points="384,256 372,250.4 372,261.6" fill="black" transform="rotate(0,376,256)"/>
                <polygon class="arrowhead" points="384,208 372,202.4 372,213.6" fill="black" transform="rotate(0,376,208)"/>
                <polygon class="arrowhead" points="328,416 316,410.4 316,421.6" fill="black" transform="rotate(180,320,416)"/>
                <polygon class="arrowhead" points="272,392 260,386.4 260,397.6" fill="black" transform="rotate(90,264,392)"/>
                <polygon class="arrowhead" points="224,208 212,202.4 212,213.6" fill="black" transform="rotate(0,216,208)"/>
                <polygon class="arrowhead" points="168,392 156,386.4 156,397.6" fill="black" transform="rotate(90,160,392)"/>
                <polygon class="arrowhead" points="144,208 132,202.4 132,213.6" fill="black" transform="rotate(0,136,208)"/>
                <polygon class="arrowhead" points="96,416 84,410.4 84,421.6" fill="black" transform="rotate(0,88,416)"/>
                <polygon class="arrowhead" points="80,184 68,178.4 68,189.6" fill="black" transform="rotate(90,72,184)"/>
                <g class="text">
                  <text x="44" y="52">Signer</text>
                  <text x="408" y="52">TSA</text>
                  <text x="88" y="100">private-key</text>
                  <text x="216" y="100">protected</text>
                  <text x="312" y="100">datum</text>
                  <text x="464" y="100">private-key</text>
                  <text x="456" y="180">L</text>
                  <text x="504" y="180">Clock</text>
                  <text x="264" y="196">Message</text>
                  <text x="72" y="212">Sign1</text>
                  <text x="172" y="212">hash</text>
                  <text x="264" y="212">Imprint</text>
                  <text x="264" y="260">nonce</text>
                  <text x="464" y="260">timestamp</text>
                  <text x="376" y="324">unprotected</text>
                  <text x="48" y="356">[protected]</text>
                  <text x="160" y="356">[payload]</text>
                  <text x="264" y="356">[signature]</text>
                  <text x="376" y="356">TST</text>
                  <text x="184" y="420">rfc3161-ctt</text>
                  <text x="252" y="420">COSE</text>
                </g>
              </svg>
            </artwork>
            <artwork type="ascii-art" align="center"><![CDATA[
.--------.                                     .-----.
| Signer |                                     | TSA |                      
+--------+----------------------------------.  +-----+-------------.
|   .-------------. .-----------. .-------. |  |   .-------------. |
|  / private-key /  | protected | | datum | |  |  / private-key /  |
| '-----+-------'   '---+-------' '---+---' |  | '------+------'   |
|       |               |             |     |  |        |          |
|       +---------------+------------'      |  |        |          |
|       |                                   |  |       .+.         |
|       v                  .---------.      |  |      | L | Clock  |
|  .---------.    .----.   | Message |      |  |       '+'         |
| |   Sign1   +->+ hash +->+ Imprint +-------->|        |          |
|  '-+-------'    '----'   '---------'      |  |        v          |
|    |                      .-------.       |  |    .---------.    |
|    |                      | nonce +--------->|   | timestamp |   |
|    |                      '-------'       |  |    '---------'    |
'----|--------------------------------------'  '---------+---------'  
     |                                 .-------------.   |
     +-------------+-----------+       | unprotected |   |
     |             |            |      |   .-----.   |   |
[protected]    [payload]   [signature] |   | TST |<-----'
     |             |            |      |   '-----'   |
     |             v            v      '------+------'
     |     .-------+------------+-----.       |
      '--->+     rfc3161-ctt COSE     +<-----'
           '--------------------------'
]]></artwork>
          </artset>
        </figure>
        <t>In this context, timestamp tokens are similar to a countersignature made by the TSA.</t>
      </section>
    </section>
    <section anchor="sec-tst-hdr">
      <name>RFC 3161 Time-Stamp Tokens COSE Header Parameters</name>
      <t>The two modes described in <xref target="sec-timestamp-then-cose"/> and <xref target="sec-cose-then-timestamp"/> use different inputs into the timestamping machinery, and consequently create different kinds of binding between COSE and TST.
To clearly separate their semantics two different COSE header parameters are defined as described in the following subsections.</t>
      <section anchor="sec-tst-hdr-ttc">
        <name><tt>3161-ttc</tt></name>
        <t>The <tt>3161-ttc</tt> COSE <em>protected</em> header parameter <bcp14>MUST</bcp14> be used for the mode described in <xref target="sec-timestamp-then-cose"/>.</t>
        <t>The <tt>3161-ttc</tt> protected header parameter contains a DER-encoded RFC3161 <tt>TimeStampToken</tt> wrapped in a CBOR byte string (Major type 2).</t>
        <t>The <tt>MessageImprint</tt> sent to the TSA (<xref section="2.4" sectionFormat="of" target="RFC3161"/>) <bcp14>MUST</bcp14> be the hash of the payload of the COSE signed object.
This does not include the <tt>bstr</tt>-wrapping, only the payload bytes.</t>
        <t>To minimize dependencies, the hash algorithm used for signing the COSE message <bcp14>SHOULD</bcp14> be the same as the algorithm used in the RFC3161 MessageImprint.</t>
      </section>
      <section anchor="sec-tst-hdr-ctt">
        <name><tt>3161-ctt</tt></name>
        <t>The <tt>3161-ctt</tt> COSE <em>unprotected</em> header parameter <bcp14>MUST</bcp14> be used for the mode described in <xref target="sec-cose-then-timestamp"/>.</t>
        <t>The <tt>3161-ctt</tt> unprotected header parameter contains a DER-encoded RFC3161 <tt>TimeStampToken</tt> wrapped in a CBOR byte string (Major type 2).</t>
        <t>The <tt>MessageImprint</tt> sent in the request to the TSA <bcp14>MUST</bcp14> be:</t>
        <ul spacing="normal">
          <li>
            <t>the hash of the CBOR-encoded signature field of the <tt>COSE_Sign1</tt> message, or</t>
          </li>
          <li>
            <t>the hash of the CBOR-encoded signatures field of the <tt>COSE_Sign</tt> message.</t>
          </li>
        </ul>
        <t>In either case, to minimize dependencies, the hash algorithm <bcp14>SHOULD</bcp14> be the same as the algorithm used for signing the COSE message.
This may not be possible if the timestamp token has been obtained outside the processing context in which the COSE object is assembled.</t>
        <t>Refer to <xref target="ctt-sign1"/> and <xref target="ctt-sign"/> for concrete examples of <tt>MessageImprint</tt> computation.</t>
        <section anchor="ctt-sign1">
          <name> <tt>MessageImprint</tt> Computation for <tt>COSE_Sign1</tt></name>
          <t>Using as an example the <tt>COSE_Sign1</tt> message</t>
          <sourcecode type="cbor-diag"><![CDATA[
18(
  [
    / protected h'a10126' / << {
        / alg / 1:-7 / ECDSA 256 /
      } >>,
    / unprotected / {
      / kid / 4:'11'
    },
    / payload / 'This is the content.',
    / signature / h'8eb33e4ca31d1c465ab05aac34cc6b23d58fef5c083106c4
d25a91aef0b0117e2af9a291aa32e14ab834dc56ed2a223444547e01f11d3b0916e5
a4c345cacb36'
  ]
)
]]></sourcecode>
          <t>then the <tt>bstr</tt>-wrapped <tt>signature</tt></t>
          <sourcecode type="cbor-pretty"><![CDATA[
58 40                                     # bytes(64)
   8eb33e4ca31d1c465ab05aac34cc6b23
   d58fef5c083106c4d25a91aef0b0117e
   2af9a291aa32e14ab834dc56ed2a2234
   44547e01f11d3b0916e5a4c345cacb36
]]></sourcecode>
          <t>(including the heading bytes <tt>0x5840</tt>) is used as input for computing the <tt>MessageImprint</tt>.</t>
          <t>When using SHA-256, the resulting <tt>MessageImprint</tt> is</t>
          <sourcecode type="asn1"><![CDATA[
SEQUENCE {
  SEQUENCE {
    OBJECT IDENTIFIER sha-256 (2 16 840 1 101 3 4 2 1)
    NULL
    }
  OCTET STRING
    44 C2 41 9D 13 1D 53 D5 55 84 B5 DD 33 B7 88 C2
    4E 55 1C 6D 44 B1 AF C8 B2 B8 5E 69 54 76 3B 4E
  }
]]></sourcecode>
        </section>
        <section anchor="ctt-sign">
          <name> <tt>MessageImprint</tt> Computation for <tt>COSE_Sign</tt></name>
          <t>Using as an example the <tt>COSE_Sign</tt> message</t>
          <sourcecode type="cbor-diag"><![CDATA[
98(
  [
    / protected / h'',
    / unprotected / {},
    / payload / 'This is the content.',
    / signatures / [
      [
        / protected h'a10126' / << {
            / alg / 1:-7 / ECDSA 256 /
          } >>,
        / unprotected / {
          / kid / 4:'11'
        },
        / signature / h'e2aeafd40d69d19dfe6e52077c5d7ff4e408282cbefb
5d06cbf414af2e19d982ac45ac98b8544c908b4507de1e90b717c3d34816fe926a2b
98f53afd2fa0f30a'
      ]
    ]
  ]
)
]]></sourcecode>
          <t>then the <tt>signatures</tt> array</t>
          <sourcecode type="cbor-pretty"><![CDATA[
81                                        # array(1)
   83                                     # array(3)
      43                                  # bytes(3)
         a10126
      a1                                  # map(1)
         04                               # unsigned(4)
         42                               # bytes(2)
            3131                          # "11"
      58 40                               # bytes(64)
         e2aeafd40d69d19dfe6e52077c5d7ff4
         e408282cbefb5d06cbf414af2e19d982
         ac45ac98b8544c908b4507de1e90b717
         c3d34816fe926a2b98f53afd2fa0f30a
]]></sourcecode>
          <t>is used as input for computing the <tt>MessageImprint</tt>.</t>
          <t>When using SHA-256, the resulting <tt>MessageImprint</tt> is</t>
          <sourcecode type="asn1"><![CDATA[
SEQUENCE {
  SEQUENCE {
    OBJECT IDENTIFIER sha-256 (2 16 840 1 101 3 4 2 1)
    NULL
    }
  OCTET STRING
    80 3F AD A2 91 2D 6B 7A 83 3A 27 BD 96 1C C0 5B
    C1 CC 16 47 59 B1 C5 6F 7A A7 71 E4 E2 15 26 F7
  }
]]></sourcecode>
        </section>
      </section>
    </section>
    <section anchor="timestamp-processing">
      <name>Timestamp Processing</name>
      <t>RFC 3161 timestamp tokens use CMS as signature envelope format.
<xref target="STD70"/> provides the details about signature verification, and <xref target="RFC3161"/> provides the details specific to timestamp token validation.
The payload of the signed timestamp token is the TSTInfo structure defined in <xref target="RFC3161"/>, which contains the MessageImprint that was sent to the TSA.
The hash algorithm is contained in the MessageImprint structure, together with the hash itself.</t>
      <t>As part of the signature verification, the receiver <bcp14>MUST</bcp14> make sure that the MessageImprint in the embedded timestamp token matches a hash of either the payload, signature, or signature fields, depending on the mode of use and type of COSE structure.</t>
      <t><xref section="B" sectionFormat="of" target="RFC3161"/> provides an example that illustrates how timestamp tokens can be used to verify signatures of a timestamped message when utilizing X.509 certificates.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>Please review the Security Considerations section in <xref target="RFC3161"/>; these considerations apply to this document as well.</t>
      <t>Also review the Security Considerations section in <xref target="STD96"/>; these considerations apply to this document as well, especially the need for implementations to protect private key material.</t>
      <t>The following scenario assumes an attacker can manipulate the clocks on the COSE signer and its relying parties, but not the TSA.
It is also assumed that the TSA is a trusted third party, so the attacker cannot impersonate the TSA and create valid timestamp tokens.
In such a setting, any tampering with the COSE signer's clock does not have an impact because, once the timestamp is obtained from the TSA, it becomes the only reliable source of time.
However, in both CTT and TTC mode, a denial of service can occur if the attacker can adjust the relying party's clock so that the CMS validation fails.
This could disrupt the timestamp validation.</t>
      <t>In CTT mode, an attacker could manipulate the unprotected header by removing or replacing the timestamp.
To avoid that, the signed COSE object should be integrity protected during transit and at rest.</t>
      <t>In TTC mode, the TSA is given an opaque identifier (a cryptographic hash value) for the payload.
While this means that the content of the payload is not directly revealed, to prevent comparison with known payloads or disclosure of identical payloads being used over time, the payload would need to be armored, e.g., with a nonce that is shared with the recipient of the header parameter but not the TSA.
Such a mechanism can be employed inside the ones described in this specification, but is out of scope for this document.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>IANA is requested to add the COSE header parameters defined in <xref target="tbl-new-hdrs"/> to the "COSE Header Parameters" registry <xref target="IANA.cose_header-parameters"/>.</t>
      <table align="left" anchor="tbl-new-hdrs">
        <name>New COSE Header Parameters</name>
        <thead>
          <tr>
            <th align="left">Name</th>
            <th align="left">Label</th>
            <th align="left">Value Type</th>
            <th align="left">Value Registry</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <tt>3161-ttc</tt></td>
            <td align="left">TBD1</td>
            <td align="left">bstr</td>
            <td align="left">-</td>
            <td align="left">RFC 3161 timestamp token: Timestamp then COSE</td>
            <td align="left">RFCthis, <xref target="sec-tst-hdr-ttc"/></td>
          </tr>
          <tr>
            <td align="left">
              <tt>3161-ctt</tt></td>
            <td align="left">TBD2</td>
            <td align="left">bstr</td>
            <td align="left">-</td>
            <td align="left">RFC 3161 timestamp token: COSE then Timestamp</td>
            <td align="left">RFCthis, <xref target="sec-tst-hdr-ctt"/></td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references anchor="sec-normative-references">
      <name>Normative References</name>
      <reference anchor="STD70">
        <front>
          <title>Cryptographic Message Syntax (CMS)</title>
          <author fullname="R. Housley" initials="R." surname="Housley"/>
          <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>
        <seriesInfo name="STD" value="70"/>
        <seriesInfo name="RFC" value="5652"/>
        <seriesInfo name="DOI" value="10.17487/RFC5652"/>
      </reference>
      <reference anchor="RFC3161">
        <front>
          <title>Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)</title>
          <author fullname="C. Adams" initials="C." surname="Adams"/>
          <author fullname="P. Cain" initials="P." surname="Cain"/>
          <author fullname="D. Pinkas" initials="D." surname="Pinkas"/>
          <author fullname="R. Zuccherato" initials="R." surname="Zuccherato"/>
          <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>
        <seriesInfo name="RFC" value="3161"/>
        <seriesInfo name="DOI" value="10.17487/RFC3161"/>
      </reference>
      <reference anchor="STD96">
        <front>
          <title>CBOR Object Signing and Encryption (COSE): Structures and Process</title>
          <author fullname="J. Schaad" initials="J." surname="Schaad"/>
          <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>
        <seriesInfo name="STD" value="96"/>
        <seriesInfo name="RFC" value="9052"/>
        <seriesInfo name="DOI" value="10.17487/RFC9052"/>
      </reference>
      <reference anchor="RFC2119">
        <front>
          <title>Key words for use in RFCs to Indicate Requirement Levels</title>
          <author fullname="S. Bradner" initials="S." surname="Bradner"/>
          <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>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="2119"/>
        <seriesInfo name="DOI" value="10.17487/RFC2119"/>
      </reference>
      <reference anchor="RFC8174">
        <front>
          <title>Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words</title>
          <author fullname="B. Leiba" initials="B." surname="Leiba"/>
          <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>
        <seriesInfo name="BCP" value="14"/>
        <seriesInfo name="RFC" value="8174"/>
        <seriesInfo name="DOI" value="10.17487/RFC8174"/>
      </reference>
      <reference anchor="IANA.cose_header-parameters" target="https://www.iana.org/assignments/cose">
        <front>
          <title>COSE Header Parameters</title>
          <author>
            <organization>IANA</organization>
          </author>
        </front>
      </reference>
    </references>
    <?line 380?>

<section anchor="examples">
      <name>Examples</name>
      <section anchor="ttc">
        <name>TTC</name>
        <t>The payload</t>
        <artwork><![CDATA[
This is the content.
]]></artwork>
        <t>is hashed using SHA-256 to create the <tt>TimeStampReq</tt> object</t>
        <sourcecode type="asn1"><![CDATA[
SEQUENCE {
  INTEGER 1
  SEQUENCE {
    SEQUENCE {
      OBJECT IDENTIFIER sha-256 (2 16 840 1 101 3 4 2 1)
      NULL
      }
    OCTET STRING
      09 E6 38 D4 AA 95 FD 72 71 86 62 03 59 53 03 BC
      E2 32 F4 62 A9 4D 38 E3 93 77 3C D3 AA E3 F6 B0
    }
  BOOLEAN TRUE
  }
]]></sourcecode>
        <t>which is sent to the Time Stamping Authority.</t>
        <t>A <tt>TimeStampResp</tt> is returned which contains the <tt>TimeStampToken</tt></t>
        <sourcecode type="asn1"><![CDATA[
SEQUENCE {
  OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2)
  [0] {
    SEQUENCE {
      INTEGER 3
      SET {
        SEQUENCE {
          OBJECT IDENTIFIER sha-512 (2 16 840 1 101 3 4 2 3)
          NULL
          }
        }
      SEQUENCE {
        OBJECT IDENTIFIER tSTInfo (1 2 840 113549 1 9 16 1 4)
        [0] {
          OCTET STRING, encapsulates {
            SEQUENCE {
              INTEGER 1
              OBJECT IDENTIFIER '1 2 3 4 1'
              SEQUENCE {
                SEQUENCE {
                  OBJECT IDENTIFIER sha-256 (2 16 840 1 101 3 4 2 1)
                  NULL
                  }
                OCTET STRING
                  09 E6 38 D4 AA 95 FD 72 71 86 62 03 59 53 03 BC
                  E2 32 F4 62 A9 4D 38 E3 93 77 3C D3 AA E3 F6 B0
                }
              INTEGER 85048992
              GeneralizedTime 18/01/2025 11:20:06 GMT
              BOOLEAN TRUE
[...]
]]></sourcecode>
        <t>The contents of the <tt>TimeStampToken</tt> are <tt>bstr</tt>-wrapped and added to the protected headers bucket which is then signed alongside the original payload to obtain the <tt>COSE_Sign1</tt> object</t>
        <sourcecode type="cbor-diag"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

18([
        <<{1: -7, 258: h'\
3082154906092a864886f70d010702a082153a30821536020103310f300d06096086\
48016503040203050030820184060b2a864886f70d0109100104a08201730482016f\
3082016b02010106042a0304013031300d06096086480165030402010500042009e6\
38d4aa95fd7271866203595303bce232f462a94d38e393773cd3aae3f6b002040511\
bea0180f32303235303131383131323030365a0101ffa0820111a482010d30820109\
3111300f060355040a13084672656520545341310c300a060355040b130354534131\
763074060355040d136d54686973206365727469666963617465206469676974616c\
6c79207369676e7320646f63756d656e747320616e642074696d65207374616d7020\
7265717565737473206d616465207573696e672074686520667265657473612e6f72\
67206f6e6c696e65207365727669636573311830160603550403130f7777772e6672\
65657473612e6f72673122302006092a864886f70d0109011613627573696c657a61\
7340676d61696c2e636f6d3112301006035504071309577565727a62757267310b30\
09060355040613024445310f300d0603550408130642617965726ea0821008308208\
01308205e9a003020102020900c1e986160da8e982300d06092a864886f70d01010d\
05003081953111300f060355040a130846726565205453413110300e060355040b13\
07526f6f74204341311830160603550403130f7777772e667265657473612e6f7267\
3122302006092a864886f70d0109011613627573696c657a617340676d61696c2e63\
6f6d3112301006035504071309577565727a62757267310f300d0603550408130642\
617965726e310b3009060355040613024445301e170d313630333133303135373339\
5a170d3236303331313031353733395a308201093111300f060355040a1308467265\
6520545341310c300a060355040b130354534131763074060355040d136d54686973\
206365727469666963617465206469676974616c6c79207369676e7320646f63756d\
656e747320616e642074696d65207374616d70207265717565737473206d61646520\
7573696e672074686520667265657473612e6f7267206f6e6c696e65207365727669\
636573311830160603550403130f7777772e667265657473612e6f72673122302006\
092a864886f70d0109011613627573696c657a617340676d61696c2e636f6d311230\
1006035504071309577565727a62757267310b3009060355040613024445310f300d\
0603550408130642617965726e30820222300d06092a864886f70d01010105000382\
020f003082020a0282020100b591048c4e486f34e9dc08627fc2375162236984b82c\
b130beff517cfc38f84bce5c65a874dab2621ae0bce7e33563e0ede934fd5f882315\
9f07848808227460c1ed88261706f4281334359dfbb81bd1353fc179610af1a8c8c8\
65dc00ea23b3a89be6bd03ba85a9ec827d60565905e22d6a584ed1380ae150280cee\
397e98a012f380464007862443bc077cb95f421af31712d9683cdb6dffbaf3c8ba5b\
a566ae523d459d6177346d4d840e27886b7c01c5b890d78a2e27bba8dd2f9a2812e1\
57d62f921c65962548069dcdb7d06de181de0e9570d66f87220ce28b628ab55906f3\
ee0c210f7051e8f4858af8b9a92d09e46af2d9cba5bfcfad168cdf604491a4b06603\
b114caf7031f065e7eeefa53c575f3490c059d2e32ddc76ac4d4c4c710683b97fd1b\
e591bc61055186d88f9a0391b307b6f91ed954daa36f9acd6a1e14aa2e4adf17464b\
54db18dbb6ffe30080246547370436ce4e77bae5de6fe0f3f9d6e7ffbeb461e794e9\
2fb0951f8aae61a412cce9b21074635c8be327ae1a0f6b4a646eb0f8463bc63bf845\
530435d19e802511ec9f66c3496952d8becb69b0aa4d4c41f60515fe7dcbb89319cd\
da59ba6aea4be3ceae718e6fcb6ccd7db9fc50bb15b12f3665b0aa307289c2e6dd4b\
111ce48ba2d9efdb5a6b9a506069334fb34f6fc7ae330f0b34208aac80df3266fdd9\
0465876ba2cb898d9505315b6e7b0203010001a38201db308201d730090603551d13\
04023000301d0603551d0e041604146e760b7b4e4f9ce160ca6d2ce927a2a294b377\
37301f0603551d23041830168014fa550d8c346651434cf7e7b3a76c95af7ae6a497\
300b0603551d0f0404030206c030160603551d250101ff040c300a06082b06010505\
070308306306082b0601050507010104573055302a06082b06010505073002861e68\
7474703a2f2f7777772e667265657473612e6f72672f7473612e637274302706082b\
06010505073001861b687474703a2f2f7777772e667265657473612e6f72673a3235\
363030370603551d1f0430302e302ca02aa0288626687474703a2f2f7777772e6672\
65657473612e6f72672f63726c2f726f6f745f63612e63726c3081c60603551d2004\
81be3081bb3081b80601003081b2303306082b060105050702011627687474703a2f\
2f7777772e667265657473612e6f72672f667265657473615f6370732e68746d6c30\
3206082b060105050702011626687474703a2f2f7777772e667265657473612e6f72\
672f667265657473615f6370732e706466304706082b06010505070202303b1a3946\
72656554534120747275737465642074696d657374616d70696e6720536f66747761\
72652061732061205365727669636520285361615329300d06092a864886f70d0101\
0d05000382020100a5c944e2c6fac0a14d930a7fd0a0b172b41fc1483c3e957c68a2\
bcd9b9764f1a950161fd72472d41a5eed277786203b5422240fb3a26cde176087b6f\
b1011df4cc19e2571aa4a051109665e94c46f50bd2adee6ac4137e251b25a39dabda\
451515d8ff9e07209e8ec20b7874f7e1a0ede7c00937fe84a334f8b3265ced2d8ed9\
df61396583677feb382c1ee3b23e6ea5f05df30de7b9f89005d25266f612f39c8b4f\
6daba6d7bfbac19632b90637329f52a6f066a10e43eaa81f849a6c5fe3fe8b5ea232\
75f687f2052e502ea6c30762a668cce07871dd8e97e315bba929e25589977a0a312c\
e96c5106b1437c779f2b361b182888f3ee8a234374fa063e956192627f7c43107396\
5d1260928eba009e803429ae324cf96f042354f37bca5afddc79f79346ab388bfc79\
f01dc9861254ea6cc129941076b83d20556f3be51326837f2876f7833b370e7c3d41\
0523827d4f53400c72218d75229ff10c6f8893a9a3a1c0c42bb4c898c13df41c7f65\
73b4fc56515971a610a7b0d2857c8225a9fb204eaceca2e8971aa1af87886a2ae3c7\
2fe0a0aae842980a77bef16b92115458090d982b5946603764e75a0ad3d11454b998\
6f678b9ab6afe8497033ae3abfd4eb43b7bc9dee68815949e6481582a82e785277f2\
282107efe390200e0508acb8ea82ea2505276f3c9da2a3d3b4ad38bbf8842bda36fc\
2448291f558dc02dd1e0308207ff308205e7a003020102020900c1e986160da8e980\
300d06092a864886f70d01010d05003081953111300f060355040a13084672656520\
5453413110300e060355040b1307526f6f74204341311830160603550403130f7777\
772e667265657473612e6f72673122302006092a864886f70d010901161362757369\
6c657a617340676d61696c2e636f6d3112301006035504071309577565727a627572\
67310f300d0603550408130642617965726e310b3009060355040613024445301e17\
0d3136303331333031353231335a170d3431303330373031353231335a3081953111\
300f060355040a130846726565205453413110300e060355040b1307526f6f742043\
41311830160603550403130f7777772e667265657473612e6f72673122302006092a\
864886f70d0109011613627573696c657a617340676d61696c2e636f6d3112301006\
035504071309577565727a62757267310f300d0603550408130642617965726e310b\
300906035504061302444530820222300d06092a864886f70d01010105000382020f\
003082020a0282020100b6028e0e3032f11110d964cda94b9d0278e1942ae913aaa5\
9907cda69793995bd9ac7e33bad9fe3704da1c01a98d21afe3f591a59d7067705167\
998f5016722e0ab462b21f439171d2cfcc4593f3735af794a5ab311f6c010c7898de\
33d75c4510ee76f4bd1d1498cf17d303f06a5dd9f796cc6ca9b657a56fe3ea4fefbe\
7ce6b6a18d3e35a30cee5ff170d1cf39a333d3fda8964d22db685b29e561be890f0a\
a845873b2e84ab26ab839ffe8fade9d23bb31e61d273cc9b880649185fabecfa0534\
600aba901b614e2e854582dea2226fc19cd7df52bed50d8777cd9988c053a3fc7dc3\
287a068a4ff12b713cd9803666e955385456ff38f80298cf6b93856e9224774a66cf\
1cdd11c2f8efd85203d7458b25664b13ed639cded4ff8113d6cc5353d2729473c3c3\
07157c722aa5b5dd0bfb2d6c38b1b93749c881ec60026d08951b3824bd71bacbce47\
3aebd636f0b918b4a2c8ff4694f07457af2d6f1cf82554d1770fd79ff5d314dcd104\
cddcabc94138056dfcf017e7eb8572fd52f70144f188da05f5823f58dd06297e7387\
bed2d772c13da8266601045fe412dd70986c0c987ba7344b9037387516d258e7885b\
51f8968b7f2601213bc4cb4c85f8ff0b84af6a988337cdfb81868f7ecf31dca6716d\
7ec2dd802c1672629e5c0052cb357dd29aafc43f615b3b1ff9d4e1ce08c71c73e1fe\
bb7dc56a33621329e9ed6c230203010001a382024e3082024a300c0603551d130405\
30030101ff300e0603551d0f0101ff0404030201c6301d0603551d0e04160414fa55\
0d8c346651434cf7e7b3a76c95af7ae6a4973081ca0603551d230481c23081bf8014\
fa550d8c346651434cf7e7b3a76c95af7ae6a497a1819ba481983081953111300f06\
0355040a130846726565205453413110300e060355040b1307526f6f742043413118\
30160603550403130f7777772e667265657473612e6f72673122302006092a864886\
f70d0109011613627573696c657a617340676d61696c2e636f6d3112301006035504\
071309577565727a62757267310f300d0603550408130642617965726e310b300906\
0355040613024445820900c1e986160da8e98030330603551d1f042c302a3028a026\
a0248622687474703a2f2f7777772e667265657473612e6f72672f726f6f745f6361\
2e63726c3081cf0603551d200481c73081c43081c1060a2b0601040181f224010130\
81b2303306082b060105050702011627687474703a2f2f7777772e66726565747361\
2e6f72672f667265657473615f6370732e68746d6c303206082b0601050507020116\
26687474703a2f2f7777772e667265657473612e6f72672f667265657473615f6370\
732e706466304706082b06010505070202303b1a3946726565545341207472757374\
65642074696d657374616d70696e6720536f66747761726520617320612053657276\
69636520285361615329303706082b06010505070101042b3029302706082b060105\
05073001861b687474703a2f2f7777772e667265657473612e6f72673a3235363030\
0d06092a864886f70d01010d0500038202010068af7ebf938562ef4ceb3b580be2fa\
f6cc35a26772962f3d95901fa5630c87d09198984ce8a06a33f8a9c282ed9f1cb11a\
c6c23e17108ee4efce6fb294de95c133262255725522ca61971d4a3b7f78250dfb8d\
4aeec0fb1959b164100520b9c10e64c62662e4ad4d0abae2298fc948fc4e99e8d9e6\
b8fdbe4404121ec7c1422eacb2c9d7328e07396e60b4f3bb803ad4a555c80fefb53f\
85e7764a0a9fb4afc399f4cd2f5fbf587105c6081cf3d05337b6bb7d1b010b749f48\
88c912f3696ba1b6902d77b7dfc046c04a0cc1ec4f8d185e2da55dfb7bc2a2036c62\
19246a4f99ddbb6f1f829398f3b803dc0ad90dcb59bef4c27c77404b99043b782718\
67991152c399f12cbfc4c625adc096355ae44e342100ec517a502e2f06f940b8d435\
99bbc1154f8ae761a0b0d555fb4a1391d4f3420af8dbf12f2d7ddb9d77dce1537804\
074af175e4f2d6d55b34b5d6f7dcbdd31730af56480d4c0cff143f9e83bc151866d0\
ba0f0bbdc47fe27864176bbd6c1ab85df325edf777889bc4471bf3fa73e56cc591e8\
b160cda7b0786a1ec04ac3b24fa2e28d5d19e5e48004d5e166a83c82ec6fd54fb385\
ebaf7133a85b52de46db5244e1c34ae8d36e712f9fce0d493d7d3edd586c6198e3ec\
3e6e96346f417ac9f221e0aff33a8f6a0b1ef4c023630b76adaa8d91433825ecc41c\
49a5b98b181c7da30e997ab954c73c2cd805afda993182038a308203860201013081\
a33081953111300f060355040a130846726565205453413110300e060355040b1307\
526f6f74204341311830160603550403130f7777772e667265657473612e6f726731\
22302006092a864886f70d0109011613627573696c657a617340676d61696c2e636f\
6d3112301006035504071309577565727a62757267310f300d060355040813064261\
7965726e310b3009060355040613024445020900c1e986160da8e982300d06096086\
480165030402030500a081b8301a06092a864886f70d010903310d060b2a864886f7\
0d0109100104301c06092a864886f70d010905310f170d3235303131383131323030\
365a302b060b2a864886f70d010910020c311c301a301830160414916da3d860ecca\
82e34bc59d1793e7e968875f14304f06092a864886f70d01090431420440d26c8a6d\
b748885b0cd9c4ff636cb5d3c7f81308ea3c0bd8f76ab2112b21c1ec762c8f0318ca\
477472ab2bfde5c9d25129a2b144734b1766c094d66d3aa24d19300d06092a864886\
f70d0101010500048202009808366698a20227b3a03017317dbcd3813c7ec8f29693\
9ef20082bcdb95e8ed0495f299c2c6484b2246ab81092c73d039b0e33647a9241df1\
35fd44b9860c26cc784463d292e79ce39d04c0cffb0f2fb7cc9220ca3cbe43b088e4\
355dd7fc38a22ef9ad80629b15cd82e861b57df8797a3968f760b0175151aa3dd2c3\
7aaf8361571441295157c063af57ee66031870d80f30696da7b130a0d07e8753d517\
3e773713e28eec29b6999e17e65de2b20a0d2a4c33bf0734d7463da3c67da1c76353\
028761f0f2eaab1525bc489525d6ed34b34ae00a7ce34ceefaa6df08026047e470e3\
09d0507832b65dad717287dcef8c250d7d7ddf677dd3a6c267c2d29c86e04653ce84\
f7376c2434e2e85ec0eeaf2031a5f8cb4025f13b67c3ed4062af46000dbb1e3b5699\
d14cb309c8cdabb736651b76957cb4392f9e2452a88233936e39bd23dae37eeee3de\
4733a1ce2545324deb8a2203eed8264e3d657e60479cc08fa93916c266dcd1027daa\
1afd091bde8bea923d92b6e17615eb9f83210c4f2b6fcecb918cfa638a75679aa3df\
b5f959edc50923ff70c0d45a647a714f01ea48d803f68bb5081c97a57dcbd00c15d9\
44ba3a89e126bec18b9f49c0225cab0c9e9a9b24de43e5e767b7512a525d909a52e5\
cb2d79f5221d4f056e60dafb1dcc6e46f6dd1bb553d8caa37ee6add7c1dc70796766\
                                      d126e88b37d69fec915aa3dd65'}>>,
        {4: '11'},
        'This is the content.',
        h'\
1b512caa05005b7a2329c1b92cc5447de3a387acc2537ec579d26d38c5be8740ed85\
        b8d3888630cc080b5eaaad12c029cde6117599565e63ca8485e927958682'
    ])
]]></sourcecode>
      </section>
      <section anchor="ctt">
        <name>CTT</name>
        <t>Starting with the following <tt>COSE_Sign1</tt> object</t>
        <sourcecode type="cbor-diag"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

18(
  [
    / protected h'a10126' / << {
        / alg / 1:-7 / ECDSA 256 /
      } >>,
    / unprotected / {
      / kid / 4:'11'
    },
    / payload / 'This is the content.',
    / signature / h'\
8eb33e4ca31d1c465ab05aac34cc6b23d58fef5c083106c4d25a91aef0b0117e2af9\
        a291aa32e14ab834dc56ed2a223444547e01f11d3b0916e5a4c345cacb36'
  ]
)
]]></sourcecode>
        <t>The CBOR-encoded signature field is hashed using SHA-256 to create the following <tt>TimeStampReq</tt> object</t>
        <sourcecode type="asn1"><![CDATA[
SEQUENCE {
  INTEGER 1
  SEQUENCE {
    SEQUENCE {
      OBJECT IDENTIFIER sha-256 (2 16 840 1 101 3 4 2 1)
      NULL
      }
    OCTET STRING
      44 C2 41 9D 13 1D 53 D5 55 84 B5 DD 33 B7 88 C2
      4E 55 1C 6D 44 B1 AF C8 B2 B8 5E 69 54 76 3B 4E
    }
  BOOLEAN TRUE
  }
]]></sourcecode>
        <t>which is sent to the Time Stamping Authority.</t>
        <t>A <tt>TimeStampResp</tt> is returned which contains the following <tt>TimeStampToken</tt></t>
        <sourcecode type="asn1"><![CDATA[
SEQUENCE {
  OBJECT IDENTIFIER signedData (1 2 840 113549 1 7 2)
  [0] {
    SEQUENCE {
      INTEGER 3
      SET {
        SEQUENCE {
          OBJECT IDENTIFIER sha-512 (2 16 840 1 101 3 4 2 3)
          NULL
          }
        }
      SEQUENCE {
        OBJECT IDENTIFIER tSTInfo (1 2 840 113549 1 9 16 1 4)
        [0] {
          OCTET STRING, encapsulates {
            SEQUENCE {
              INTEGER 1
              OBJECT IDENTIFIER '1 2 3 4 1'
              SEQUENCE {
                SEQUENCE {
                  OBJECT IDENTIFIER sha-256 (2 16 840 1 101 3 4 2 1)
                  NULL
                  }
                OCTET STRING
                  44 C2 41 9D 13 1D 53 D5 55 84 B5 DD 33 B7 88 C2
                  4E 55 1C 6D 44 B1 AF C8 B2 B8 5E 69 54 76 3B 4E
                }
              INTEGER 84895155
              GeneralizedTime 17/01/2025 18:29:13 GMT
              BOOLEAN TRUE
[...]
]]></sourcecode>
        <t>The contents of the <tt>TimeStampToken</tt> are <tt>bstr</tt>-wrapped and added to the unprotected headers bucket in the original <tt>COSE_Sign1</tt> object to obtain the following</t>
        <sourcecode type="cbor-diag"><![CDATA[
=============== NOTE: '\' line wrapping per RFC 8792 ================

18(
  [
    / protected h'a10126' / << {
        / alg / 1:-7 / ECDSA 256 /
      } >>,
    / unprotected / {
      / 3161-ctt / 259 : h'\
3082154906092a864886f70d010702a082153a30821536020103310f300d06096086\
48016503040203050030820184060b2a864886f70d0109100104a08201730482016f\
3082016b02010106042a0304013031300d06096086480165030402010500042044c2\
419d131d53d55584b5dd33b788c24e551c6d44b1afc8b2b85e6954763b4e0204050f\
65b3180f32303235303131373138323931335a0101ffa0820111a482010d30820109\
3111300f060355040a13084672656520545341310c300a060355040b130354534131\
763074060355040d136d54686973206365727469666963617465206469676974616c\
6c79207369676e7320646f63756d656e747320616e642074696d65207374616d7020\
7265717565737473206d616465207573696e672074686520667265657473612e6f72\
67206f6e6c696e65207365727669636573311830160603550403130f7777772e6672\
65657473612e6f72673122302006092a864886f70d0109011613627573696c657a61\
7340676d61696c2e636f6d3112301006035504071309577565727a62757267310b30\
09060355040613024445310f300d0603550408130642617965726ea0821008308208\
01308205e9a003020102020900c1e986160da8e982300d06092a864886f70d01010d\
05003081953111300f060355040a130846726565205453413110300e060355040b13\
07526f6f74204341311830160603550403130f7777772e667265657473612e6f7267\
3122302006092a864886f70d0109011613627573696c657a617340676d61696c2e63\
6f6d3112301006035504071309577565727a62757267310f300d0603550408130642\
617965726e310b3009060355040613024445301e170d313630333133303135373339\
5a170d3236303331313031353733395a308201093111300f060355040a1308467265\
6520545341310c300a060355040b130354534131763074060355040d136d54686973\
206365727469666963617465206469676974616c6c79207369676e7320646f63756d\
656e747320616e642074696d65207374616d70207265717565737473206d61646520\
7573696e672074686520667265657473612e6f7267206f6e6c696e65207365727669\
636573311830160603550403130f7777772e667265657473612e6f72673122302006\
092a864886f70d0109011613627573696c657a617340676d61696c2e636f6d311230\
1006035504071309577565727a62757267310b3009060355040613024445310f300d\
0603550408130642617965726e30820222300d06092a864886f70d01010105000382\
020f003082020a0282020100b591048c4e486f34e9dc08627fc2375162236984b82c\
b130beff517cfc38f84bce5c65a874dab2621ae0bce7e33563e0ede934fd5f882315\
9f07848808227460c1ed88261706f4281334359dfbb81bd1353fc179610af1a8c8c8\
65dc00ea23b3a89be6bd03ba85a9ec827d60565905e22d6a584ed1380ae150280cee\
397e98a012f380464007862443bc077cb95f421af31712d9683cdb6dffbaf3c8ba5b\
a566ae523d459d6177346d4d840e27886b7c01c5b890d78a2e27bba8dd2f9a2812e1\
57d62f921c65962548069dcdb7d06de181de0e9570d66f87220ce28b628ab55906f3\
ee0c210f7051e8f4858af8b9a92d09e46af2d9cba5bfcfad168cdf604491a4b06603\
b114caf7031f065e7eeefa53c575f3490c059d2e32ddc76ac4d4c4c710683b97fd1b\
e591bc61055186d88f9a0391b307b6f91ed954daa36f9acd6a1e14aa2e4adf17464b\
54db18dbb6ffe30080246547370436ce4e77bae5de6fe0f3f9d6e7ffbeb461e794e9\
2fb0951f8aae61a412cce9b21074635c8be327ae1a0f6b4a646eb0f8463bc63bf845\
530435d19e802511ec9f66c3496952d8becb69b0aa4d4c41f60515fe7dcbb89319cd\
da59ba6aea4be3ceae718e6fcb6ccd7db9fc50bb15b12f3665b0aa307289c2e6dd4b\
111ce48ba2d9efdb5a6b9a506069334fb34f6fc7ae330f0b34208aac80df3266fdd9\
0465876ba2cb898d9505315b6e7b0203010001a38201db308201d730090603551d13\
04023000301d0603551d0e041604146e760b7b4e4f9ce160ca6d2ce927a2a294b377\
37301f0603551d23041830168014fa550d8c346651434cf7e7b3a76c95af7ae6a497\
300b0603551d0f0404030206c030160603551d250101ff040c300a06082b06010505\
070308306306082b0601050507010104573055302a06082b06010505073002861e68\
7474703a2f2f7777772e667265657473612e6f72672f7473612e637274302706082b\
06010505073001861b687474703a2f2f7777772e667265657473612e6f72673a3235\
363030370603551d1f0430302e302ca02aa0288626687474703a2f2f7777772e6672\
65657473612e6f72672f63726c2f726f6f745f63612e63726c3081c60603551d2004\
81be3081bb3081b80601003081b2303306082b060105050702011627687474703a2f\
2f7777772e667265657473612e6f72672f667265657473615f6370732e68746d6c30\
3206082b060105050702011626687474703a2f2f7777772e667265657473612e6f72\
672f667265657473615f6370732e706466304706082b06010505070202303b1a3946\
72656554534120747275737465642074696d657374616d70696e6720536f66747761\
72652061732061205365727669636520285361615329300d06092a864886f70d0101\
0d05000382020100a5c944e2c6fac0a14d930a7fd0a0b172b41fc1483c3e957c68a2\
bcd9b9764f1a950161fd72472d41a5eed277786203b5422240fb3a26cde176087b6f\
b1011df4cc19e2571aa4a051109665e94c46f50bd2adee6ac4137e251b25a39dabda\
451515d8ff9e07209e8ec20b7874f7e1a0ede7c00937fe84a334f8b3265ced2d8ed9\
df61396583677feb382c1ee3b23e6ea5f05df30de7b9f89005d25266f612f39c8b4f\
6daba6d7bfbac19632b90637329f52a6f066a10e43eaa81f849a6c5fe3fe8b5ea232\
75f687f2052e502ea6c30762a668cce07871dd8e97e315bba929e25589977a0a312c\
e96c5106b1437c779f2b361b182888f3ee8a234374fa063e956192627f7c43107396\
5d1260928eba009e803429ae324cf96f042354f37bca5afddc79f79346ab388bfc79\
f01dc9861254ea6cc129941076b83d20556f3be51326837f2876f7833b370e7c3d41\
0523827d4f53400c72218d75229ff10c6f8893a9a3a1c0c42bb4c898c13df41c7f65\
73b4fc56515971a610a7b0d2857c8225a9fb204eaceca2e8971aa1af87886a2ae3c7\
2fe0a0aae842980a77bef16b92115458090d982b5946603764e75a0ad3d11454b998\
6f678b9ab6afe8497033ae3abfd4eb43b7bc9dee68815949e6481582a82e785277f2\
282107efe390200e0508acb8ea82ea2505276f3c9da2a3d3b4ad38bbf8842bda36fc\
2448291f558dc02dd1e0308207ff308205e7a003020102020900c1e986160da8e980\
300d06092a864886f70d01010d05003081953111300f060355040a13084672656520\
5453413110300e060355040b1307526f6f74204341311830160603550403130f7777\
772e667265657473612e6f72673122302006092a864886f70d010901161362757369\
6c657a617340676d61696c2e636f6d3112301006035504071309577565727a627572\
67310f300d0603550408130642617965726e310b3009060355040613024445301e17\
0d3136303331333031353231335a170d3431303330373031353231335a3081953111\
300f060355040a130846726565205453413110300e060355040b1307526f6f742043\
41311830160603550403130f7777772e667265657473612e6f72673122302006092a\
864886f70d0109011613627573696c657a617340676d61696c2e636f6d3112301006\
035504071309577565727a62757267310f300d0603550408130642617965726e310b\
300906035504061302444530820222300d06092a864886f70d01010105000382020f\
003082020a0282020100b6028e0e3032f11110d964cda94b9d0278e1942ae913aaa5\
9907cda69793995bd9ac7e33bad9fe3704da1c01a98d21afe3f591a59d7067705167\
998f5016722e0ab462b21f439171d2cfcc4593f3735af794a5ab311f6c010c7898de\
33d75c4510ee76f4bd1d1498cf17d303f06a5dd9f796cc6ca9b657a56fe3ea4fefbe\
7ce6b6a18d3e35a30cee5ff170d1cf39a333d3fda8964d22db685b29e561be890f0a\
a845873b2e84ab26ab839ffe8fade9d23bb31e61d273cc9b880649185fabecfa0534\
600aba901b614e2e854582dea2226fc19cd7df52bed50d8777cd9988c053a3fc7dc3\
287a068a4ff12b713cd9803666e955385456ff38f80298cf6b93856e9224774a66cf\
1cdd11c2f8efd85203d7458b25664b13ed639cded4ff8113d6cc5353d2729473c3c3\
07157c722aa5b5dd0bfb2d6c38b1b93749c881ec60026d08951b3824bd71bacbce47\
3aebd636f0b918b4a2c8ff4694f07457af2d6f1cf82554d1770fd79ff5d314dcd104\
cddcabc94138056dfcf017e7eb8572fd52f70144f188da05f5823f58dd06297e7387\
bed2d772c13da8266601045fe412dd70986c0c987ba7344b9037387516d258e7885b\
51f8968b7f2601213bc4cb4c85f8ff0b84af6a988337cdfb81868f7ecf31dca6716d\
7ec2dd802c1672629e5c0052cb357dd29aafc43f615b3b1ff9d4e1ce08c71c73e1fe\
bb7dc56a33621329e9ed6c230203010001a382024e3082024a300c0603551d130405\
30030101ff300e0603551d0f0101ff0404030201c6301d0603551d0e04160414fa55\
0d8c346651434cf7e7b3a76c95af7ae6a4973081ca0603551d230481c23081bf8014\
fa550d8c346651434cf7e7b3a76c95af7ae6a497a1819ba481983081953111300f06\
0355040a130846726565205453413110300e060355040b1307526f6f742043413118\
30160603550403130f7777772e667265657473612e6f72673122302006092a864886\
f70d0109011613627573696c657a617340676d61696c2e636f6d3112301006035504\
071309577565727a62757267310f300d0603550408130642617965726e310b300906\
0355040613024445820900c1e986160da8e98030330603551d1f042c302a3028a026\
a0248622687474703a2f2f7777772e667265657473612e6f72672f726f6f745f6361\
2e63726c3081cf0603551d200481c73081c43081c1060a2b0601040181f224010130\
81b2303306082b060105050702011627687474703a2f2f7777772e66726565747361\
2e6f72672f667265657473615f6370732e68746d6c303206082b0601050507020116\
26687474703a2f2f7777772e667265657473612e6f72672f667265657473615f6370\
732e706466304706082b06010505070202303b1a3946726565545341207472757374\
65642074696d657374616d70696e6720536f66747761726520617320612053657276\
69636520285361615329303706082b06010505070101042b3029302706082b060105\
05073001861b687474703a2f2f7777772e667265657473612e6f72673a3235363030\
0d06092a864886f70d01010d0500038202010068af7ebf938562ef4ceb3b580be2fa\
f6cc35a26772962f3d95901fa5630c87d09198984ce8a06a33f8a9c282ed9f1cb11a\
c6c23e17108ee4efce6fb294de95c133262255725522ca61971d4a3b7f78250dfb8d\
4aeec0fb1959b164100520b9c10e64c62662e4ad4d0abae2298fc948fc4e99e8d9e6\
b8fdbe4404121ec7c1422eacb2c9d7328e07396e60b4f3bb803ad4a555c80fefb53f\
85e7764a0a9fb4afc399f4cd2f5fbf587105c6081cf3d05337b6bb7d1b010b749f48\
88c912f3696ba1b6902d77b7dfc046c04a0cc1ec4f8d185e2da55dfb7bc2a2036c62\
19246a4f99ddbb6f1f829398f3b803dc0ad90dcb59bef4c27c77404b99043b782718\
67991152c399f12cbfc4c625adc096355ae44e342100ec517a502e2f06f940b8d435\
99bbc1154f8ae761a0b0d555fb4a1391d4f3420af8dbf12f2d7ddb9d77dce1537804\
074af175e4f2d6d55b34b5d6f7dcbdd31730af56480d4c0cff143f9e83bc151866d0\
ba0f0bbdc47fe27864176bbd6c1ab85df325edf777889bc4471bf3fa73e56cc591e8\
b160cda7b0786a1ec04ac3b24fa2e28d5d19e5e48004d5e166a83c82ec6fd54fb385\
ebaf7133a85b52de46db5244e1c34ae8d36e712f9fce0d493d7d3edd586c6198e3ec\
3e6e96346f417ac9f221e0aff33a8f6a0b1ef4c023630b76adaa8d91433825ecc41c\
49a5b98b181c7da30e997ab954c73c2cd805afda993182038a308203860201013081\
a33081953111300f060355040a130846726565205453413110300e060355040b1307\
526f6f74204341311830160603550403130f7777772e667265657473612e6f726731\
22302006092a864886f70d0109011613627573696c657a617340676d61696c2e636f\
6d3112301006035504071309577565727a62757267310f300d060355040813064261\
7965726e310b3009060355040613024445020900c1e986160da8e982300d06096086\
480165030402030500a081b8301a06092a864886f70d010903310d060b2a864886f7\
0d0109100104301c06092a864886f70d010905310f170d3235303131373138323931\
335a302b060b2a864886f70d010910020c311c301a301830160414916da3d860ecca\
82e34bc59d1793e7e968875f14304f06092a864886f70d010904314204405f98e6ad\
02a79c3209de2048fbf258d852df9f13c9ebef826154ef27fe4325a96d868c99e083\
8791ac37faf028647f94abab446f3a93a9a0f51431a6e3d36c34300d06092a864886\
f70d010101050004820200243d5af44af116c62c6053076eb6283a2b73beafa5411e\
aee73dcc273e1b6327ab917c75bdec1305d2680e899a160e2b42a05f330bdf44c54f\
1796ba538a3abfdab04cef3bba22ea4767bd30925c42c0ab91b5929b7a9aa99f3876\
f5c8b1da1a98c7cb1f959394f9d707fa7ec04fb6943059cc98d04653b6f8e967a1eb\
29269caca57c9fdd5294b54d595b58541a9ec14b5a0e9484573c5568b4943a7df4ff\
c101cd807d66f3a869b363fdd87be9854a8260c0877acccf3b42618b8948191ff36e\
999842c2569c44f189d8ab9f587bb54222be7d20926b3312882352efe5d50f46647a\
149b4e0c59cbaaddd5ba0ce22715e4ee09c82bee3a83dc86d85192912ecfb005ce0e\
b28a6549f92aa8ae9beb63eb8fadabe7eca3be5ccc6b2cb4e55d803fc76682bf82b1\
de06e97ed9a272ded198f0370cea6f59d2c1927f2c0667308fedf41ac565d3333dec\
5065daddd2c89d75261f52bfad5f87b48140f39ff12ef0c4d571085f72d94eb0a9d8\
d65bf5ece1cad4e65452d8abe083f60ff977f247df79c263bbd32bdc7c5aae9da84d\
a7d1a93b4193bd1f287a0a32c06c015d66cdf36b29d2b289c1484e720982190eef9c\
2cc58c4fac9bd99089d1ad6960c5d06c992c4936e5b22495743dfbd1fda6ed2475b3\
d445fd8dde40bb09e624c77d5d97faf1a88b44dda8ce7735f2482f822acf68027e6b\
                                         ca81532e740cb0824ca501504b',
      / kid / 4:'11'
    },
    / payload / 'This is the content.',
    / signature / h'8eb33e4ca31d1c465ab05aac34cc6b23d58fef5c083106c4
d25a91aef0b0117e2af9a291aa32e14ab834dc56ed2a223444547e01f11d3b0916e5
a4c345cacb36'
  ]
)
]]></sourcecode>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The editors would like to thank
Carl Wallace,
Carsten Bormann,
Francesca Palombini,
Leonard Rosenthol,
Linda Dunbar,
Michael B. Jones,
Michael Prorock,
Orie Steele,
Shuping Peng,
Steve Lasker,
and
Yingzhen Qu
for their reviews and comments.</t>
    </section>
    <section anchor="contributors" numbered="false" toc="include" removeInRFC="false">
      <name>Contributors</name>
      <contact initials="C." surname="Bormann" fullname="Carsten Bormann">
        <organization/>
        <address>
          <email>cabo@tzi.org</email>
        </address>
      </contact>
      <t>Carsten contributed part of the security considerations.</t>
      <contact initials="O." surname="Steele" fullname="Orie Steele">
        <organization/>
        <address>
          <email>orie@transmute.industries</email>
        </address>
      </contact>
      <t>Orie contributed an improved version of the diagrams.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
G89zfjvzTxE28ax3BL35zz0Q7tABNNkV2X6vOskBIMi+jEl+ycLYc9h9g5DI
+RGPoHFhzu49+/Hs/N5+81/2/EX6/vL0H3988vL0hL6f/enh06f9l1H7xtmf
Xvz49GT1bdXy+MWzZ6fPT5rGuMvWbo3uPXv4z/catbj34ofzJy+eP3x6r2HR
EEPZHnnUlI4i7idUPx+tseDR8Q///m9cghX/DYBHcG4AnZoLzUuJC7LoZrTk
IJpLsOvDiPyGJZRM4AiacEUgAOYA0cL+30PIcD1g5P/4iTjz8xH73vkrLn/f
3qAJr93seLZ2M/Hs+p1rjRsmbrm1ZZiem2v3Nzi9Tu/Df1677vg+uPn93yH5
jOyA67/7/YhQ9bMOTxFU+/hNA6KS8hD8nTWgK9QV8mmSVw+/yMCmczKkpMYw
tkWL7ZInGOD//V7v++C8bhfzHg5C8g6I/LBR3i6B67WmQ4/1eLxMDrixQozt
Ae2Jlgrwt89Fe0iQiD4cPe4idfIw+42m0JtD4DrsrW5V5HB0Vl/WY2hRTxKF
hiH+bfELsHyKJu7DCopfLseL+goY5/XVLLHhAFb5mrnpL+RywSzA3bH1HS4a
WxfH7PVPvZv/+XWDwAa35j+/bkx/C4JAinB+jBTjm12wYTT6+LGq32yHFGnC
jX9KaOJ9owcENpeXxJAGWTcpVMq/Azypu6wXdJUCEgJHa9L9CBSNG4+Y3Bt5
xgVAwl8p1yC618MaSFiOCZfPUy9XcUYemZDWuzYErEXPNu9rSgGXS8pG4xC8
E0ZqotVa6tvgJEhtWY8X5A2qKUlsfgRXwEj9po4i0zCHxmiUg1EiEEIz3Vb/
SPdxo8nm5vtdDzOkHBNKORL3HJDaZev8r+yH8dSGXlevEwjC//Vf/5VZO3/3
ZnR40H4O2W0+zeuHo08pDwXTPt2q2ackux3vjr7taOi/7P6AzG+3vEsUddRt
mdHh+q1P6f/XXv9EnXzHBsaEq+EkJlMCmf3Iv/92y+vUyd4adXvDye6t30yU
7K3Nnp4kSnbydkX34XA63ff+a9fJcPaH3ZdP7Fmrr59u1cm3ra59S9MGfLlo
vj0BGiJ02E2YeNIQ+e3h9U46xux1nOi/DJiyouQTe4p/xwmgDnlyC6UbTGfv
25UEbuhki/LcyJN3rPuxPuzKaPtx+rbvNjrZ0MvBUIf9/bVONkRPneB+CjAQ
0feDCXzLGrM7Z5++37y78jufOkqGklmnZG+llUNKNqTW8GSrZPYOhp+9TZ4M
hxuldz8d3Oqzt9l1f3u0KbEdny0ib5quO5fhVafen9hyspL0p1XT9VE/bbnY
It7RT31fP9P1T60Xp4tBvG7ExQ4PD1vBfcGIAzFua/Zuy8WGXxo2O9zCmvai
0+V2mNRL6xVmlU8V5MXCNxEp8fr7YfdrI2+VOgWv0ccj9s0OqAFsSbnw2wM7
BuN+dw9YEPj/HnWfFs9+t6qO7G+Cm3u/JvCzJX9i94/Pzzvwsy1l6sDP1nRq
O/hZAyf35w8AgeJ4a+SeNrVfym++HB99DnKkiTa4w1l4WkvgcU2921pyqvIn
0iyy0wFhN2MwqtZ5pIp9sbVOpbrBNBt0Nr1qV3XSPOOccu//OljlcOvV4Zdh
lU9s6JM+tSH7U9vJDqwypLCLx6vr7mrvZqyycg1DTl6/ujGk0meTr2vXQ9R0
Uye3kfSgk+tYhT6bsZ1dR143YpWNl3cir5uwCt1vo/vnkNfB73fyZG9NvruR
141YZSdXN0HMDVhldyfXwHUzna1YZWcnG+B6N1b5apjx7fD218OMT18PM74o
6K/DjE9fBjMG2HHvPyvS8IvF/yWksSWufx5p0ND7W5EEIY0nbfWJVvniL4v9
zeA8T2WyeVshSiE+LYzQboQuaKb68XBlavTNDTuA2HDb0A+rpeG2pkPba8Ks
KdIN1kS3FI23l3gIk9xQVG5WVvuKXz25Wi7mK1SxtrR/SUsMCNofmtorrfDF
vyzRbPyhXUof9PS2noRUO3T4Qq1dXLyPHbKj9ql0fj5lfhztDF3MIy2MN2W+
eobLS0vrA/ONomRqf30lncTSLaTZDf7QTJqCT7MW4Nra4rypq73uAPDrdabT
rZbxg1fS+H/ujfbP12hhqZLcLa93y0q7Sv271vo2Rr0G/FbDkaoCSNKKzsnp
y4M4oa1OodvWwl6Txp31mwpes/czqpInEmyzjcF9WKTdIWmh/5n9FyL5w1Vk
4kFHSBsd2/j2mtF6fVcRI2h2/+PHs7ZeKw4lib3Zp/GgZwa9mQJlizE3amLN
BoQGXncAtt2A0a7h1hM/XrYLUq9ph83rgzSTVHTuq7tdtzQlEi/0C8gW5vpX
4j4tKoI/dWxXyBJBdvxmOqsXF5fXdz30lHV1xLZ+384nYW7b5BAbvbRa1wlh
nX9DtYM33FQ73FpTu/RKo3aDyPNbFW/XGtPGuFtyjv8PVK9l74z8z3xNE1se
pMLups7RiD2RK3+9luKtLQ+0Yod+zW7d3XxXf68HxV6EmQhlIRYi99ynCdxe
TW+thDepcmtetGDdLqVfTefzmsrpdbXu+9u0tF8f7RPXKWJFt0Y8WElpYycJ
qdlW0Y+9yplpHfUSg1E2+TLSTk+w4ONHqNwBUcz7yNXdwQ2aDvr2tGzI4i+g
bNwsT13TEVqvWjZLo8nWvvn3f7v2zvHqnY0FHk4GuaJkNPoxTavJwdtxd+pK
kxx7N50d0PrRiOv7AB8/JXzz3dCN71mecVHs4e7337OPPQD6jqSIn/zooMR/
To9PoNVCFey79pVf2e9/v9/2N7TO7/pOvkP0pWt5tMd5A61+7Vp0DvI7ttdt
OkglEJIZPNNe997KPL4DrTq6PI/S25wH7mWhrMuUtT6X3hdO5EHpKlbKZzrn
WeHlKAhlDbexylzGeRmFrYwVuGNzEbm0TucyeFXEIKwQuZRSyTJmvOI85C4z
vIhqZCUGUN56lxc0jZ9HDxL+Gy26daRhIAALXvdUvx7IgdaZFx9GSjOZsdt8
vmnCx/1CPiBufG7y9M4mAzbnT+98jgf0zjY+DNnQzP9+Eww7uya/nCAWUc1e
Z78oLbPXD/qtLXbeALvWgkjvu6abZgFz+Sdi7jKp/NmfHh5A9bqdMHNa3MTt
a7ZUz9ua0HzCR2en//jj6fPj06SOaxeMvXj096fH5+zJyenz8yePn5y+ZPML
S0Ow+4LxgoFuxhkMg+VMMtxKAmDPf3z6tFFj/HxxfH56zs7OXz55/sd0U0p2
LJjkzJwwnjN+wlTOThRTCv2xR4qdnLA8Z49KpjXebNqc0mN+zIoTav+Is4eP
2bFmjwR7pJk6ZYVhSrKyYPkjvDyioRPrv9SZDH3JrVzJTk9idngSss+9HQ7h
681+joufWn/y08A53cKD3cqLrXuym7zZDo828GrbPBY8TrRVkFkoTOAmVBGW
JLKy9CqUVSWjzLTQwrtYuZEKsFlXSRhlBdM0wWhhvVTWG+20ktKbTDupsjJE
Hk3mSl76PORS86KKRhRWOMinUjmGFJXNqjyzHZk/j7qfW/zXit+vkcLM7Ifr
fkvzWzmt5LdSF/cbq9H5FzXKH7T0ylu06zxk3wifRhtG3cVtOrm0Vy2xzSeT
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

-->

</rfc>
