<?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.30 (Ruby 3.4.8) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-cms-euf-cma-signeddata-02" category="bcp" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.31.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-02"/>
    <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="February" day="27"/>
    <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 65?>

<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.</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 72?>

<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 will be 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>
    </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="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 id-data content type in new uses of the CMS SignedData type where the content is MIME encoded.</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>
      <t>New uses of the CMS SignedData <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.</t>
      <section anchor="existing-uses-of-id-data">
        <name>Existing Uses of id-data</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". If the existing content is MIME encoded, the mimeData content type <bcp14>SHOULD</bcp14> be used. Updated protocols that do not deprecate the use of id-data <bcp14>SHOULD</bcp14> provide a rationale for not doing so. Note that accepting the content type id-data during verification is sufficient for a vulnerability to surface. Hence the measures described in <xref target="recipient-verification"/> must be adhered to.</t>
        <t>When a protocol 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 <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>
      </section>
      <section anchor="recipient-verification">
        <name>Recipient Verification</name>
        <t>When a recipient receives a CMS SignedData, it <bcp14>SHOULD</bcp14> be checked that the EncapsulatedContentInfo content type value is the one expected by the protocol and fail processing if it is not.</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"/>, when a recipient receives a CMS SignedData and the EncapsulatedContentInfo content type is not id-data, it <bcp14>SHOULD</bcp14> verify both that the expected content type was received and that each SignerInfo contains the signedAttrs field, and fail processing if either of these conditions is not met.</t>
      </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.
The mandatory contentType and messageDigest attributes, with their respective OIDs, should give a low probability of a legitimate message which happens to look like a DER-encoded SignedAttributes structure being flagged.</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 3rd party (potentially an attacker).</t>
        <t>If the sender is signing 3rd 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="on-the-applicability-of-the-vulnerability">
        <name>On the Applicability of the Vulnerability</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, Certificate Transparency, RFC 4018 firmware update, German Smart Metering CMS data format.
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, though in the general case this will make it difficult for the attacker to learn the signature, the vulnerability might still be present if mitigations are not applied:</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 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>The probably strongest 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.</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 3rd 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="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="asn1-module">
      <name>ASN.1 Module</name>
      <sourcecode type="asn.1"><![CDATA[
<CODE STARTS>

MimeData-2026 { iso(1) member-body(2) usa(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="iana-considerations">
      <name>IANA Considerations</name>
      <t>In the "SMI Security for S/MIME Module Identifier" registry, 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" registry, 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 table "CMS Inner Content Types" 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="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="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="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 272?>

<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.
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 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 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.  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 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 MessageDigest 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:
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
vbkRigbk9nO1wJqxK8/mmDqXcbkHnAyA6sO9JUYv4KZIaS35lcTZwVKm68M9
+GhehJqsADL1qtGmpjKblwu2bZnpZ+rSvzPYhJgefDFzBBwJ6YYRpyV3GbbZ
IBwpsL4AcmUIg4h5CsFaorSO0ywPl+MwbbezpLC5qoV8Vrx3atkB4bhX18hQ
HNq5BST9E9foaU3Ms+xT/ShItbgiSrvoqC1acSxKcNRO7Ij2DjkeMjkB+W4j
666KnWQsyEazwEFe6kZ1ZtMVLuvpACrlyY95nscuOHRzv2bC9FeSO+MCwWEq
PXWxtukp1eOEeHzcyjO/eMWjv2GpG7WhFm+CUKxc6xyDMJOFtkw9MjJu5fkV
m76cF2Fso1ybC711AcxkUVC4iRd/4Pxh+10QSn9q2YU/jqTHlz2tlWQPgIQp
BuA4x8FTvs6mKUhYl5Ldtv5sR68RFByUbaMk0GsTNAkcJ/NlIEaQwkLEt3kT
DnnDc8DeEc+euEKHhlpO4fslQlFQnRGCTuz/eMmDnoDGpEtzAUWpxVPD20BQ
SWb8/l27P+6Jj3rY/VNLvB+Nj96Nx+Kjnmb/xJn2DyOzdvK68wkD71nymZo6
WZwv9asVaGdJxpj7NCqAppOnjVc6ozVZDEPyjfKAM7PPsGlWZVwMcYMh0SIB
Dgn3RlPk0RCsebVcmftxIC1RlB5JlUAc5k3zVijyKSkDEd4+iX1UsouqWBEp
TUlsStmFKf5D2i+XOOLjVb6fEjndftsnHGlusicLBbY+QDDXVPTtja+CDspW
hdPvrnHf+P3FdX8gxpPe7WT8XaMx0v29dve4e7avXw+aElKr3r5b8fyW/ZJA
UAfeYTCMsEqzA2Qh6dkHkzd9uOFLoz+4HF4NcdRhLAY/3LwfXgwnYtJ7O6aJ
gjeDt8MroPLo5hoQoCsvrq8mg6tJe/LjzYAWLm+vR6I+1K9n+nmkH57XOdbQ
7Md412yCRaGGcXsvygZVfFmne3z8+uD0FaKIF/yu0dC0+EfHKP7RQQo7SkG/
+9D4lNWAWMj64s2Pm9DDFYOrvpEx+IgSRgMa+P4Fdq43a1ZD3bkej4bOmNNr
lEfUi2YBFkPbK28K0/luuVgF2++woVhzbJFkpZ1uNKNJoBS/gPeIkiUYGvyE
PobtgPv3i7iV1NIHK/AL7G/zP2E/0W/+fn8dT6AQ8zc7hRzWf/r400cK6fsa
sp8+/fQJzv4qKdA8+MMAPiWwBuCTAY9t8IaMkC46fCVxnk+WnQTpWoL48DxF
CkOLkqLX/cMQG2ifIxpXWJDRwFxz3OqkR4ga93ajtYnG9r9tNH20OkE3AHUM
WA2DTgD/ncEPJsVTaONtU4jGUV3AhyqIX0wp+NdaaZvzXgm/JwEJ1Gf97hRd
6N7Bemruac9DAnRulMJiP7ANMVFelDzUorsj/CqeosEkPZSklxbJKtADucqG
hDQmSvk+uN6C4mCrvRhrQrwOYSXOX2dU13hzcaO2hw71Zbb9uDHtxkIEXn8J
6dDPuuiJxPgG3dqc5412lF+Bq1g6/mXHG90fKA8Fvrfhf7Dv8fGPGPK8eo2z
iyhWOlnXJex4d5TpnTz9tksnxzh7gYktZbhTDMyfPnfa4SeaEcLxk/vPuqff
0v5LGu9QT24+/fbrLj89Oz39LUicnp2cPR+oTvesTuMndx93X/4WkE5efR3q
J18FVffs5OQ5tz+e8wuzf2iS6lbc+WeVbYKr7WUkoFwaohpWYeZ2dseYtmyb
SWwngTqkdogdq7d+Yxsr565r4ypQS9v2trliS4fDNI1eb0RgSUPh2tr0sGo1
LzMapOe8nnwzlQeRqPI+8+rdtRhaWczWtnvgcKLJrgi/x5fA12aSY6M0VWzt
8yG3zaHStEA23sMxDU60RuvfoSFMZai4HMfDKpiA1PqeVJx4kGnapuxdN1H0
IBZ3aKnQsI2w16oLoygvYspfTLfee/nAZtyhzlJekIMRaLLAviHTah20QVbk
KbHalAUbjctkjgQ6q88Q0QSRZ/3MqJFyA5Pq2WM3nEPiHLe1nVutQqrYWduf
lEqmM/2WXoHuXJnKR41U+s2hTJWmtl4hB0tCty5ySPus/v3GK50AxKAoELdh
X7zqvvwWq4T+6yqJnwM2t4Bp8hy9h1YTWDJOkHnYzXTV3j09UMvhrxmw2fWW
DU0pGvm2skqlgH1a1nLDZa5Kqt3/RnPCShm4N9OY+asscjHJcXzwBkc+MflG
bTgY/3Vyc+i/WXYC+auRLfaPrsLxa+984Eu3puuou/zm9ZVlXjh1qBfv0MSU
zkqqEMcd1k86DT2ZwRE6mmnEwLnmVs2XtmruhflRcwma7/swfNZ0tk/CbnDq
SEguDXDid/NuqSJImM2pQ2Jm+0wfEl8Ag08/I7/AKKLhRfUxFRKsLjX2WmIM
8mCF3sUQNLjiPUkP0plXvhu7rjaouzBuZ8mEoNDU104FsAPIEcWnH7uFkTdw
4ZnChhsK8la/727BY8DxRvsafrtznG9r86bzyrmFOlV5ijd6LtcpE8Zw4k1F
zLFporHSrqbHs2xOFF4aQdAxoBWEoXmTxk38PUjzVxpaGw7dUhFfHgB7hS3E
Ruj+Qo6Hz8afm8ipY0GfWxvGNy8aVVZb4jKaU0Q90/xgOkmuyu3MbLKLqCE1
z3GwXlsoXQgvHD0xbBXDG3GJo2tD89dbcvx7JCtMbw6GN5fDHw6NXusol7Kg
WcJD6ksCy3SCMESY+SN8rqYXoH1R27HoU4LhQ3pyhrMtkSQd7WV5tl7imJIv
rh7LLyDn7Bq26yjbsn1SmxgQkplsrUDODah/KSMgiCbi9eJ71MlYDPBl4QL8
Q+T9zRdxcNGLB+Oaq3gZeM5CpwguEHHjQruIe/0rEaV5I9zlo3q+wwuXvG27
gkosrouLsD8Yf6XjxPxFXPcHk8lAXKKw0WQTBDlO4btWMDnX+W2vFFDY9Ywc
yYGGKc9OBmEaBwrB45Q0CoZ0QwEzW50++Dw8cxzU6VQtChrtHk5tmbkY5VqW
9kuel+tF2LFMZTxHCVeQVvGfZpHxH5ozCA1kU/8VGFO84A4vNT6oUBZmd+K2
ggDpHShbKtct4GWRir+A2aSxBCTen/NFBkyR1f/9txgBAEphb4JTkISa1BUp
7UzKeEpDFBtVjKDx//gASU1YTgAA

-->

</rfc>
