<?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.26 (Ruby 3.3.6) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-vangeest-lamps-cms-euf-cma-signeddata-01" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="EUF-CMA for CMS SignedData">EUF-CMA for the Cryptographic Message Syntax (CMS) SignedData</title>
    <seriesInfo name="Internet-Draft" value="draft-vangeest-lamps-cms-euf-cma-signeddata-01"/>
    <author initials="D." surname="Van Geest" fullname="Daniel Van Geest">
      <organization>CryptoNext Security</organization>
      <address>
        <email>daniel.vangeest@cryptonext-security.com</email>
      </address>
    </author>
    <author fullname="Falko Strenzke">
      <organization>MTG AG</organization>
      <address>
        <email>falko.strenzke@mtg.de</email>
      </address>
    </author>
    <date year="2025" month="March" day="18"/>
    <area>Security</area>
    <workgroup>Limited Additional Mechanisms for PKIX and SMIME</workgroup>
    <keyword>Cryptographic Message Syntax</keyword>
    <keyword>CMS</keyword>
    <abstract>
      <?line 59?>

<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 a number of potential mitigations for LAMPS working group discussion.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://danvangeest.github.io/cms-euf-cma-signeddata/draft-vangeest-lamps-cms-euf-cma-signeddata.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-vangeest-lamps-cms-euf-cma-signeddata/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        Limited Additional Mechanisms for PKIX and SMIME Working Group mailing list (<eref target="mailto:spasm@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/spasm/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/spasm/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/danvangeest/cms-euf-cma-signeddata"/>.</t>
    </note>
  </front>
  <middle>
    <?line 66?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>The Cryptographic Message Syntax (CMS) <xref target="RFC5652"/> signed-data content type allows any number of signers in parallel to sign any type of content.</t>
      <t>CMS gives a signer two options when generating a signature on some content:</t>
      <ul spacing="normal">
        <li>
          <t>Generate a signature on the whole content; or</t>
        </li>
        <li>
          <t>Compute a hash over the content, place this hash in the message-digest attribute in the SignedAttributes type, and generate a signature on the SignedAttributes.</t>
        </li>
      </ul>
      <t>The resulting signature does not commit to the presence of the SignedAttributes type, allowing an attacker to influence verification behaviour.
An attacker can perform two different types of attacks:</t>
      <ol spacing="normal" type="1"><li>
          <t>Take an arbitrary CMS signed message M which was originally signed with SignedAttributes present and rearrange the structure such that the SignedAttributes field is absent and the original DER-encoded SignedAttributes appears as an encapsulated or detached content of type id-data, thereby crafting a new structure M' that was never explicitly signed by the signer.  M' has the DER-encoded SignedAttributes of the original message as its content and verifies correctly against the original signature of M.</t>
        </li>
        <li>
          <t>Let the signer sign a message of the attacker's choice without SignedAttributes.
The attacker chooses this message to be a valid DER-encoding of a SignedAttributes object.
He can then add this encoded SignedAttributes object to the signed message and change the signed message to the one that was used to create the messageDigest attribute within the SignedAttributes.
The signature created by the signer is valid for this arbitrary attacker-chosen message.</t>
        </li>
      </ol>
      <t>This vulnerability was presented by Falko Strenzke at IETF 121 <xref target="LAMPS121"/> and is detailed in <xref target="Str23"/>.</t>
      <t>Due to the limited flexibility of either the signed or the forged message in either attack variant, the fraction of vulnerable systems can be assumed to be small. But due to the wide deployment of the affected protocols, such instances cannot be excluded.</t>
    </section>
    <section anchor="conventions-and-definitions">
      <name>Conventions and Definitions</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 anchor="potential-mitigations">
      <name>Potential Mitigations</name>
      <t>Potential mitigations are described in the following sub-sections as input to the working group discussion.
If this draft is adopted and the working group has taken a decision which measure(s) should be realized, we'll describe the chosen measures in detail.</t>
      <t>The mitigations in this section make use of a context string which is passed to the signature algorithm's sign and verify functions.</t>
      <t>ML-DSA <xref target="FIPS204"/>, SLH-DSA <xref target="FIPS205"/>, Composite ML-DSA <xref target="I-D.ietf-lamps-pq-composite-sigs"/>, and Ed448 <xref target="RFC8032"/> take a context string during signing and verification.
The context string may be up to 255 bytes long.
By default the context string is the empty string.</t>
      <artwork><![CDATA[
   Sign(sk, M, ctx="")
   Verify(sk, M, ctx="")
]]></artwork>
      <t>RSA, ECDSA and Ed25519 signatures do not take a context string and would not be helped by these mitigations.</t>
      <t>Ed448 can take a context string but does not currently in CMS <xref target="RFC8419"/>.</t>
      <t>Ed25519ctx <xref target="RFC8032"/> takes a context string but is not specified for use in CMS.</t>
      <section anchor="immediate">
        <name>Immediate Forced Use of Specific Signature Context Strings</name>
        <t>Immediately update <xref target="I-D.ietf-lamps-cms-ml-dsa"/>, <xref target="I-D.ietf-lamps-cms-sphincs-plus"/>, and <xref target="I-D.ietf-lamps-pq-composite-sigs"/> to require a context string, with a different value for use with and without signated attributes.</t>
        <t>When signed attributes are present:</t>
        <artwork><![CDATA[
   Sign(sk, M, "signed-attributes")
   Verify(sk, M, "signed-attributes")
]]></artwork>
        <t>When signed attributes are absent:</t>
        <artwork><![CDATA[
   Sign(sk, M, "no-signed-attributes")
   Verify(sk, M, "no-signed-attributes")
]]></artwork>
        <t>Unlike the following mitigations, Ed448 cannot be addressed by this mitigation because it is already published and in use.</t>
      </section>
      <section anchor="implicit">
        <name>Attribute-Specified Use of Implicit Signature Context Strings</name>
        <t>Like <xref target="immediate"/>, but the use of the signature context string is indicated by a new, empty (or attribute value ignored), sign-with-context-implicit unsigned attribute.</t>
        <t><xref target="I-D.ietf-lamps-cms-ml-dsa"/>, <xref target="I-D.ietf-lamps-cms-sphincs-plus"/>, and <xref target="I-D.ietf-lamps-pq-composite-sigs"/> can be published using the default signature context string.  ML-DSA, SLH-DSA, Composite-ML-DSA, and Ed448 only use the non-default context string when the new attribute is used.</t>
        <section anchor="signing">
          <name>Signing</name>
          <t>When signed attributes are present:</t>
          <artwork><![CDATA[
   unsigned-attributes.add(sign-with-context-implicit)
   Sign(sk, M, "signed-attributes")
]]></artwork>
          <t>When signed attributes are absent:</t>
          <artwork><![CDATA[
   unsigned-attributes.add(sign-with-context-implicit)
   Sign(sk, M, "no-signed-attributes")
]]></artwork>
        </section>
        <section anchor="verifying">
          <name>Verifying</name>
          <t>When signed attributes are present:</t>
          <artwork><![CDATA[
   IF unsigned-attributes.contains(sign-with-context-implicit)
   THEN Verify(sk, M, "signed-attributes")
   ELSE Verify(sk, M, "")
]]></artwork>
          <t>When signed attributes are absent:</t>
          <artwork><![CDATA[
   IF unsigned-attributes.contains(sign-with-context-implicit)
   THEN Verify(sk, M, "no-signed-attributes")
   ELSE Verify(sk, M, "")
]]></artwork>
        </section>
      </section>
      <section anchor="attribute-specified-use-of-explicit-signature-context-strings">
        <name>Attribute-Specified Use of Explicit Signature Context Strings</name>
        <t>Like <xref target="implicit"/> but the new unsigned attribute (sign-with-context-explict) contains a semi-colon-delimited list of keyword (and optional value) strings.
This addresses the possibility of future CMS features that require context parameters.</t>
        <artwork><![CDATA[
   ctx = "<keyword_1>[=value1];...;<keyword_n>[=value]"
]]></artwork>
        <t>The list is ordered alphabetically by type string.
This list is validated by the verifier and used as the signature context string.
(alternative: the SHA-256 hash of the list is used as the signature context string to avoid it getting too long)</t>
        <t>A proposed list of initial signature context string keywords follows:</t>
        <table>
          <name>Potential Context String Keywords</name>
          <thead>
            <tr>
              <th align="left">keyword</th>
              <th align="left">value</th>
              <th align="left">comment</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td align="left">"IETF/CMS"</td>
              <td align="left"> </td>
              <td align="left">
                <bcp14>REQUIRED</bcp14> to be in the sign-with-context-implicit attribute, to differentiate a signature in CMS from a signature with the same private key over some other data.</td>
            </tr>
            <tr>
              <td align="left">"signed-attrs"</td>
              <td align="left"> </td>
              <td align="left">Present if signed attributes are used, not present if signed attributes are not used. Alternative: always present, value = 0/1, yes/no depending on whether signed attributes are present or not.</td>
            </tr>
            <tr>
              <td align="left">"app-ctx"</td>
              <td align="left">base64( SHA-256( protocol_context ) )</td>
              <td align="left">Allows the protocol using CMS to specify a context. SHA-256 is applied so that the length available to the protocol context isn't dependent on the other context values used in CMS. (alternative: no SHA-256 here, apply SHA-256 to the whole CMS context). base64-encoding is applied so the app context doesn't introduce semi-colons to mess up CMS' parsing of this string.</td>
            </tr>
          </tbody>
        </table>
        <t>When a verifier processes a SignerInfo containing the sign-with-context-explicit attribute, it <bcp14>MUST</bcp14> perform the following consistency checks:</t>
        <ul spacing="normal">
          <li>
            <t>If the "signed-attrs" keyword is present and SignedAttributes is not present in the SignerInfo, fail verification.</t>
          </li>
          <li>
            <t>If the "signed-attrs" keyword is not present and SignedAttributes is present in the SignerInfo, fail verification.</t>
          </li>
        </ul>
        <t>If the consistency checks pass, the signature is verified using the string in the sign-with-context-explicit attribute as the signature context (alternative: using SHA-256 of the string in the sign-with-context-explicit attribute).</t>
        <t>When a verifier processes a SignerInfo without the sign-with-context-explicit attribute, they <bcp14>MUST</bcp14> verify the signature using the default signature context value ("").</t>
        <t><xref target="I-D.ietf-lamps-cms-ml-dsa"/>, <xref target="I-D.ietf-lamps-cms-sphincs-plus"/>, and <xref target="I-D.ietf-lamps-pq-composite-sigs"/> can be published using the default signature context string.  ML-DSA, SLH-DSA, Composite-ML-DSA, and Ed448 only use the non-default context string when the new attribute is used.</t>
      </section>
    </section>
    <section anchor="straw-mitigations">
      <name>Straw Mitigations</name>
      <t>The following mitigations might not be good ideas but are included just in case there's a seed of genius in them.</t>
      <section anchor="attack-detection">
        <name>Attack Detection in CMS</name>
        <t>If eContentType is id-data and SignedAttributes is not present, check if the encapsulated or detached content is a valid DER-encoded SignedAttributes structure and fail if it is.
The mandatory contentType and messageDigest attributes, with their respective OIDs, should give a low probability of a legitimate message being flagged.</t>
        <t>If an application protocol deliberately uses such a signed messages, verification would fail.</t>
        <t>This mitigation does not address the inverse problem where a protocol doesn't used SignedAttributes but for some reason often sends messages which happen to be formatted like valid SignedAttributes encodings, with attacker-controlled bytes where the message digest attribute would be.</t>
      </section>
      <section anchor="alwaysnever-use-signedattributes-in-your-protocol">
        <name>Always/Never use SignedAttributes in Your Protocol</name>
        <t>Individually update each protocol which use CMS to always require or forbid signed attributes. In particular, if an eContentType other than id-data is used, <xref section="5.3" sectionFormat="of" target="RFC5652"/> requires that signed attributes are used.  During verification, ensure that you are receiving the expected (non-id-data) eContentType and that signed attribues are present.</t>
      </section>
      <section anchor="attack-detection-in-your-protocol">
        <name>Attack Detection in Your Protocol</name>
        <t><xref target="attack-detection"/> but specified in the protocol that uses CMS rather than CMS itself.</t>
      </section>
      <section anchor="check-content-type-consistency">
        <name>Check Content Type Consistency</name>
        <t>Check that the content type the EncapsulatedContentInfo value being verified is consistent with your application.</t>
        <t>If the content type of the EncapsulatedContentInfo value being verified is not id-data and signed attributes are not present, verification <bcp14>MUST</bcp14> fail.</t>
      </section>
    </section>
    <section anchor="rfcs-using-the-id-data-econtenttype">
      <name>RFCs Using the id-data eContentType</name>
      <t>The RFCs in the following subsections use the id-data eContentType. This table summarizes their usages of signed attributes.</t>
      <table>
        <name>RFCs using id-data</name>
        <thead>
          <tr>
            <th align="left">RFC</th>
            <th align="left">Signed Attributes Usage</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">
              <xref target="RFC8894"/></td>
            <td align="left">Requires the used of signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC8572"/></td>
            <td align="left">Says nothing about signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC8551"/></td>
            <td align="left">RECOMMENDS signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC6257"/></td>
            <td align="left">Forbids signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC5751"/></td>
            <td align="left">RECOMMENDS signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC5655"/></td>
            <td align="left">Says nothing about signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC5636"/></td>
            <td align="left">Forbids signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC5126"/></td>
            <td align="left">Requires signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC5024"/></td>
            <td align="left">Says nothing about signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC3851"/></td>
            <td align="left">RECOMMENDS signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC3126"/></td>
            <td align="left">Requires signed attributes</td>
          </tr>
          <tr>
            <td align="left">
              <xref target="RFC2633"/></td>
            <td align="left">RECOMMENDS signed attributes</td>
          </tr>
        </tbody>
      </table>
      <t>An RFC requiring or forbidding signed attributes does not necessarily mean that a verifier will enforce this requirement when verifying, their CMS implementation may simply process the message whether or not signed attributes are present.  If one of the signed attributes is necessary for the verifier to successfully verify the signature or to successfully process the CMS data then the attack will not apply; at least not when assuming the signer is well-behaved and always signs with signed attributes present in accordance with the applicable specification.</t>
      <section anchor="rfc-8894-simple-certificate-enrolment-protocol">
        <name>RFC 8894 Simple Certificate Enrolment Protocol</name>
        <t>Figure 6 in <xref section="3" sectionFormat="of" target="RFC8894"/> specifies id-data as the eContentType, and shows the use of signedAttrs.  The document itself never refers to signed attributes, but instead to authenticated attributes and an authenticatedAttributes type.  Errata ID 8247 clarifies that it should be "signed attributes" and "signedAttrs".</t>
        <t>Since SCEP requires the use of signedAttrs with the id-data eContentType, and the recipient must process at least some of the signed attributes, it is not affected by the attack.</t>
      </section>
      <section anchor="rfc-8572-secure-zero-touch-provisioning-sztp">
        <name>RFC 8572 Secure Zero Touch Provisioning (SZTP)</name>
        <t><xref section="3.1" sectionFormat="of" target="RFC8572"/> allows the use of the id-data eContentType, although it also defines more specific content types.  It does not say anything about signed attributes.</t>
      </section>
      <section anchor="smime-rfcs">
        <name>S/MIME RFCs</name>
        <t><xref target="RFC8551"/>, <xref target="RFC5751"/>, <xref target="RFC3851"/>, and <xref target="RFC2633"/> require the use of the id-data eContentType.</t>
        <t><xref section="2.5" sectionFormat="of" target="RFC8551"/> says:</t>
        <ul empty="true">
          <li>
            <t>Receiving agents <bcp14>MUST</bcp14> be able to handle zero or one instance of each
of the signed attributes listed here.  Sending agents <bcp14>SHOULD</bcp14> generate
one instance of each of the following signed attributes in each
S/MIME message:</t>
          </li>
        </ul>
        <t>and</t>
        <ul empty="true">
          <li>
            <t>Sending agents <bcp14>SHOULD</bcp14> generate one instance of the signingCertificate
or signingCertificateV2 signed attribute in each SignerInfo
structure.</t>
          </li>
        </ul>
        <t>So the use of signed attributes is not an absolute requirement.</t>
      </section>
      <section anchor="rfc-6257-bundle-security-protocol-specification">
        <name>RFC 6257 Bundle Security Protocol Specification</name>
        <t><xref section="4" sectionFormat="of" target="RFC6257"/> says:</t>
        <ul empty="true">
          <li>
            <t>In all cases where we use CMS, implementations <bcp14>SHOULD NOT</bcp14> include
additional attributes whether signed or unsigned, authenticated or
unauthenticated.</t>
          </li>
        </ul>
      </section>
      <section anchor="rfc-5655-ip-flow-information-export-ipfix">
        <name>RFC 5655 IP Flow Information Export (IPFIX)</name>
        <t><xref target="RFC5655"/> is a file format that uses CMS for detached signatures. It says nothing about the use of signed attributes.</t>
      </section>
      <section anchor="rfc-5636-traceable-anonymous-certificate">
        <name>RFC 5636 Traceable Anonymous Certificate</name>
        <t><xref section="C.1.2" sectionFormat="of" target="RFC5636"/> says:</t>
        <ul empty="true">
          <li>
            <t>The signedAttr element <bcp14>MUST</bcp14> be omitted.</t>
          </li>
        </ul>
      </section>
      <section anchor="rfc-5126-cms-advanced-electronic-signatures-cades">
        <name>RFC 5126 CMS Advanced Electronic Signatures (CAdES)</name>
        <t><xref section="4.3.1" sectionFormat="of" target="RFC5126"/> specifies mandatory signed attributes.</t>
        <t>One of the signed attributes is used to determine which certificate is used to verify the signature, so this CaDES is not affected by the attack.</t>
      </section>
      <section anchor="rfc-5024-odette-file-transfer-protocol-2">
        <name>RFC 5024 ODETTE File Transfer Protocol 2</name>
        <t><xref target="RFC5024"/> uses the id-data eContentType and says nothing about signed attributes.</t>
      </section>
      <section anchor="rfc-3126-electronic-signature-formats-for-long-term-electronic-signatures">
        <name>RFC 3126 Electronic Signature Formats for long term electronic signatures</name>
        <t><xref section="6.1" sectionFormat="of" target="RFC3126"/> requires the MessageDigest attribute, which is a signed attribute.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>TODO Security</t>
      <t>The vulnerability is not present in systems where the use of SignedAttributes is mandatory, for example: SCEP, Certificate Transparency, RFC 4018 firmware update, German Smart Metering CMS data format.
Any protocol that uses an eContentType other than id-data is required to use signed attributes.
However, this security relies on a correct implementation of the verification routine that ensures the presence of SignedAttributes.</t>
      <t>The vulnerability is also not present when the message is signed and then encrypted, as the attacker cannot learn the signature.</t>
      <t>Conceivably vulnerable systems (TODO: describe these better):</t>
      <ul spacing="normal">
        <li>
          <t>Unencrypted firmware update denial of service</t>
        </li>
        <li>
          <t>Dense message space</t>
        </li>
        <li>
          <t>Signing unstructured data</t>
        </li>
        <li>
          <t>External signatures over unstructured data</t>
        </li>
        <li>
          <t>Systems with permissive parsers</t>
        </li>
      </ul>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document has no IANA actions.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC5652">
          <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="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>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="FIPS204">
          <front>
            <title>Module-lattice-based digital signature standard</title>
            <author>
              <organization/>
            </author>
            <date month="August" year="2024"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.fips.204"/>
          <refcontent>National Institute of Standards and Technology (U.S.)</refcontent>
        </reference>
        <reference anchor="FIPS205">
          <front>
            <title>Stateless hash-based digital signature standard</title>
            <author>
              <organization/>
            </author>
            <date month="August" year="2024"/>
          </front>
          <seriesInfo name="DOI" value="10.6028/nist.fips.205"/>
          <refcontent>National Institute of Standards and Technology (U.S.)</refcontent>
        </reference>
        <reference anchor="LAMPS121" target="https://datatracker.ietf.org/meeting/121/materials/slides-121-lamps-cms-euf-cma-00">
          <front>
            <title>EUF-CMA for CMS SignedData</title>
            <author initials="F." surname="Strenzke">
              <organization/>
            </author>
            <date year="2024" month="November" day="06"/>
          </front>
        </reference>
        <reference anchor="Str23" target="https://ia.cr/2023/1801">
          <front>
            <title>ForgedAttributes: An Existential Forgery Vulnerability of CMS and PKCS#7 Signatures</title>
            <author initials="F." surname="Strenzke">
              <organization/>
            </author>
            <date year="2023" month="November" day="22"/>
          </front>
          <format type="PDF" target="https://eprint.iacr.org/2023/1801.pdf"/>
        </reference>
        <reference anchor="I-D.ietf-lamps-pq-composite-sigs">
          <front>
            <title>Composite ML-DSA for use in X.509 Public Key Infrastructure and CMS</title>
            <author fullname="Mike Ounsworth" initials="M." surname="Ounsworth">
              <organization>Entrust Limited</organization>
            </author>
            <author fullname="John Gray" initials="J." surname="Gray">
              <organization>Entrust Limited</organization>
            </author>
            <author fullname="Massimiliano Pala" initials="M." surname="Pala">
              <organization>OpenCA Labs</organization>
            </author>
            <author fullname="Jan Klaußner" initials="J." surname="Klaußner">
              <organization>Bundesdruckerei GmbH</organization>
            </author>
            <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
              <organization>Cisco Systems</organization>
            </author>
            <date day="3" month="March" year="2025"/>
            <abstract>
              <t>   This document defines combinations of ML-DSA [FIPS.204] in hybrid
   with traditional algorithms RSASSA-PKCS1-v1_5, RSASSA-PSS, ECDSA,
   Ed25519, and Ed448.  These combinations are tailored to meet security
   best practices and regulatory requirements.  Composite ML-DSA is
   applicable in any application that uses X.509, PKIX, and CMS data
   structures and protocols that accept ML-DSA, but where the operator
   wants extra protection against breaks or catastrophic bugs in ML-DSA.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-pq-composite-sigs-04"/>
        </reference>
        <reference anchor="RFC8032">
          <front>
            <title>Edwards-Curve Digital Signature Algorithm (EdDSA)</title>
            <author fullname="S. Josefsson" initials="S." surname="Josefsson"/>
            <author fullname="I. Liusvaara" initials="I." surname="Liusvaara"/>
            <date month="January" year="2017"/>
            <abstract>
              <t>This document describes elliptic curve signature scheme Edwards-curve Digital Signature Algorithm (EdDSA). The algorithm is instantiated with recommended parameters for the edwards25519 and edwards448 curves. An example implementation and test vectors are provided.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8032"/>
          <seriesInfo name="DOI" value="10.17487/RFC8032"/>
        </reference>
        <reference anchor="RFC8419">
          <front>
            <title>Use of Edwards-Curve Digital Signature Algorithm (EdDSA) Signatures in the Cryptographic Message Syntax (CMS)</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="August" year="2018"/>
            <abstract>
              <t>This document specifies the conventions for using the Edwards-curve Digital Signature Algorithm (EdDSA) for curve25519 and curve448 in the Cryptographic Message Syntax (CMS). For each curve, EdDSA defines the PureEdDSA and HashEdDSA modes. However, the HashEdDSA mode is not used with the CMS. In addition, no context string is used with the CMS.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8419"/>
          <seriesInfo name="DOI" value="10.17487/RFC8419"/>
        </reference>
        <reference anchor="I-D.ietf-lamps-cms-ml-dsa">
          <front>
            <title>Use of the ML-DSA Signature Algorithm in the Cryptographic Message Syntax (CMS)</title>
            <author fullname="Ben S" initials="B." surname="S">
              <organization>UK National Cyber Security Centre</organization>
            </author>
            <author fullname="Adam R" initials="A." surname="R">
              <organization>UK National Cyber Security Centre</organization>
            </author>
            <author fullname="Daniel Van Geest" initials="D." surname="Van Geest">
              <organization>CryptoNext Security</organization>
            </author>
            <date day="17" month="January" year="2025"/>
            <abstract>
              <t>   The Module-Lattice-Based Digital Signature Algorithm (ML-DSA), as
   defined in FIPS 204, is a post-quantum digital signature scheme that
   aims to be secure against an adversary in possession of a
   Cryptographically Relevant Quantum Computer (CRQC).  This document
   specifies the conventions for using the ML-DSA signature algorithm
   with the Cryptographic Message Syntax (CMS).  In addition, the
   algorithm identifier and public key syntax are provided.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-cms-ml-dsa-02"/>
        </reference>
        <reference anchor="I-D.ietf-lamps-cms-sphincs-plus">
          <front>
            <title>Use of the SLH-DSA Signature Algorithm in the Cryptographic Message Syntax (CMS)</title>
            <author fullname="Russ Housley" initials="R." surname="Housley">
              <organization>Vigil Security, LLC</organization>
            </author>
            <author fullname="Scott Fluhrer" initials="S." surname="Fluhrer">
              <organization>Cisco Systems</organization>
            </author>
            <author fullname="Panos Kampanakis" initials="P." surname="Kampanakis">
              <organization>Amazon Web Services</organization>
            </author>
            <author fullname="Bas Westerbaan" initials="B." surname="Westerbaan">
              <organization>Cloudflare</organization>
            </author>
            <date day="13" month="January" year="2025"/>
            <abstract>
              <t>   SLH-DSA is a stateless hash-based signature scheme.  This document
   specifies the conventions for using the SLH-DSA signature algorithm
   with the Cryptographic Message Syntax (CMS).  In addition, the
   algorithm identifier and public key syntax are provided.

              </t>
            </abstract>
          </front>
          <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-cms-sphincs-plus-19"/>
        </reference>
        <reference anchor="RFC8894">
          <front>
            <title>Simple Certificate Enrolment Protocol</title>
            <author fullname="P. Gutmann" initials="P." surname="Gutmann"/>
            <date month="September" year="2020"/>
            <abstract>
              <t>This document specifies the Simple Certificate Enrolment Protocol (SCEP), a PKI protocol that leverages existing technology by using Cryptographic Message Syntax (CMS, formerly known as PKCS #7) and PKCS #10 over HTTP. SCEP is the evolution of the enrolment protocol sponsored by Cisco Systems, which enjoys wide support in both client and server implementations, as well as being relied upon by numerous other industry standards that work with certificates.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8894"/>
          <seriesInfo name="DOI" value="10.17487/RFC8894"/>
        </reference>
        <reference anchor="RFC8572">
          <front>
            <title>Secure Zero Touch Provisioning (SZTP)</title>
            <author fullname="K. Watsen" initials="K." surname="Watsen"/>
            <author fullname="I. Farrer" initials="I." surname="Farrer"/>
            <author fullname="M. Abrahamsson" initials="M." surname="Abrahamsson"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This document presents a technique to securely provision a networking device when it is booting in a factory-default state. Variations in the solution enable it to be used on both public and private networks. The provisioning steps are able to update the boot image, commit an initial configuration, and execute arbitrary scripts to address auxiliary needs. The updated device is subsequently able to establish secure connections with other systems. For instance, a device may establish NETCONF (RFC 6241) and/or RESTCONF (RFC 8040) connections with deployment-specific network management systems.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8572"/>
          <seriesInfo name="DOI" value="10.17487/RFC8572"/>
        </reference>
        <reference anchor="RFC8551">
          <front>
            <title>Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 4.0 Message Specification</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="B. Ramsdell" initials="B." surname="Ramsdell"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This document defines Secure/Multipurpose Internet Mail Extensions (S/MIME) version 4.0. S/MIME provides a consistent way to send and receive secure MIME data. Digital signatures provide authentication, message integrity, and non-repudiation with proof of origin. Encryption provides data confidentiality. Compression can be used to reduce data size. This document obsoletes RFC 5751.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8551"/>
          <seriesInfo name="DOI" value="10.17487/RFC8551"/>
        </reference>
        <reference anchor="RFC6257">
          <front>
            <title>Bundle Security Protocol Specification</title>
            <author fullname="S. Symington" initials="S." surname="Symington"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="H. Weiss" initials="H." surname="Weiss"/>
            <author fullname="P. Lovell" initials="P." surname="Lovell"/>
            <date month="May" year="2011"/>
            <abstract>
              <t>This document defines the bundle security protocol, which provides data integrity and confidentiality services for the Bundle Protocol. Separate capabilities are provided to protect the bundle payload and additional data that may be included within the bundle. We also describe various security considerations including some policy options.</t>
              <t>This document is a product of the Delay-Tolerant Networking Research Group and has been reviewed by that group. No objections to its publication as an RFC were raised. This document defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6257"/>
          <seriesInfo name="DOI" value="10.17487/RFC6257"/>
        </reference>
        <reference anchor="RFC5751">
          <front>
            <title>Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.2 Message Specification</title>
            <author fullname="B. Ramsdell" initials="B." surname="Ramsdell"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="January" year="2010"/>
            <abstract>
              <t>This document defines Secure/Multipurpose Internet Mail Extensions (S/MIME) version 3.2. S/MIME provides a consistent way to send and receive secure MIME data. Digital signatures provide authentication, message integrity, and non-repudiation with proof of origin. Encryption provides data confidentiality. Compression can be used to reduce data size. This document obsoletes RFC 3851. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5751"/>
          <seriesInfo name="DOI" value="10.17487/RFC5751"/>
        </reference>
        <reference anchor="RFC5655">
          <front>
            <title>Specification of the IP Flow Information Export (IPFIX) File Format</title>
            <author fullname="B. Trammell" initials="B." surname="Trammell"/>
            <author fullname="E. Boschi" initials="E." surname="Boschi"/>
            <author fullname="L. Mark" initials="L." surname="Mark"/>
            <author fullname="T. Zseby" initials="T." surname="Zseby"/>
            <author fullname="A. Wagner" initials="A." surname="Wagner"/>
            <date month="October" year="2009"/>
            <abstract>
              <t>This document describes a file format for the storage of flow data based upon the IP Flow Information Export (IPFIX) protocol. It proposes a set of requirements for flat-file, binary flow data file formats, then specifies the IPFIX File format to meet these requirements based upon IPFIX Messages. This IPFIX File format is designed to facilitate interoperability and reusability among a wide variety of flow storage, processing, and analysis tools. [STANDARDS TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5655"/>
          <seriesInfo name="DOI" value="10.17487/RFC5655"/>
        </reference>
        <reference anchor="RFC5636">
          <front>
            <title>Traceable Anonymous Certificate</title>
            <author fullname="S. Park" initials="S." surname="Park"/>
            <author fullname="H. Park" initials="H." surname="Park"/>
            <author fullname="Y. Won" initials="Y." surname="Won"/>
            <author fullname="J. Lee" initials="J." surname="Lee"/>
            <author fullname="S. Kent" initials="S." surname="Kent"/>
            <date month="August" year="2009"/>
            <abstract>
              <t>This document defines a practical architecture and protocols for offering privacy for a user who requests and uses an X.509 certificate containing a pseudonym, while still retaining the ability to map such a certificate to the real user who requested it. The architecture is compatible with IETF certificate request formats such as PKCS10 (RFC 2986) and CMC (RFC 5272). The architecture separates the authorities involved in issuing a certificate: one for verifying ownership of a private key (Blind Issuer) and the other for validating the contents of a certificate (Anonymity Issuer). The end entity (EE) certificates issued under this model are called Traceable Anonymous Certificates (TACs). This memo defines an Experimental Protocol for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5636"/>
          <seriesInfo name="DOI" value="10.17487/RFC5636"/>
        </reference>
        <reference anchor="RFC5126">
          <front>
            <title>CMS Advanced Electronic Signatures (CAdES)</title>
            <author fullname="D. Pinkas" initials="D." surname="Pinkas"/>
            <author fullname="N. Pope" initials="N." surname="Pope"/>
            <author fullname="J. Ross" initials="J." surname="Ross"/>
            <date month="March" year="2008"/>
            <abstract>
              <t>This document defines the format of an electronic signature that can remain valid over long periods. This includes evidence as to its validity even if the signer or verifying party later attempts to deny (i.e., repudiates) the validity of the signature.</t>
              <t>The format can be considered as an extension to RFC 3852 and RFC 2634, where, when appropriate, additional signed and unsigned attributes have been defined.</t>
              <t>The contents of this Informational RFC amount to a transposition of the ETSI Technical Specification (TS) 101 733 V.1.7.4 (CMS Advanced Electronic Signatures -- CAdES) and is technically equivalent to it.</t>
              <t>The technical contents of this specification are maintained by ETSI. The ETSI TS and further updates are available free of charge at: http://www.etsi.org/WebSite/Standards/StandardsDownload.aspx This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5126"/>
          <seriesInfo name="DOI" value="10.17487/RFC5126"/>
        </reference>
        <reference anchor="RFC5024">
          <front>
            <title>ODETTE File Transfer Protocol 2.0</title>
            <author fullname="I. Friend" initials="I." surname="Friend"/>
            <date month="November" year="2007"/>
            <abstract>
              <t>This memo updates the ODETTE File Transfer Protocol, an established file transfer protocol facilitating electronic data interchange of business data between trading partners, to version 2.</t>
              <t>The protocol now supports secure and authenticated communication over the Internet using Transport Layer Security, provides file encryption, signing, and compression using Cryptographic Message Syntax, and provides signed receipts for the acknowledgement of received files.</t>
              <t>The protocol supports both direct peer-to-peer communication and indirect communication via a Value Added Network and may be used with TCP/IP, X.25, and ISDN-based networks. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5024"/>
          <seriesInfo name="DOI" value="10.17487/RFC5024"/>
        </reference>
        <reference anchor="RFC3851">
          <front>
            <title>Secure/Multipurpose Internet Mail Extensions (S/MIME) Version 3.1 Message Specification</title>
            <author fullname="B. Ramsdell" initials="B." role="editor" surname="Ramsdell"/>
            <date month="July" year="2004"/>
            <abstract>
              <t>This document defines Secure/Multipurpose Internet Mail Extensions (S/MIME) version 3.1. S/MIME provides a consistent way to send and receive secure MIME data. Digital signatures provide authentication, message integrity, and non-repudiation with proof of origin. Encryption provides data confidentiality. Compression can be used to reduce data size. This document obsoletes RFC 2633. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3851"/>
          <seriesInfo name="DOI" value="10.17487/RFC3851"/>
        </reference>
        <reference anchor="RFC3126">
          <front>
            <title>Electronic Signature Formats for long term electronic signatures</title>
            <author fullname="D. Pinkas" initials="D." surname="Pinkas"/>
            <author fullname="J. Ross" initials="J." surname="Ross"/>
            <author fullname="N. Pope" initials="N." surname="Pope"/>
            <date month="September" year="2001"/>
            <abstract>
              <t>This document defines the format of an electronic signature that can remain valid over long periods. This includes evidence as to its validity even if the signer or verifying party later attempts to deny (i.e., repudiates the validity of the signature). This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3126"/>
          <seriesInfo name="DOI" value="10.17487/RFC3126"/>
        </reference>
        <reference anchor="RFC2633">
          <front>
            <title>S/MIME Version 3 Message Specification</title>
            <author fullname="B. Ramsdell" initials="B." role="editor" surname="Ramsdell"/>
            <date month="June" year="1999"/>
            <abstract>
              <t>This document describes a protocol for adding cryptographic signature and encryption services to MIME data. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2633"/>
          <seriesInfo name="DOI" value="10.17487/RFC2633"/>
        </reference>
      </references>
    </references>
    <?line 362?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>TODO acknowledge.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
VOGLzgwyVJSps33KaiQ4/t/KR7lDSUEAAA==

-->

</rfc>
