<?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.29 (Ruby 3.4.4) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-cose-tsa-tst-header-parameter-06" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <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-06"/>
    <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="June" day="12"/>
    <area>Security</area>
    <workgroup>COSE</workgroup>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 54?>

<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 in COSE-based protocols.</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 59?>

<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>The first use case is that of "long-term signatures", i.e., signatures that can still be verified even after the signing certificate has expired.
This can address situations where it is important to prevent subsequent denial by the signer or to verify signatures made using (very) short-term certificates.
To achieve this, the document signer acquires a fresh TST for the document's signature from a trusted TSA and concatenates it with the document.
Later, when a relying party verifies the signed document and its associated TST, they can be certain that the document was signed <em>at least</em> at the time specified by the TSA, and that the signing certificate was valid at the time the signature was made.</t>
        <t>This usage scenario motivates the "COSE then Timestamp" mode described in <xref target="sec-cose-then-timestamp"/>.</t>
        <t>The second use case is the notarization of a signed document by registering it with a transparency service.
This is common practice for ensuring the accountability and auditability of issued documents, which are typically referred to as "statements" in this context.
It is also common practice to only register the signed parts of a statement (the "signed statement" portion) with a transparency service, in order to reduce the complexity of consistency checks at a later stage, as well as avoiding the need to retrieve or reconstruct unsigned parts.
Once the signed parts of a document have been registered in the append-only log at a transparency service, the log entry cannot be changed.
In order to avoid losing the TST during the registration process, the TST must be included in the signed statement.
To achieve this, the issuer acquires a TST from a TSA, includes it in the to-be-signed part of the statement so that the resulting signed statement includes the TST, and then registers the signed parts (rendering it a "transparent statement").
Later on, a relying party consuming the transparent statement including the TST can be certain that the statement was signed by the issuer <em>at least</em> at the time specified by the TSA.
If the issuer's signing key has expired (or been compromised), the authenticity of the statement can be ascertained by ensuring that no revocation information was made public before the time asserted by the issuer and registered at the transparency service.</t>
        <t>This usage scenario motivates the "Timestamp then COSE" mode defined in <xref target="sec-timestamp-then-cose"/>.</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> parallelogram boxes and replacing the label <tt>[signature]</tt> with <tt>[signatures]</tt>.</t>
      <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 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 used to wrap the signed document and its timestamp together in an immutable payload.</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>
    <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-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>The following illustrates how <tt>MessageImprint</tt> is computed using a sample <tt>COSE_Sign1</tt> message.</t>
          <t>Given 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>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>The following illustrates how <tt>MessageImprint</tt> is computed using a sample <tt>COSE_Sign</tt> message.</t>
          <t>Given 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>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 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.
(For an example, see <xref target="ex-ttc"/>.)</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.
However, this may not be possible if the timestamp requester and the COSE message signer are different entities.</t>
      </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, particularly with regard to the need for implementations to protect private key material.
Additionally, solutions based on the COSE header parameters defined in this document must be able to report compromised keys promptly.</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>Implementers <bcp14>MUST</bcp14> clearly differentiate between RFC 3161 TSA timestamps proving the existence of payload data at an earlier point in time (TTC) and timestamps explicitly providing evidence of the existence of the cryptographic signature (CTT).
Failure to clearly distinguish between these timestamp semantics can result in vulnerabilities, such as incorrectly accepting signatures created after key revocation based on older payload-only timestamps.
Validators must not interpret protected-header payload timestamps as proof of signature
creation time and should rely exclusively on RFC 3161 TSA timestamps explicitly covering signature data for determining signature validity timing.</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>
      <t>CTT and TTC modes have different semantic meanings.
An implementation must ensure that the contents of the CTT and TCC headers are interpreted according to their specific semantics.
In particular, symmetric to the signature and assembly mechanics, each mode has its own separate verification algorithm.</t>
      <t>The resolution, accuracy, and precision of the TSA clock, as well as the expected latency introduced by round trips to and from the TSA must be taken into account when implementing solutions based on the COSE header parameters defined in 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 400?>

<section anchor="examples">
      <name>Examples</name>
      <section anchor="ex-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[
18(
  [
    / protected h'a10126' / << {
        / alg / 1:-7 / ECDSA 256 /
      } >>,
    / unprotected / {
      / kid / 4:'11'
    },
    / payload / 'This is the content.',
    / signature / h'8eb33e4ca31d1c465ab05aac34cc6b23d58fef5c083106c4d
25a91aef0b0117e2af9a291aa32e14ab834dc56ed2a223444547e01f11d3b0916e5a4
c345cacb36'
  ]
)
]]></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
Alexey Melnikov,
Carl Wallace,
Carsten Bormann,
Deb Cooley,
Éric Vyncke,
Francesca Palombini,
Leonard Rosenthol,
Linda Dunbar,
Michael B. Jones,
Michael Prorock,
Mike Bishop,
Mohamed Boucadair,
Orie Steele,
Roman Danyliw,
Shuping Peng,
Stefan Santesson,
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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
4j3yebBDIxdGTpykMIfM4G24fjiMVCPzh2YhqnMPVAYOvB05jvQZXskqRCVA
CtrH5vD1tDdkRFYihvhUSKgpfEpWIq5AX5A7Ou0zOm/gM1pRgprTGr1PyT1D
v70hkSeZ9xB0jjhPKNgTD0prE1VpAApOM8vDGkMKHsOOOMIEfIBxXhkPZQQ6
BIdoh4lLT9s0GdACzBQ3EdcsLWnYSudQL3jUoiSVoV0oWQHReWTm0PCsgllZ
hECpScGhQsirPRJX6AvSe2WMJFQFBZQBDJAjlbR/BO3XdGTF8zQ33nKF8UWJ
WJhKq+EvkOzr0tBUBeI7sAlwFqxekyqUCUJi6hGnAQNpOQU4lKBKIgkHOg3M
6azNPR3PcsBwRkJL4Uk0cRRR1gFFOovMh05ywTPcPLy96Yc2drxSJitcXlYe
UFAGI8rlzi/Dbyb7LA4Yfe/Y4OvGbvsWNfqhQ8SwVcA4rck5SVPQzhagsoET
sRJuznnkCwooAhqMaVhZwA3C3SkrDcxQJNAEuZwKAF4Gz0uoH/qQ0FaZ1pgB
GExrYzmHFyhLxEkEU6uVgH6XaVECv6g0Huj/6Un/9URHZ2ej0emcau6GhfHL
LxK4x1Hsv81vyXSjv8C3ZGox2vItmWd3fYnu/YqnBoL8T1lG9SXfEfkl3xL5
1yyj2iSjh4Kqh4Kq/ywFVV9moys9fIG93kZyX1BFAJNLeVdBVbEsqFIHaXmA
WfwVCqpufrlEX1LV1kX1ZVMbovJaCVXvVP79Cqf+CkG//yta3+DVkv3/V6Ml
hE3pPAFyc+AQysCkVLTi5jJaIESSI7yU3OaUYwL0W4XUGQgPSYdAomWEjzVa
tPueS5NtqNEqwqpCioQknIZ4qNF6qNF6qNF6qNF6qNF6qNF6qNF6qNF6qNF6
qNF6qNF6qNF6qNF6qNF6qNF6qNF6qNF6qNF6qNF6qNF6qNF6qNF6qNF6qNF6
qNF6qNF6qNF6qNF6qNF6qNF6qNF6qNF6qNF6qNF6qNF6qNH6G67RGpyoouzz
r12jJStYALSZdtx1UVoE3tJ5PFJwtsg1KGtzsB0kgKWHk6Ntb4k4k8LwRUYr
ijkIgbMtkRAgV1MFMnWbFZWuaFMJ/gGZt0F6DsvKdFjBTCqC01xDkLBNGOl9
a7RSkTmYjyAPRoc8UoQBSavHnraUEccNkmevEUEF58hJENQKOGm4ZURIk9Nu
KVI/+GhpnEdwpHXuXCXIv0sNzvrU0AE8CZNPjMMwVtK6N8FXoyXZKq1dapMg
IlP4omIrLagixUGVU2kBTxMaAeEgLU2BqcLQkSMTfqlow5Y7TYsaiIzIoxBq
AZwqWtQAtwryfhXiFLghS2T3yoUaJAQd6HCOLMMj40vLNC+tthr5cFnBh9FO
JJJVWcL3ISfndJSA45aG5xGK9vyslEgRBfrVCH7Is4EZwFdyRQVty8O95aWB
V0N3yDdhL1JQSorkTBVUZ4Iwa8j+lFElJTmUnOWe4hGwSWqRypc25LulU5g9
RWgTd0aML4CiQbKBCaV0mkICB3npZIK8m+qEwF1R0jlEKK81WjtMCbHFAmEg
5wee8VQxhY48yIQoaU9eIigjtCOLNUAp8OmUfSIhyCVCP3RIIzwiHEPeyMkr
+GmQ4a2mJXgbqjOQInvEeipMsgWAcoqMLzWwRgcfShsPrtRpgUiC8EPFhwXo
0XlFxwcsxka2bemgD1xx5WntXdOCu8toiYciiUxCsRlV1YEllM5xWm0BJUjL
CwMWCrg4WtUHMxIL4RF4k/C4rhTeAPY4xEZAZYAdj8htgZE8Jke79ZgLrKzK
E2ThtD4uIFIYbZpDHeFkEJALKzXmD88nYNMQOVQC8uP4hQwqrOoAy1raXOYI
+7lFrAZPMDdDe/UcSuNpo0mlvEy8r0paPUfEVkBKCIvGAdpgWlw7+HeIjf7s
fFmmVlDJmqSiRzh12GlFwzlNBS0C9gbP4OCfK6ccIjSgA/19gRRRsUCUL8lb
cK2gpsKBcks1hBKzUykkk2pbwUrTwufmvjVa+LFaUZLggcesQZAVMBpMGeCs
L7j669cFjdxfoC5oROWUG+uCvmKHlv5E3ti79/THu5rR54PFZLK4MH7mXfv3
l7yrw19vjH/2blx/8PGMuZ58GB2O/c/+ir3040n9Yfpxd3SkZ2P2T3o81taH
K/rLl+wp/YHtyWR3dOwNO5pOx/5qd/R//xf9LbZ/vJrYD2j6bKYn1jdWs+/1
eHph6km9O3rhpxP6u7pvplQtcz4d41Y9cZodLyZGz3ZHL2t7rv2YPd1nf09/
8m555/vZdEZ/UQ03QPDTujmfXuJieq7pT8k+nS5gNrpGF69nNdXeeD8GFW+m
oJMd68nVuP60Ozo9X4Tj69/7yXtczX2Fp6caIm6a6STc+ejZC9188OhJT9zo
n9H8z/SXSv5hMWr/5mE9a/88cRP/3uz0IrB6f/T/ACjeDXmDtgAA

-->

</rfc>
