<?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.43 (Ruby 3.4.9) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-cms-euf-cma-signeddata-03" category="bcp" consensus="true" submissionType="IETF" updates="[5652]" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <front>
    <title abbrev="BCP for signedAttrs in CMS SignedData">Best Practices for Signed Attributes in CMS SignedData</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-cms-euf-cma-signeddata-03"/>
    <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="2026" month="September" day="14"/>
    <area>Security</area>
    <workgroup>Limited Additional Mechanisms for PKIX and SMIME</workgroup>
    <keyword>Cryptographic Message Syntax</keyword>
    <keyword>CMS</keyword>
    <keyword>Signed Attributes</keyword>
    <keyword>signedAttrs</keyword>
    <keyword>SignedData</keyword>
    <abstract>
      <?line 93?>

<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>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        The latest revision of this draft can be found at <eref target="https://lamps-wg.github.io/cms-euf-cma-signeddata/draft-ietf-lamps-cms-euf-cma-signeddata.html"/>.
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-ietf-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/lamps-wg/cms-euf-cma-signeddata"/>.</t>
    </note>
  </front>
  <middle>
    <?line 100?>

<section anchor="intro">
      <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.
The SignedAttributes type is placed in the signedAttrs field of the SignedData type.</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.
The attacker 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 to the LAMPS working group at IETF 121 <xref target="LAMPS121"/> and is detailed in <xref target="Str23"/>.</t>
      <t><xref section="5.3" sectionFormat="of" target="RFC5652"/> states:</t>
      <ul empty="true">
        <li>
          <t>signedAttrs is a collection of attributes that are signed.  The field is optional, but it <bcp14>MUST</bcp14> be present if the content type of the EncapsulatedContentInfo value being signed is not id-data.</t>
        </li>
      </ul>
      <t>Thus, if a verifier accepts a content type of id-data in the EncapsulatedContentInfo type when used in SignedData, then a SignerInfo within the SignedData may or may not contain a signedAttrs field and the verifier is vulnerable to this attack.  On the other hand, if the verifier doesn't accept a content type of id-data, the sender always adds the signedAttrs field, and the recipient verifies that signedAttrs is present, the attack will not succeed.</t>
      <t>The limited flexibility of either the signed or the forged message in either attack variant may mean the attacks are only narrowly applicable. Nevertheless, due to the wide deployment of the affected protocols and the use of CMS in many proprietary systems, the attacks cannot be entirely disregarded.</t>
      <t>As a mitigation, this document defines the new mimeData content type to be used in new uses of the CMS SignedData type when the encapsulated content is MIME encoded and thus avoid the use of the id-data content type.
This document further describes best practices and mitigations that can also be applied to those protocols or systems that continue to use the content type id-data.</t>
      <t>This document's prohibition of the use of the id-data content type for new uses of SignedData does not retroactively affect the conformance of already-deployed implementations, which are instead addressed via the migration guidance in <xref target="sec-existing"/>.</t>
    </section>
    <section anchor="sec-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?>

<t>For the purposes of this document, a new use of CMS SignedData is any specification that, from the date of publication of this document onward, first defines how SignedData is to be constructed or processed for a given application.
This is regardless of whether that specification is published as an RFC or registers a content type identifier with IANA.
An existing use is one that predates this document's publication; see <xref target="sec-existing"/> for guidance applicable to existing uses.</t>
    </section>
    <section anchor="mimedata-content-type">
      <name>mimeData Content Type</name>
      <t>The following object identifier identifies the mimeData content type:</t>
      <sourcecode type="asn.1"><![CDATA[
  id-ct-mimeData OBJECT IDENTIFIER ::= { iso(1) member-body(2)
      us(840) rsadsi(113549) pkcs(1) pkcs9(9) smime(16) ct(1)
      TBD2 }
]]></sourcecode>
      <t>The mimeData content type is intended as a replacement for the data content type (id-data object identifier) in new uses of the CMS SignedData type where the content is MIME encoded.
 Like the data content type, the mimeData content type is encoded as an octet
 string. Unlike the data content type, the octet string <bcp14>MUST</bcp14> contain a MIME
 entity as defined in <xref target="RFC2045"/>, i.e., MIME header fields followed by the
 body. The interpretation of the MIME entity is governed by its MIME headers.</t>
    </section>
    <section anchor="best-practices">
      <name>Best Practices</name>
      <t>This section describes the best practices to avoid the vulnerability at the time of writing.</t>
      <section anchor="sec-new">
        <name>New Uses of the CMS SignedData type</name>
        <t>New uses of the CMS SignedData type <bcp14>MUST NOT</bcp14> use the id-data EncapsulatedContentInfo content type. If the new content is MIME encoded, the mimeData content type <bcp14>SHOULD</bcp14> be used unless the new use has reason to bind the signature to a more specific, purpose-built content type identifier (for example to avoid content-type confusion with unrelated applications using mimeData).</t>
        <t>If a new content type is defined, it might be appropriate to register it in the "CMS Inner Content Types" IANA subregistry within the "Media Type Sub-Parameter Registries" registry group.</t>
        <t>See <xref target="sec-key-separation"/> for a related consideration regarding the key pair used to sign under the new protocol.</t>
      </section>
      <section anchor="sec-existing">
        <name>Existing Uses of id-data in CMS SignedData</name>
        <t>When a protocol which uses the id-data EncapsulatedContentInfo content type within SignedData is updated, it <bcp14>SHOULD</bcp14> deprecate the use of id-data and use a different (new or existing) identifier. A partial list of such identifiers is found in the "CMS Inner Content Types" IANA subregistry within the "Media Type Sub-Parameter Registries" registry group. If the existing content is MIME encoded, the mimeData content type <bcp14>SHOULD</bcp14> be used, though there may be reasons to use other identifiers as mentioned in <xref target="sec-new"/>. Updated protocols that do not deprecate the use of id-data should provide a rationale for not doing so, so that reviewers can assess whether the trade-off against the risk described in <xref target="intro"/> was adequately considered.
For example, if new backwards-compatible extensions are added to a protocol it might not be appropriate to move to a new identifier at that time because doing so will result in a backwards-compatibility breaking change and the extensions will be unlikely to be deployed.  On the other hand, if a protocol has a major version update or otherwise backwards-compatibility breaking change it would be appropriate to deprecate id-data in favour of a different identifier at the same time.</t>
        <t>When an updated protocol specification uses the id-data EncapsulatedContentInfo content type within SignedData, it <bcp14>SHOULD</bcp14> specify that the signedAttrs field is either always required or always forbidden.  If a protocol makes such a requirement, a recipient implementing the specification <bcp14>MUST</bcp14> check whether the signedAttrs field is present or absent as specified by the protocol, and fail processing if the appropriate condition is not met.</t>
        <aside>
          <t>NOTE: This section uses <bcp14>SHOULD</bcp14> rather than <bcp14>MUST</bcp14> because existing deployments may already include sender applications that do not use the signedAttrs field as expected with id-data.
Requiring <bcp14>MUST</bcp14> here would risk breaking interoperability with such senders without a migration path, so an updated specification might instead choose not to restrict the presence of signedAttrs.
<xref target="mitigations"/> describes measures available to a recipient when this section's recommendations cannot be applied.</t>
        </aside>
        <t>See <xref target="sec-key-separation"/> for a related consideration regarding the key pair used across old and new protocol versions.</t>
      </section>
      <section anchor="sec-key-separation">
        <name>Key Separation</name>
        <t>Mandating signedAttrs within a protocol, whether through a new use of SignedData (<xref target="sec-new"/>) or updating an existing use (<xref target="sec-existing"/>), does not by itself prevent the attack described in <xref target="intro"/> if the signing key is also used in some other protocol or content type where signedAttrs is not mandated.
Specifications <bcp14>MUST</bcp14> draw implementers' attention to this risk.
This can be addressed by requiring a distinct key pair for this protocol's use of SignedData, separate from any other key pair used where signedAttrs is not mandated (whether that is an older version of this same protocol, or an unrelated protocol or content type).
This can also be addressed by requiring that the mitigation from <xref target="sender-detection"/> be applied uniformly across every signing operation performed with the key, not only to this protocol's messages, and even in older versions of the protocol.</t>
      </section>
      <section anchor="recipient-verification">
        <name>Recipient Verification</name>
        <t>This section applies to all uses of the CMS SignedData type, whether a new use of SignedData, an existing use of id-data in SignedData, or the existing use of a different content type within SignedData.</t>
        <t>The entity verifying a CMS SignedData for a specific protocol <bcp14>SHOULD</bcp14> (<bcp14>MUST</bcp14> for new uses of SignedData) verify that the EncapsulatedContentInfo content type matches the value that the protocol expects, and <bcp14>SHOULD</bcp14> (<bcp14>MUST</bcp14> for new uses of SignedData) fail processing if it does not. A general-purpose CMS implementation that lacks protocol-specific enforcement of the above defined checks <bcp14>MUST</bcp14> expose the received content type to the application layer, so that the checks can be performed by the application.</t>
        <t>As specified in <xref section="5.3" sectionFormat="of" target="RFC5652"/>, a SignerInfo signedAttrs field <bcp14>MUST</bcp14> be present if the content type of the EncapsulatedContentInfo value being signed is not id-data.
To avoid the attack described in <xref target="intro"/>, a recipient <bcp14>SHOULD</bcp14> (<bcp14>MUST</bcp14> for new uses of SignedData) verify, for each SignerInfo, that the signedAttrs field is present whenever the EncapsulatedContentInfo content type is not id-data, and <bcp14>SHOULD</bcp14> (<bcp14>MUST</bcp14> for new uses of SignedData) fail processing if it is not. Unlike the content type check above, this verification requires no protocol-specific context.</t>
        <aside>
          <t>NOTE: The rationale in the note under <xref target="sec-existing"/> applies here as well, and equally to existing uses of id-data and of other content types: making these checks <bcp14>MUST</bcp14> for already-deployed protocols risks breaking interoperability with senders that predate this document.
<xref target="mitigations"/> describes measures available to a recipient when this section's recommendations cannot be applied.</t>
        </aside>
      </section>
    </section>
    <section anchor="mitigations">
      <name>Mitigations</name>
      <t>This section describes mitigations for cases where the best practices given above cannot be applied.
When the id-data EncapsulatedContentInfo content type is used, the following mitigations <bcp14>MAY</bcp14> be applied to protect against the vulnerability described in <xref target="intro"/>.</t>
      <section anchor="recipient-detection">
        <name>Recipient Detection</name>
        <t>This mitigation is performed by a recipient when processing SignedData.</t>
        <t>If signedAttrs is not present, check if the encapsulated or detached content is a valid DER-encoded SignedAttributes structure and fail if it is.
Because a valid DER-encoded SignedAttributes structure necessarily includes the mandatory contentType and messageDigest attributes with their respective OIDs, a legitimate message is unlikely to coincidentally match this structure and be misidentified as an attack.</t>
        <t>However, a malicious party could intentionally present messages for signing that are detected by the countermeasure and thus introduce errors into the application processing that might be hard to trace for a non-expert.</t>
      </section>
      <section anchor="sender-detection">
        <name>Sender Detection</name>
        <t>This mitigation is performed by a sender who signs data received from a third party (potentially an attacker).</t>
        <t>If the sender is signing third party content and will not be setting the signedAttrs field, check that the content is not a DER-encoded SignedAttributes structure, and fail if it is.
Note that also in this case, a malicious party could intentionally present messages that trigger this countermeasure and thereby trigger hard-to-trace errors during the signing process.</t>
      </section>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <section anchor="sec-applicability">
        <name>On the Applicability of the Vulnerability</name>
        <section anchor="sec-general-applicability">
          <name>General Considerations of Applicability</name>
          <t>The vulnerability is not present in systems where the use of signedAttrs is mandatory, as long as recipients enforce the use of signedAttrs. Some examples where the use of signedAttrs is mandatory are SCEP <xref section="3.2.1" sectionFormat="of" target="RFC8894"/>, Certificate Transparency precertificates <xref section="3.2" sectionFormat="of" target="RFC9162"/>, firmware update <xref section="2.1.2.1" sectionFormat="of" target="RFC4108"/>, and the German Smart Metering CMS data format <xref target="BSI-TR-03109-1"/>.
Any protocol that uses an EncapsulatedContentInfo content type 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 correct content type and presence of signedAttrs.</t>
          <t>When the message is signed and then encrypted, it will be difficult for the attacker to learn the signature.
However, the vulnerability might still be present if mitigations are not applied.  For example:</t>
          <ul spacing="normal">
            <li>
              <t>Signing and encryption might not be done on the same endpoints, in which case an attacker between the endpoints might be able to learn the signature for which it could remove or add the signedAttrs.</t>
            </li>
            <li>
              <t>IND-CPA (indistinguishability under chosen-plaintext attack) encryption does not give theoretical guarantees against an active attacker and thus does not guarantee that an attacker cannot rearrange the structure.</t>
            </li>
          </ul>
          <t>Conceivably vulnerable systems:</t>
          <ul spacing="normal">
            <li>
              <t>Unencrypted firmware update denial of service
              </t>
              <ul spacing="normal">
                <li>
                  <t>Secure firmware updates often use signatures without encryption.
 If the forged message can bring a device, due to lack of robustness in the parser implementation, into an error state, this may lead to a denial of service vulnerability.
 The possibility of creating a targeted exploit can be excluded with great certainty in this case due to the lack of control the attacker has over the forged message.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Dense message space
              </t>
              <ul spacing="normal">
                <li>
                  <t>If a protocol has a dense message space, i.e. a high probability that the forged message represents a valid command or the beginning of a valid command, then, especially if the parser is permissive with respect to trailing data, there is a risk that the message is accepted as valid.
 This requires a protocol where messages are signed but not encrypted.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Signing unstructured data
              </t>
              <ul spacing="normal">
                <li>
                  <t>Protocols that sign unencrypted unstructured messages, e.g. tokens, might be affected in that the signature of one token might result in the corresponding forged message being another valid token.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>External signatures over unstructured data
              </t>
              <ul spacing="normal">
                <li>
                  <t>Probably the most strongly affected class of systems would be one that uses external signatures, i.e. CMS signatures with absent content (that may be transmitted encrypted separately) over unstructured data, e.g. a token of variable length.
 In that case the attacker could create a signed data object for a known secret message.</t>
                </li>
              </ul>
            </li>
            <li>
              <t>Systems with permissive parsers
              </t>
              <ul spacing="normal">
                <li>
                  <t>In addition to potential issues where the protocol parser is permissive (e.g. with respect to trailing space), if the CMS parser is permissive (e.g. allows non-protocol content types, or allows missing signedAttrs with content types other than id-data) then this could result in accepting invalid messages.</t>
                </li>
              </ul>
            </li>
          </ul>
          <t>Further note that it is generally not good security behaviour to sign data received from a third party without first verifying that data.  <xref target="sender-detection"/> describes just one verification step that can be performed, specific to the vulnerability described in <xref target="intro"/>.</t>
        </section>
        <section anchor="cross-protocol-and-cross-protocol-version-attacks">
          <name>Cross-Protocol and Cross-Protocol-Version Attacks</name>
          <t>The following explains how the use of the same signing key in a protocol that adheres to this specification and at the same time in a different protocol or protocol version can still lead to vulnerabilities.</t>
          <t>One observation is that the claim made in <xref target="sec-general-applicability"/> that the vulnerability is not present when signedAttrs is mandatory and enforced holds only if the signing key is not also used to sign id-data content without signedAttrs in some other context.
A signer who can be induced to sign attacker-chosen id-data content without signedAttrs (see the second attack described in <xref target="intro"/>) becomes a forgery oracle for any other protocol or content type that relies on the same key pair and mandates the presence of signedAttrs.</t>
          <t>This holds even for a protocol designed correctly per <xref target="sec-new"/> or <xref target="sec-existing"/>.
Mandating and enforcing signedAttrs within one protocol gives no protection if the same signing key is used without such enforcement in some unrelated context, e.g. an implementation that reuses an existing signing certificate to sign under a new protocol.
Vulnerabilities arising in such scenarios would classify as vulnerabilities to cross-protocol attacks.
The risk also arises when an existing protocol is updated to mandate signedAttrs (<xref target="sec-existing"/>).
The same key may remain exposed to both the old and new behaviour, e.g. an implementation must support both during a transition period, or a user signs with the same key pair from multiple independent applications (e.g. separate mobile and desktop clients) that adopt the new behaviour at different times.
This scenario falls into the category of cross-protocol-version attacks.</t>
        </section>
      </section>
      <section anchor="degradation-of-security-guarantees-through-the-use-of-signed-attributes">
        <name>Degradation of Security Guarantees Through the Use of Signed Attributes</name>
        <t>The use of signed attributes in CMS signatures effectively reverts any signature scheme to a scheme based on the hash-then-sign paradigm. Modern signature schemes diverge from the hash-then-sign paradigm which allows them to reach better security reductions. Specifically, some signature schemes like SLH-DSA <xref target="FIPS205"/>, LMS/HSS <xref target="RFC8554"/>, and XMSS <xref target="RFC8391"/> prefix a randomization string to the internal hash operation of the scheme's signature generation function and thus achieve independence from the assumption of collision resistance of the underlying hash-function in their security reduction.</t>
        <t>It should be noted that by employing signed attributes in CMS signatures, the modern signature schemes lose this security property.</t>
      </section>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>In the "SMI Security for S/MIME Module Identifier" (1.2.840.113549.1.9.16.0) registry within the "Structure of Management Information (SMI) Numbers (MIB Module Registrations)" registry group, create a new entry to point to this document.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Decimal</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD1</td>
            <td align="left">id-mod-mime-data-2026</td>
            <td align="left">[[This Document]]</td>
          </tr>
        </tbody>
      </table>
      <t>In the "SMI Security for S/MIME CMS Content Type" (1.2.840.113549.1.9.16.1) registry within the "Structure of Management Information (SMI) Numbers (MIB Module Registrations)" registry group, add a new entry for id-ct-mimeData that points to this document.</t>
      <table>
        <thead>
          <tr>
            <th align="left">Decimal</th>
            <th align="left">Description</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">TBD2</td>
            <td align="left">id-ct-mimeData</td>
            <td align="left">[[This Document]]</td>
          </tr>
        </tbody>
      </table>
      <t>In the "CMS Inner Content Types" registry within "Media Type Sub-Parameter Registries" registry group, add a new entry:</t>
      <table>
        <thead>
          <tr>
            <th align="left">Name</th>
            <th align="left">Object Identifier</th>
            <th align="left">Reference</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">mimeData</td>
            <td align="left">1.2.840.113549.1.9.16.1.TBD2</td>
            <td align="left">[[This Document]]</td>
          </tr>
        </tbody>
      </table>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="X.680" target="https://www.itu.int/rec/T-REC-X.680-202102-I/en">
          <front>
            <title>Information Technology - Abstract Syntax Notation One (ASN.1): Specification of basic notation</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation" value="X.680"/>
        </reference>
        <reference anchor="X.690" target="https://www.itu.int/rec/T-REC-X.690-202102-I/en">
          <front>
            <title>Information Technology - ASN.1 encoding rules: Specification of Basic Encoding Rules (BER), Canonical Encoding Rules (CER) and Distinguished Encoding Rules (DER)</title>
            <author>
              <organization>ITU-T</organization>
            </author>
            <date year="2021" month="February"/>
          </front>
          <seriesInfo name="ITU-T Recommendation" value="X.690"/>
        </reference>
        <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>
        <reference anchor="RFC2045">
          <front>
            <title>Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies</title>
            <author fullname="N. Freed" initials="N." surname="Freed"/>
            <author fullname="N. Borenstein" initials="N." surname="Borenstein"/>
            <date month="November" year="1996"/>
            <abstract>
              <t>This initial document specifies the various headers used to describe the structure of MIME messages. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2045"/>
          <seriesInfo name="DOI" value="10.17487/RFC2045"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <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://eprint.iacr.org/2023/1801">
          <front>
            <title>ForgedAttributes: An Existential Forgery Vulnerability of CMS 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="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="RFC8391">
          <front>
            <title>XMSS: eXtended Merkle Signature Scheme</title>
            <author fullname="A. Huelsing" initials="A." surname="Huelsing"/>
            <author fullname="D. Butin" initials="D." surname="Butin"/>
            <author fullname="S. Gazdag" initials="S." surname="Gazdag"/>
            <author fullname="J. Rijneveld" initials="J." surname="Rijneveld"/>
            <author fullname="A. Mohaisen" initials="A." surname="Mohaisen"/>
            <date month="May" year="2018"/>
            <abstract>
              <t>This note describes the eXtended Merkle Signature Scheme (XMSS), a hash-based digital signature system that is based on existing descriptions in scientific literature. This note specifies Winternitz One-Time Signature Plus (WOTS+), a one-time signature scheme; XMSS, a single-tree scheme; and XMSS^MT, a multi-tree variant of XMSS. Both XMSS and XMSS^MT use WOTS+ as a main building block. XMSS provides cryptographic digital signatures without relying on the conjectured hardness of mathematical problems. Instead, it is proven that it only relies on the properties of cryptographic hash functions. XMSS provides strong security guarantees and is even secure when the collision resistance of the underlying hash function is broken. It is suitable for compact implementations, is relatively simple to implement, and naturally resists side-channel attacks. Unlike most other signature systems, hash-based signatures can so far withstand known attacks using quantum computers.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8391"/>
          <seriesInfo name="DOI" value="10.17487/RFC8391"/>
        </reference>
        <reference anchor="RFC8554">
          <front>
            <title>Leighton-Micali Hash-Based Signatures</title>
            <author fullname="D. McGrew" initials="D." surname="McGrew"/>
            <author fullname="M. Curcio" initials="M." surname="Curcio"/>
            <author fullname="S. Fluhrer" initials="S." surname="Fluhrer"/>
            <date month="April" year="2019"/>
            <abstract>
              <t>This note describes a digital-signature system based on cryptographic hash functions, following the seminal work in this area of Lamport, Diffie, Winternitz, and Merkle, as adapted by Leighton and Micali in 1995. It specifies a one-time signature scheme and a general signature scheme. These systems provide asymmetric authentication without using large integer mathematics and can achieve a high security level. They are suitable for compact implementations, are relatively simple to implement, and are naturally resistant to side-channel attacks. Unlike many other signature systems, hash-based signatures would still be secure even if it proves feasible for an attacker to build a quantum computer.</t>
              <t>This document is a product of the Crypto Forum Research Group (CFRG) in the IRTF. This has been reviewed by many researchers, both in the research group and outside of it. The Acknowledgements section lists many of them.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="8554"/>
          <seriesInfo name="DOI" value="10.17487/RFC8554"/>
        </reference>
        <reference anchor="BSI-TR-03109-1" target="https://www.bsi.bund.de/SharedDocs/Downloads/DE/BSI/Publikationen/TechnischeRichtlinien/TR03109/TR-03109-1_Detailspezifikation_v2_0.pdf?__blob=publicationFile&amp;v=2">
          <front>
            <title>Detailspezifikationen zur TR-03109-1 - Anforderungen an die Interoperabilität der Kommunikationseinheit eines intelligenten Messsystems</title>
            <author>
              <organization>Bundesamt für Sicherheit in der Informationstechnik (BSI)</organization>
            </author>
            <date year="2024" month="December" day="13"/>
          </front>
        </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="RFC9162">
          <front>
            <title>Certificate Transparency Version 2.0</title>
            <author fullname="B. Laurie" initials="B." surname="Laurie"/>
            <author fullname="E. Messeri" initials="E." surname="Messeri"/>
            <author fullname="R. Stradling" initials="R." surname="Stradling"/>
            <date month="December" year="2021"/>
            <abstract>
              <t>This document describes version 2.0 of the Certificate Transparency (CT) protocol for publicly logging the existence of Transport Layer Security (TLS) server certificates as they are issued or observed, in a manner that allows anyone to audit certification authority (CA) activity and notice the issuance of suspect certificates as well as to audit the certificate logs themselves. The intent is that eventually clients would refuse to honor certificates that do not appear in a log, effectively forcing CAs to add all issued certificates to the logs.</t>
              <t>This document obsoletes RFC 6962. It also specifies a new TLS extension that is used to send various CT log artifacts.</t>
              <t>Logs are network services that implement the protocol operations for submissions and queries that are defined in this document.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9162"/>
          <seriesInfo name="DOI" value="10.17487/RFC9162"/>
        </reference>
        <reference anchor="RFC4108">
          <front>
            <title>Using Cryptographic Message Syntax (CMS) to Protect Firmware Packages</title>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <date month="August" year="2005"/>
            <abstract>
              <t>This document describes the use of the Cryptographic Message Syntax (CMS) to protect firmware packages, which provide object code for one or more hardware module components. CMS is specified in RFC 3852. A digital signature is used to protect the firmware package from undetected modification and to provide data origin authentication. Encryption is optionally used to protect the firmware package from disclosure, and compression is optionally used to reduce the size of the protected firmware package. A firmware package loading receipt can optionally be generated to acknowledge the successful loading of a firmware package. Similarly, a firmware package load error report can optionally be generated to convey the failure to load a firmware package. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4108"/>
          <seriesInfo name="DOI" value="10.17487/RFC4108"/>
        </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 324?>

<section anchor="asn1-module">
      <name>ASN.1 Module</name>
      <t>The following module adheres to ASN.1 specifications <xref target="X.680"/> and <xref target="X.690"/>.</t>
      <sourcecode type="asn.1"><![CDATA[
<CODE STARTS>

MimeData-2026 { iso(1) member-body(2) us(840)
        rsadsi(113549) pkcs(1) pkcs9(9) smime(16) modules(0)
        id-mod-mime-data-2026(TBD1) }
DEFINITIONS EXPLICIT TAGS ::= BEGIN

IMPORTS
    CONTENT-TYPE
    FROM  CryptographicMessageSyntax-2010
      { iso(1) member-body(2) us(840) rsadsi(113549)
         pkcs(1) pkcs-9(9) smime(16) modules(0) id-mod-cms-2009(58) }
    ;

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

    ct-mimeData CONTENT-TYPE ::= { IDENTIFIED BY id-ct-mimeData }

END

<CODE ENDS>

]]></sourcecode>
    </section>
    <section anchor="rfcs-using-the-id-data-encapsulatedcontentinfo-content-type">
      <name>RFCs Using the id-data EncapsulatedContentInfo Content Type</name>
      <t>This appendix lists RFCs which use the id-data content type in EncapsulatedContentInfo.
These are all existing uses, as defined in <xref target="sec-definitions"/>; new uses are subject to <xref target="sec-new"/>.
It is a best-effort list by the authors at time of authorship.
The list can be used as a starting point to determine if any of BCPs in this document can be applied.</t>
      <t>The following table summarizes the RFCs' 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 use 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">
              <bcp14>SHOULD NOT</bcp14> include 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 recipient 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 recipient to successfully verify the signature or to successfully process the CMS data then the vulnerability 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 EncapsulatedContentInfo content type, and shows the use of signedAttrs.  The document itself never refers to signed attributes, but instead to authenticated attributes and an authenticatedAttributes type.  Erratum ID 8247 clarifies that it should be "signed attributes" and "signedAttrs".</t>
        <t>Since SCEP requires the use of signedAttrs with the id-data EncapsulatedContentInfo content type, and the recipient must process at least some of the signed attributes, it is not affected by the vulnerability.</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 content type, 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 EncapsulatedContentInfo content type.</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>
        <t>It does not specify what the behaviour should be if signed attributes are found by the receiver.</t>
      </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>
        <t>It does not specify what the behaviour should be if signed attributes are found by the receiver.</t>
      </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 CAdES is not affected by the vulnerability.</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 EncapsulatedContentInfo content type 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 message-digest attribute, which is a signed attribute.</t>
      </section>
    </section>
    <section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>The authors would like to thank Russ Housley, Carl Wallace, and John Preuß Mattsson for their valuable feedback on this document.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAAAAAAAAA8V96XLjyJXufzxFXlXELekGQW0ldZV6sVUS1c1xaRmR1e6e
dkcHSCTJtECAFwlIxZbLrzLzYx5jfo1f7J4lN4CkStWea5ejLQpM5HLyLN9Z
MhXHcVSpKpMnYuut1JW4KZNxpcZSi0lRioGa5jIVp1VVqlFdwVOVi7PLgfni
PKmSrSgZjUp5jx2c3dBbmr7El9a2HyeVnBbl8kSMxouoXqTwuz6JhIjF0fHR
QRSlxThP5jCltEwmVaxkNYmzZL7Q8XiuY1lP4GcS8yjwchLvHUa6Hs2V1qrI
q+UCXu33hhdCvBBJpguYmspTuZDwf3m11RFbMlVVUaokw1/6p2/hB8x7q387
vNiK8no+kuVJhPM6icZFrmWua30iqrKWESz0MEpKmUCvAzmuS1Utt6KHoryb
lkW9gKfv1FxVSLUURoEJJZm4lONZkis9Z7Le/KH/g0jyVAwu+5e9rehOLqGD
FGgQi7NyuaiKaZksZmoML2qdTKUYLPMq+UDfXw7wx8rO4MOA8L4NEj26l3kt
kca/fZJCMGW3/ghrVflUfItd4fN5ojJ4rheJnv8ed6tblFP8IinHM/hiVlUL
fbK7i+3wkbqXXdtsFx/sjsriQctd6mEX35yqalaP4F3e94fp7vqtx7YZ8k8V
jGPf6XIvXVVseHv3mQzWnVXzbCuKkrqaFSWxKvwnxKTOMubUcyCczMT3SS6+
lTAb+lrlwDTn3dZTWDQ0/jVBqp+Y7b6SHyphuYlaSSZqSv1275N8ih38fkzN
c2gea9O8Oy7ma2Z0kWR3hRhUpcx/vZNrRr4cfitOvw0Hm+ArXW1e+f28mnZT
GUV5Uc7hnXvinx+6x6/3TuitKimnEuhuyf7w8NBVVd1VebVbyvHuML7tncX0
Qnywd7C/dxD3d2XO7xqd088n3HuRiyHwX15kxXQJvHs6gnmAKjKcL66Kiltd
51Jsnw6uuvs7J2KwkGM1UWP+qpiIUaJBanLTeIvG8ruG/2Lzk8gBemL4Ph7S
IxJ3gRON9w7oiZalklrBFO3L1FrcSiD5HLSJoSQtkWnz5nNp8+a30AZXL2Q+
LlKUw7LOQH+u0uIt0aJnm91iM7H9tne70xFnSV7k0DZb+f4MviexP1e6gue1
0jPQE+1m59DsH0feN3tRpCw5mBHfnV7eDPYP9tfTG6UW+edOll7VzKXEFe3C
W6CLKokGQO/qTKVSx/BwjQ7Y22tsSe/9RXx2eUr6sW3WnqIFaYKLblMcHUVe
xftAlGN4CN8fHK5fkVyUwDxdlYxLWgy8d7i7/3pvvzHBC/iKLQBbhRNxmove
B9hKsHywXEENyqX4vs5yWSYjlYEKQW6xy0mqupT671nOIS7ngPeYt8z2cHN+
8YwFdRfpJII3Lvo3g4O9I1Ch1/3u/l73eO/g9e5VfzDs4jdd+Apb3V6cvT58
A2xgPh8dvaLPbwf9eHgL0GB/7028gUtQKkdadUd1noKq2x3MwLCn58VY754X
D3lWJCl86u1CX7s39ShTd8SSMt8leVR6PJO3ajyrMgVqGp7e0nC7ftxfzmUF
ulUv5K8gm/z6L/cHv+zhIn/3yy+jrBh9vcCuWW4vVCb/9/3XB41NXdOHzMWv
dSn8QKgWUEBSWdZgK3IQYZEqKfo58HmxsFv9t/+sBDQRfwAJq3PTmZYqn0lV
CfhJEK+SWaagE2AaQiB6Cfwz/wRTkLy/BUpKncwrMfnbfyF+BAqV1DcAQRw4
UGrQJxLxDnTSoL+zIhIH8f5hFMVxLBJjC6JoOJNPAiRQX5eDHTFLNCx+MpHA
nhWhIuJqcQ8i7zTkSM6Se1UAFcFogIaDRw8zWcF8DY4SiYe9wBdiAXKB/YHs
g4HpwmSUFvCszirCuYlYFFbMZCByEyNy9w2RM8AYNe2iLKpiXGQaJgAEE7WW
+J0ZAdBwPcdxgbBjmA/MBibZ6g27yWBILQDWqSnTl56OENUvHKqvCpHcFyoV
qmr3b5A4ShEBcTFa4tRmaqRQbdKoODVQFvhRpTFqWQEAGVdK6JAUYy4fsJ22
DZuKktp1eWPnKk0zQBgvkE3LIq3HtDOPLxT++vHZ+/34+L9g0jjnjx/N5q2Z
W5JlgDKBKEvBEB8nSK3ZT1kkJTQBFAc0wsfUkt6EdqYnmDguZwpGCHoyb4vq
oRDFgmkOPJQLkB3YG6JaEvAfrE0Xc2k7Az0VAzCkprLdECn3MCsy1/pLYDxo
f1bMFzU1By6fieIex5+5Vh2xyJKxhEewtdRCcV9zJlycgmADRzjett8PnO9g
WB5X3iEWmj4xxfZrXZDj4abuBMyJppfaUUNXcQJIN7VMs8ow2CtLG5LVTyQt
oHcQSIGoARQN7B52wNI6ls0OV9eHTEH7lCNNCDFgF4A2spreX680utFp8MIY
3gYdi6qNmMErHxyFJIHbgp8b7XfFMLmTNGIJslUmoByQq4zaMTslLo06eABt
Bs7qVIGTli1tqwfwbVYXZXUUbhv4qGWJjgNTGrzXMRFM19BpNUuq9XThbYCd
ArVru8KGdgoCoF9M4BNmsfJ2sljAsPATBQ0xarKALUvQ1QTVkIIlGyOctIKJ
m0OMwQLbwZFKCYpnjJ4Zyw/qEz/7y5c8d6RKLpH75YcFmE+wlY428L5jrrIr
8B00CfjsyckbVnErtTsB7ypQrXbSSBHmCokPSwD0OHgyTQAYVc0uAoGZiMtu
dNAV72QVTM+oGjeWmYNlrZcwwqwA1U0bXtTVWokjkfPcOCsKTWYCdtH2Czw9
Qgm+TwDvejIgiZE71xBj9GdY15reExJdmHOa8hCb6UldWIlssTdSEQMOlj+b
35p3AOn47a7RTMMXY+DsSoZa7byt1JBYGxSbW5HfGu6wxTcoAkwsNGq0UC+u
lhox0BqkxM6D1BS+1zDOOHcjmDxI0ze3ayWPRjyY6AoFamAcjmSBdyJ+si7P
z0Q7NN0EDFmb/kS+w88wg8fHgWRDetQ9xM0NbGPFsbbom2aQDm0ZAJDMvMfq
yilKpD8CIH6ly9RzaoINX5J1BDQHORGX7wdD5DWri9QkNFDOouKzXqAfzvh7
BIhI91pCH1bTSxoJlbxRFEToWnew88QKYymS8VguKl5NczSLVgxTbBqYmpMJ
J2aD1t4QdQzb86OS2q/wGVmsebJEbYc/2DABViGAuGrurHZ1Swi4JzOsgdtD
/Aakv+bBCsKpID1px9LX9YAGMX9ZGWJspkWHmR2jokC57CFZapRpvd4wd9xU
Qd2phcIOnRIkFmlxlNn+TqDOgFxZRiQBGzSWwEts1jMTjJxkgJu9Swpuw8yg
G8MEBf9GiNrrCiCtaWqGuU/AtYf54QbMJesra4CJk4sc9HUO5rF4QMW9QAOC
9O6KKzQp0DyDvjsirZ10PqgUsIZcZMVybi0X9gqGfoxz9yDe0slgZbTsMMM5
okloBF4vSC2oEONUdRqTA+WK5AHpQeehlDC7VOlSThPw7JBcp8jcHuN3mD0C
H2FCPhz2iXZzrubyfAUJsy2wHP4MvM4igV82LLrtFGaAMWJnCJgCtTauxjMc
h7YvMqlL2lDv87T8GBwidHWIA9E0YcCfLB1uKtuLCnV0sEGYomDim9dgIirn
rcZ5rmirUOkEs3ypvX/EWvO3uEgBqR2ULSX4P7jUe+QA5jE7LfKfDbBNMrBc
6TJmvsTtnC8yiXNjsnQMhESeR2wCjVHEQTJx7+9VwkZUTUuGt9NapdQ3sMXj
o5bjmBxZUMMfP3bRTwNdeY+cab3Lc+Q3xb8/vsAXUv/EOHB3colWDRTLFpoG
TLmQibi6ps+3vX9937/tnePnwXen7965D5FpMfju+v27c//Jv3l2fXnZuzrn
l+GpaDyKti5Pf9xixbV1fTPsX1+dvttiExAyG1KHRQJDHyUoLmTuREeW+0hM
3p7d/Pd/7L8yzubB/v4bMKj8y+v9L17BLygkPBrpF/4VCLyMGBVTkAAUIEiQ
qoBPOwgs9ax4yAWiXiDw//kJKfPzifhqNF7sv/rGPMAFNx5amjUeEs1Wn6y8
zERc82jNMI6ajectSjfne/pj43dL9+DhV7/LQEmJeP/1776JoujCaPVFXS4K
p4eCDeoYJyBQqIHQKHbpdSP8jXLdEZOymFPXGNjAV4NI28oosGkPoGXhLVVq
r0lhe1qjMatgXpCcEjZLoAjGLFUo3wlFCHJrWXA8o+EoZITaHA0MzsHGnNiE
NhaBRhQnTAF4dqgwNgP9QxcYXypXkI7CDCfDAHIQ+6dXp+SqWjkmIiJqs8Aa
uJ3DPlVbtXlafQkoQa4oBFqp0xjeiCKBwuE0aQ5niQzcEkOYLyuISWGdcOMw
BKtwH7VRVWvsGeDZv/71r0ChvIvRcNC64yp2La/f/kvvbCj6572rYf+i37sV
Jydfi0cgQrG9vwP4AENB8ahIl9sHOyaaWevt16/2dkSpk1Sr7f39w6NXb3bE
4m6s8R38+WYbHmgcZXv/eEeMK/jCvD18e34gPuKceH3rjbDiSGuems2FTaXY
CNs/IxOr5mPbGpUVWu18hjEvm1auZcDBRXqn7uT6GXQ2b4QInEHm1wLko4rQ
fYft7Yr3efaJfukF0549CY+ecYoRASOMeGojoikbK1LKe6+OPn4ERNyV3Q6v
aAYmD9iIIKw2nOY8vUjgtnfJn3GqPwmNuaEKjQiLm2K4zUQYMCIQDMFc3qyh
MHhBG7eqGcDdFJhdE9xl218ByUljlBSPxfFeAF59EO8/sd9smIEzwCBfPYM/
rMlxYMiy3CavqYHkRH/i4OcG/nqKhYwpsvi0zklR2g5xRhjKAdijUc2DKlYG
bnt3Hkkp5gV6rEafdqxxiUe1yqqNOnMb5U5+SBBF+R0xrWNqjQisxjoTVrB1
DiCdwHCg6zFUgfxrV7gDe9WfGCvWFhjDxR10nQGJzSqDXslVoDhH4fS94EQK
LncLd66fY6Ai1Kh6i3Q+OFgjfgk8jcBJ3bqUKaC+IVG6HsU3SZnMJfZ8y60V
9uDepCAETH7g1D+AuVhLDJXjQo0RQN3lPAIN9DRwki2dzR0gDlwkqnRxHIp8
1eR+2v21IJ2Zu2etiOXwwItvMS7zuDNOUfRH9tVthz61oj+bpS0BmzCA0yW8
b4ZpAYaDc2xjUwau2JEQF+KjJIgOb+OaieV43jsBM3bFKaYkKIWEqR3KVmDo
1jchODEp6jz9J3CFlXNn6v9uYceWRT2dcRCYvPeRNKKurXPGkY+QBgkGOckn
sbbAqruPYHF4lwLvj1BPWpCf9eSGATKvM3rzHn1/YPKEI13Gh8P3C4pQFR34
jzsu5b2SDzgtckYBEWodYDwYqARrEReTSSNeXCp9JxruxuMjJ8E+UvgQ3vm/
NcwT3AorYmimL7y6ojgQstMoGd8hkNXxuJgvYMoIyeQHILpmtw1ICz4gi2Ag
IE79mABESwXNwfTxGzhIoDPJOuH/oXkaATWRjJYwHPHhtA3nSFenx0YOGDOh
wKeJCdsoSjBz6gt5hVAEkIKRuHV+N0bHgkXOCGnNkz8D4cCUkx5nQUYxpPce
FMz/ubMEoj0Ql6wSzPNWoLUmYFHqkiPuXg20qQmGC+SPKNq1mszO07Nyy1v4
H1JtoT7jAZY+WbQav0TEZ2JvHEEsgVFVyU6ReQTSMlLAcTnsUL+xHfPkDiZN
Wi2xb1qPz4cZXVDDWpLmwhklziTGFwNBWzvXIIdv01vaducTAHZ+7MxPEpVZ
/w5nYOKt4XYDSbmM0oapQXvCzn2VoKTCKsu7FLz8r7dGWTG+2/oGAxu9E9EA
h7R9hu6gaIxLmNtoOouV07U+EKlJT5pAELDYOKtTH9UNMUmo+CyyWxOQ1phQ
45gmIRwX/Lql/XG4nHQ0Mz9pLycaqllywpaGN5mnpV0uKwliTyBlM9KjAas3
N5rVk41jcZaLVkMICc2UiZKFud9ghd3o8TGIGYJq9Yh8DlYGC58A8mGVqnFj
Qy40IVC/ZS+R2cNStTB8a8KP3eirXWKCb/6/gKhkXBYYRjCJhBBBWfWmGUr9
Ad4buCENXGrNI4ouE1qKy7owYxgdkQRy4QWtJIvdCNAEOGk7MMY7KHW0sybf
3ohJbLfDCzsdHw9ld0tmE9zae1JePqmwwWwaMcWF4BhIOAwVYXjYRr6pGION
hSMbzLGpIInPW7kNEnGiFW5xo/JSs3SkZfLgFRdsxUucLsMUl9VBuTFxIUQL
IxkEZ2HJpRM4NBZIFuBvxwAuK2mn/lKvbgAIFO+v5GAYRsp4wU1G+uQqxXYj
UKXYu89QyVg7agNqZLs8qyBr54GftInSOwElXBB/PTmcPfLSzMtDHkINE6eA
XsdGuIJkQJ0rDJ9jTJ0lB7M9S8cjpLRYGXExh9WBRvI6RBIK7totDIhv0lGa
rQayKfJYg0bO7W76ObdOyXwfFps8vnDaJw6rUD624gq8Og4hAEL6hHvvhXeD
0HZWZLPpeYUtTZiq3ToEN0/DDZMBNCEWWuWSOb41dVaR1iB4LjImc5ukbnNu
Zcf07XnnWfBonlSALEzFHSWl3ftuBmwuzbY/ezprUIWqnMZD54/LrrLYhC44
kdjI7/BkMsoc2unEjkQSU0UmnmizlSNE8TZuRpjJ6CtYRGEwATCdVPdBes/m
DA3qcRH0LFnK0rs+FFDkLo0281JkgFUjHo65TA+9SHdvKlzoNLPuq6jlH1Nz
MAxjdE9anyaA/Uwe7VAbmYxnwaI7n0DhduUIU6QtCnwWjzdX+T/CxsowcRDv
bQzJaJ240WSwG1V2xhPATtbwNfX04Vn4WgY+u4l1wLykCTqtJDSsIiVjCED4
QWbGB0DvO2O130httAM88Cub13C5+gQdHYPgtGzIHam1dhbXBysQIehPQmuD
qsN8TjOd809Gvi/EZZCqf3wRTmVTiDxM7iORxgmS26cuWuFzk28j/bZmLn+0
9Quf5Rwr7eJSYZYqnNrl6Y+tagPcPEzMhOGdZjx/vcpoQ4FzC2GMtQ+wDop7
qFpXNisQyIap7U/WYTxXqcNiaXTnJ2s3qWqsVU64rgrQ1246b9pqiW701ni2
n9lTLnF9Saky5/OaBCHh1aJc2mlSUJOqRdaXCmqH8BTmVVHLYNmFuO6fo0kX
mZwC4fG4kK830o0Q1LiAGVAIh1QEQQYjLo2VjxCvahfrsSkyU9oVRd8VD6i4
OxSgworWotYUAca1oJtN6UJWZ9nSKXwLO93RW4eQMdLHQNhbYOgJdYgRel+p
o0wBPux7WRZUEL/G4gd8RSO4fMUMXFSCCCUWnzNWy4s8RmxUVszaA45JOL4m
J7SF1p/D6ya28TBjIKA5lehQC/s5uAEwJSbftjuYgcjf122bvExQBoeb5kjo
Owgrf10N2wjfqnxQarVijuXJgyMvOPh+8kxm76yTm6uiMliUfCVb04Ja8jcz
EE+0VNOpNK7lWm7hAm3bDnc+roqYd94wT1qXIVnws2EdoHj0wh11xSSFD3Vo
YhMTwz019QSuGhAfNk+tcRAjCRt+xC5emEMVWat77KXZLfdggXa7p+GK5m4q
TAohmEIyb5iMC9TSs04vUdFPVqCLo73a1hatb+iiKwYYqzCx/s8YjpTA4Kx3
E6Drw+5Bdx9f+h3WLr1+8wrx6hnIKSMwKYZlkmtgHOBNYpOx/043+7G9vNk/
Jpg+UeX8AYc0QXXfGIYMh321v/eaYLIJ838rsapNDADLVeISc0/INOjypMb7
A70K3TWP9aHVPOW6SvbFiIUJmEFnz7LxhQ+1Oh83iGKbrNPKibCuV9cWGTFH
l5IgJLrl9mxA22srwoJdC3mLulK2JgfvGyiNQbN9NI8y0amxDUFOD3YCg2UX
wOSmkxl4rsrkL21mBb12NcZcjS1ACc/EZDIp/bEdyrU3yNCWFrYOAJa588A3
axxSKzmIa7GaEEFWi45IDYwKISDO8/bhYKOJUyxoMmeSKAAF+nwBhhn9cpWb
7C9qx8ZBn5GsHqSrbDUvBFl4A4bXLJwIxL2qyqjXUlKSDI1fmrZtQhcW0r86
j89uTsW2ylN/utqSi50SPlAQL7JEkZtjJrsTrtzFRRH14kBFKSs6zT2tE5Dd
SqIAGPyJ62VI45btrL7vyL5nbErzbBOXpK49TYQH4oocTS8QaxmWrhvNSDv4
Pnf8tqIiAA9hihu5WJb3AOaxiipmEyHbrVGHV1yd7/fC5xM8jeiUh7HtrXJx
Ck7YsKrEEV2hN4ZScCZlMap1lWPu1riNoA014oOGJHcYJWG4DO0eH68wCgGz
MhnmKciZWllkU1TcmZRFAejK2zw6mMIz5bPLsAw87lSoysZY5AdCvyZQOcUX
BOprZJ9lAxeE1ex2oahVStKbAXtgktSdK2wSD7n4HNST1y1gJ+yW9dekWtPV
xlyfhQcYQc6w/chKgENKrR0rpdEd3uNA75Mc7tJ4g1OV5+4wU6MNn9voCML2
jAGNi2M3lSAmXR9zzyFK6wgYSAuzw5ybP6DGvg+lvXws2itbPnnBCJ+mYvbX
GxbdLE2hcgcLw/xRGzpRg8LnpKcbqMM6d1KY0uR4F26alQ6myMbLX+M1H7OW
3WkXlnsnsWrca0B7vEHlzfiTO9NGhaT4mnnJ5/qd9dILTI/CjFvbyrG2JGcT
zHtGXeEqex8AAzRO0Bmm3LzsEakg2otCUxEhwCxXP4+ea5Zw0a1DbTZ378ph
CTvI1bEN09pjmoHesYlka6C32TPi4pUKkRRYOxJctwU2J5MtdzasyexHYkgL
U6YzLahXM5lPqxnrN7MpJN0NEWaDZA7K2XNHIqwbZR/tLsfqcwAvYEBCGR9Y
AuECA+FgidFG3ukMoLIpLX/6HRrXDZDqWH2txG3TWjfKHSmNHXfOCbfgiW7M
KW90Pt2ojWAcZ6S4Fb26JtvZfGMNRtxhFGWdJDL+rsaFpJ/DdczUVsrAWF6Y
gy258984XGp8kIxPjE2LIvWQ0t9UYIvmPunxWoPItew+rcI1ABgMEuuTZT4A
9+caa87yFk4FtlhYpmvG+Ds+OWOMzLOjXi/EGWbjYqu6CKA0H8XfmyzjKZ+U
aleOo1VEvEP1+oFf5PBgIw/cqAxkxJMis2qX12tWHuB82pU53IvPc4V5zXYS
nojFQNhigpA4ilgDbzYqRogPXOTDhw5gcXNQKmlwNGe92/rRv/Sk70pxws1e
I0Ft8khTICnWTlPac31SneC7S6xbJm2ffrI82Ri0kYR3kf1TewYXgzyG0QAz
1+Og+/YR3OcMt62lwa8SS3aezuHsYNkNTA5ttb3DoyiTsan/86n0jbUDpiLQ
OoSOfVzuneKSnGHX4snKFY6L8U5Qapn1txsalsA63p9HX7gUB5Vf4OxWz3T5
ig+/5RvqP1AXuPH4BozchbuJYTeJmzm67XYES4HC7KTlAl8kYDjBmsF8beKz
lNbTdzkZO2wQsWhVGietOuPvm3II6EtxIis3JUtjmcOzwoIFwhCYSE50W4b5
bDpqLUcmc66zy7dXIF4kOcFBpLkrJJy+L8Z09cVUe8ks0mTllXoZHsQxGCKQ
Em92y01yl7oaFaacIawZcgZmI73naAx0vVgUZcV9mBBfwhBH2aoJVaRsYHHL
SxOgdTUUTe4nuzXHCz0WlJ9zVzQ269bYrrs6lnkB9OYQCDD9XVUsYE8ohrZj
VXmxYAXYWBsq8OBeDtDg2lSc2C3GC/CyIPJtL6pkTyzc19jqdbe/GLk8l9My
SV2MxwU5v/VO+dDUS2H378PCi/AmR9rHRlwvTFeY2vcAhUrCt3xWtKTzy+ZI
nMPpeFHV3OT1zGd36RFOBS+KiRHR0KWHdBNOqqbzrrgsQGbylZ7weiUYZyr9
EbsNXdgDqIy34Ps5V+thcnskK6wxD0Jn5gYgDHda+wuQqMPaYXUSlFwevPsu
Ph+cip/MfWE/d8S7y8Hud4OB+MlcCPYzxxl/uLTPDt/s/4y6dqI+UF13nhZz
czGiPXtkeIAyrugK8G07rkDIQguayUsdTM7e/YM1SXU+dviBD0SPZwp2KGD2
cUBD0Cz1fGH7xwsZlOZ8uAYpT4LbbEiXZQTpiPBuJPa71DqqYrKjslXtI86E
pywyo6WQc0w+B8UPT7GcqenfxBwZl5KEYdEFpa0x0kHXPeFhhHbsv28OIwwu
+1526BbaXTpPALxYg+D3XbH0ltjGmPLrV3tdPqHX3e/Cf8ddPLm37pjDwOXj
8DKWJAdMTvYnvGlxG4bfEVd0QRTonsv+WzuwOQvB091pn4foeG8L1Q50Wy7Z
K1J55WClT8hHfwF9MVZzYC38hACEd97/+wsMSeoK9v0v0D7mf8J9ot/C9uFz
fGP49nyfvwF0BNtFpyIJJuGtk8fw/E8//eknUoLnZmZ/+vlPP8O7n9wNZIjw
iMnGzdj/p2wGRmDDncCZtw6GcrkEh3w/c3+evzNr9+TA7Uk4n+fsxsbjPW0S
/5YjPStUO0EqXKHNNmu55tiBF0EhGvy3niptKqz+W6VSSJUNfNVlSj5BNbpk
Do9yoM7hW1OZfdre45yZKnACubVuVvY+PtJVr1gpBAqdfnuzRz6sP38cfXV2
fd4Tg+Hp7XDwTRRdmoWwwG04dmwPHLvLFJ9/8JinrreDl9fK+jbqgh3xMTrv
XfSv+ngofyB6P9y865/1h2J4+u2AzkW/7X3bvwJ+u7y5hvlTl2fXV8Pe1TAe
/njTowcXt9eXonkvn7mWj2/lg/H298xsPrHg1kLdEhorjjcu2S4Vr2w92Nt7
s330GpeIHXwZRYYWf+9h8L/3OLg7EE6/h7MJKWsm4mZ2Lt7+2J49dNG7Orcs
Bh+RweiY+QusldQAKW3a/VN1Tu1T+IqvbstTQER8kSR16C+kDDttFkltTLSS
Q4IZt5IuX2xWznVWTnC3bw/5+KWvOqSYeO2uEwuP+CGooXA8VoTFgIXRRaED
k7bolC4s1cKeUcMMAT+aqUXXXECkXUCLD1bQ7Y4VHr9Et8zacIyUlXPM0+Kx
spw8g7dnN3r1ThFbz28L0FoKp+IUWT2fg+Pxq3H+keIvYXzKAqzD/mSV8AqI
v6y5mf89xdRBd8bwP2j3+OjT+6SaTeJhpWggRHrBi0dfHNCLAzzChTF6cvdG
PqSy6b2jfR7QXhAyeLL98cHRFzyOu4PEn2J64r2jLz5vnKPjo6Pfsp6j48Nj
eu+CTrHppxvvHxw3qf1k672DV79lSoevP2/ph581q4Pjw8Pn9P54whcUf71F
moJPvBsNsQWa6pRvK/GnNorSngRc72W4ZHRY3Geu70K3PixyxEiqr5jxebW5
C226mHfHOERryucxRKLx2dKWJzUyefachDnsuzrj4FZgPtpIRQg+RNryorRb
2dLVV/g1YZgKb0XTGi/xX/rzCo2EW7nSLpy5q5epbAlI6yZCW7uGemn5JarE
TCaak4wcjUIXtFHSRmkWrISOKZRiikjM0c4gvrO64KBMKhmPi5IvinHBoODG
mAbOMoWwwDuovEDT0W0MYX1SLy+LjLbapgei6EJNkUDHzYMEh80yJ3feQPuq
babcc2qFOIqAFzat0aKmTIuy+M4KmENrXJBfIjjWNhzZIJW5O9GcbMQwTY07
WNFymyyHtM+b37cutYVJ9ErwjOo5oAnx+uDVFxi0DG/qU2EYYGtlNlt8Y1aw
ri28A0Lh7lEpWbnRlgQptM+ttl53wSCFHS2DO2bljMEGMev48wc+8WuQQKvm
wrEZmDpbb/JvsizEsMDI7w0e/Mf4C4rD9uDfhjc74eWah0ENHdtKH+T61CVw
eO+wuetAmdSJvW+qcW9JMw+JOsYfERIaz/3myyethqm8ZZcd9TSuwJvpTsOY
dhr2pWOcnMAmmH3ftMJnXQ8TkvCge+RJSDYN1sTXk95ScpNWNqXCD3vCx9Zk
4el++PQr7hce3c/5hjsbJMMAY7RRFSPew8QW3romqDA5GMkAEXvrdbSua7t0
j+jWRs1oFob6xqrA6mDmuMSnh11ZUZB3C3Rh5Iu+g6ffH6zMx04nOFIUhVVc
g+JpZGhFCg9Z6CLDHgOb64UJ8Rz9GQDYHBc3condxlHZkBVeWUYweNAxQt/e
meePfzxIe0V+p33h4RoUGSX+TxyFVf/Nu/4LKsKgz52W9i3KqM4bjziS6gXR
XJPwYBOvPufg1axaR9SECgnx/hajoUxOv/T0RNwq+jfiAvisERvrfaBkzHb/
5qL/w46VawNzySGaKE5Vzu0VHeRKIUaYhOc5fFi3i/pFr4LRpxgjnOnhMZYO
jyXJ6Gle5Ms5lqCH7Bps+RlWBNttNzDbbfuwUT0pJG+y0wIF19T8QzcCUDQR
7zS9R5lMRQ/vSy7x7+gEfzlFbJ+dpr1Bw1S86gbGwvgIHon4rPs64l5/AlLa
lLt3TU2ta4CXgmbrUCUd4aRZf6bhRAdGXJ/3hsOewL9cwoXjgHK8wB84xmRn
57fdUkK46xlOkp8a+jxrNwj9OBAIPi5DdfhIN2Qw29TLQ7iHx34HjT/VQEGb
/ryCvYFVaV+G5b7kZMjpGKuwMplO6T4PcKz4z1PI9OutCWADuWXOIthABiei
+WQlnb3N78RtDQjpO5C2DI+pnyVlJv4IepPKLZF6/1LMctgVWf/t38UlTEDj
9WnGCVFUfFeT1E6kTEdUHNqKaHSj/wdtQL7VLHAAAA==

-->

</rfc>
