<?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.38 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-housley-lamps-rfc3161-update-00" category="std" consensus="true" submissionType="IETF" updates="6211" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="Update to RFC 3161">Update to the Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)</title>
    <seriesInfo name="Internet-Draft" value="draft-housley-lamps-rfc3161-update-00"/>
    <author initials="R." surname="Housley" fullname="Russ Housley">
      <organization abbrev="Vigil Security">Vigil Security, LLC</organization>
      <address>
        <postal>
          <city>Herndon, VA</city>
          <country>US</country>
        </postal>
        <email>housley@vigilsec.com</email>
      </address>
    </author>
    <author initials="S." surname="Santesson" fullname="Stefan Santesson">
      <organization abbrev="IDsec Solutions">IDsec Solutions AB</organization>
      <address>
        <postal>
          <street>Forskningsbyn Ideon</street>
          <city>Lund</city>
          <code>223 70</code>
          <country>SE</country>
        </postal>
        <email>sts@aaa-sec.com</email>
      </address>
    </author>
    <date year="2026" month="October" day="22"/>
    <workgroup>LAMPS</workgroup>
    <keyword>CMS</keyword>
    <keyword>attribute</keyword>
    <keyword>algorithm identifier</keyword>
    <abstract>
      <?line 45?>

<t>This document updates RFC 3161. It adds a requirement to ensure that the
id-ct-TSTInfo content type is used to align with the best practices for
signed attributes with CMS signed-data. In addition, cross-protocol attacks
are prevented by requiring that the Time Stamp Authority (TSA) dedicate
the signature key pair to the time-stamping service.</t>
    </abstract>
  </front>
  <middle>
    <?line 53?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document updates <xref target="RFC3161"/>. It adds a requirement to ensure that the
id-ct-TSTInfo content type is used to align with the best practices for signed
attributes with CMS signed-data <xref target="I-D.ietf-lamps-cms-euf-cma-signeddata"/>. In
addition, cross-protocol attacks are prevented by requiring that the Time Stamp
Authority (TSA) dedicate the signature key pair to the time-stamping service.</t>
    </section>
    <section anchor="update-to-section-4-of-rfc-3161">
      <name>Update to Section 4 of RFC 3161</name>
      <t>Section 2.1 of <xref target="RFC3161"/> properly requires that the time-stamping service
use a key exclusively for signing time-stamp tokens.  It says:</t>
      <artwork><![CDATA[
   10.   to sign each time-stamp token using a key generated exclusively
         for this purpose and have this property of the key indicated on
         the corresponding certificate.
]]></artwork>
      <t>However, in real-world deployments, it has been reported that the same key pair
has been used to sign time-stamp tokens of various similare formats, which
creates the possibility for cross-protocol attacks.</t>
      <t>ADD:</t>
      <artwork><![CDATA[
   7.   As stated in Section 2.1, the TSA is REQUIRED to sign each
        time-stamp token using a key generated exclusively for this
        purpose.  The use of the same private key to sign time stamps
        in different formats may introduce the possibility of
        cross-protocol attacks.
]]></artwork>
    </section>
    <section anchor="update-to-section-242-of-rfc-6211">
      <name>Update to Section 2.4.2 of RFC 6211</name>
      <t>OLD:</t>
      <artwork><![CDATA[
   eContentType is an object identifier that uniquely specifies the
   content type.  For a time-stamp token it is defined as:

   id-ct-TSTInfo  OBJECT IDENTIFIER ::= { iso(1) member-body(2)
   us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) 4}
]]></artwork>
      <t>NEW:</t>
      <artwork><![CDATA[
   eContentType is an object identifier that uniquely specifies the
   content type.  For a time-stamp token defined in this document,
   eContentType MUST be:

      id-ct-TSTInfo  OBJECT IDENTIFIER ::= { iso(1) member-body(2)
         us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) 4}

   In addition, the TSA MUST include id-ct-TSTInfo as content-type
   signed attribute in the signedAttrs of the signerInfo [CMS].
]]></artwork>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>No IANA registry updates are needed.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The above addition to the Security Considerations of <xref target="RFC3161"/> is
intended to ensure that implementation do not use a signature private key
that is used to sign a time-stamp token for any other purpose.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="I-D.ietf-lamps-cms-euf-cma-signeddata">
          <front>
            <title>Best Practices for Signed Attributes in CMS SignedData</title>
            <author fullname="Daniel Van Geest" initials="D." surname="Van Geest">
              <organization>CryptoNext Security</organization>
            </author>
            <author fullname="Falko Strenzke" initials="F." surname="Strenzke">
              <organization>MTG AG</organization>
            </author>
            <date day="14" month="September" year="2026"/>
            <abstract>
              <t>   The Cryptographic Message Syntax (CMS) has different signature
   verification behaviour based on whether signed attributes are present
   or not.  This results in a potential existential forgery
   vulnerability in CMS and protocols which use CMS.  This document
   describes the vulnerability and lists mitigations and best practices
   to avoid it.  This document updates RFC 5652 by prohibiting the use
   of the id-data content type for new uses of the CMS SignedData type.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-cms-euf-cma-signeddata-03"/>
        </reference>
      </references>
    </references>
    <?line 124?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Tom Tervoort for being the first person to spot the need for
improvements in <xref target="RFC3161"/>.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
84DYeA4AAA==

-->

</rfc>
