<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.38 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-rfc6211-update-02" category="std" consensus="true" submissionType="IETF" updates="6211" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.1 -->
  <front>
    <title abbrev="Update to RFC 6211">Update to the Cryptographic Message Syntax (CMS) Algorithm Identifier Protection Attribute</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-rfc6211-update-02"/>
    <author initials="R." surname="Housley" fullname="Russ Housley">
      <organization abbrev="Vigil Security">Vigil Security, LLC</organization>
      <address>
        <postal>
          <city>Herndon, VA</city>
          <country>US</country>
        </postal>
        <email>housley@vigilsec.com</email>
      </address>
    </author>
    <author initials="S." surname="Turner" fullname="Sean Turner">
      <organization abbrev="sn3rd">sn3rd llc</organization>
      <address>
        <postal>
          <city>Washington, DC</city>
          <country>US</country>
        </postal>
        <email>sean@sn3rd.com</email>
      </address>
    </author>
    <date year="2026" month="September" day="15"/>
    <workgroup>LAMPS</workgroup>
    <keyword>CMS</keyword>
    <keyword>attribute</keyword>
    <keyword>algorithm identifier</keyword>
    <abstract>
      <?line 54?>

<t>This document updates RFC 6211. It corrects an error in the definition
of the id-aa-CMSAlgorithmProtect ASN.1 object identifier. The IANA
registry entry has always been correct.</t>
    </abstract>
  </front>
  <middle>
    <?line 60?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document corrects a mistake in <xref target="RFC6211"/>.  It corrects an error
in the definition of the id-aa-CMSAlgorithmProtection ASN.1 object identifier.</t>
      <t>The IANA registry entry for this ASN.1 object identifier does not need
to be updated; it has always been correct.</t>
      <t>The authors are aware of two implementations of RFC 6211, but they did not
interoperate because one used the ASN.1 object identifier from RFC 6211 and
the other used the ASN.1 object identifier from the IANA registry.</t>
      <t>The mistakes were reported in <xref target="Err9144"/> and <xref target="Err9145"/>.</t>
      <t>In addition, the body of the document says that the set of attributes will
"include only one instance of the algorithm protection attribute." This
requirement can be included in the ASN.1 definition.</t>
      <t>This update to RFC 6211 will hopefully resolve future interoperability troubles.</t>
    </section>
    <section anchor="update-to-section-2-of-rfc-6211">
      <name>Update to Section 2 of RFC 6211</name>
      <t>OLD:</t>
      <artwork><![CDATA[
       aa-cmsAlgorithmProtection ATTRIBUTE ::= {
           TYPE CMSAlgorithmProtection
           IDENTIFIED BY { id-aa-CMSAlgorithmProtection }
       }

   The following object identifier identifies the algorithm protection
   attribute:

       id-aa-CMSAlgorithmProtection OBJECT IDENTIFIER ::= { iso(1)
            member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) 52 }
]]></artwork>
      <t>NEW:</t>
      <artwork><![CDATA[
       aa-cmsAlgorithmProtection ATTRIBUTE ::= {
           TYPE CMSAlgorithmProtection
           COUNTS MAX 1
           IDENTIFIED BY id-aa-cmsAlgorithmProtect
       }

   The following object identifier identifies the algorithm protection
   attribute:

       id-aa-cmsAlgorithmProtect OBJECT IDENTIFIER ::= { iso(1)
            member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9)
            smime(16) aa(2) 52 }
]]></artwork>
    </section>
    <section anchor="update-to-appendix-a-of-rfc-6211">
      <name>Update to Appendix A of RFC 6211</name>
      <t>OLD:</t>
      <artwork><![CDATA[
     aa-cmsAlgorithmProtection ATTRIBUTE ::= {
        TYPE CMSAlgorithmProtection
        IDENTIFIED BY { id-aa-cmsAlgorithmProtect }
     }

     id-aa-cmsAlgorithmProtect OBJECT IDENTIFIER ::= {
        iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
        pkcs9(9) 52 }
]]></artwork>
      <t>NEW:</t>
      <artwork><![CDATA[
     aa-cmsAlgorithmProtection ATTRIBUTE ::= {
           TYPE CMSAlgorithmProtection
           COUNTS MAX 1
           IDENTIFIED BY id-aa-cmsAlgorithmProtect
     }

     id-aa-cmsAlgorithmProtect OBJECT IDENTIFIER ::= {
        iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1)
        pkcs9(9) smime(16) aa(2) 52 }
]]></artwork>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>No IANA registry updates are needed. The IANA registry is correct.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The CMS attribute specified in <xref target="RFC6211"/> is designed to address the
security issue of algorithm substitutions. That is, the originator uses
one algorithm, an attacker modifies the message, and then the validator
uses a different algorithm. The specified protection is not successful
unless all implementers use the same ASN.1 object identifier for the
attribute.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC6211">
          <front>
            <title>Cryptographic Message Syntax (CMS) Algorithm Identifier Protection Attribute</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="April" year="2011"/>
            <abstract>
              <t>The Cryptographic Message Syntax (CMS), unlike X.509/PKIX certificates, is vulnerable to algorithm substitution attacks. In an algorithm substitution attack, the attacker changes either the algorithm being used or the parameters of the algorithm in order to change the result of a signature verification process. In X.509 certificates, the signature algorithm is protected because it is duplicated in the TBSCertificate.signature field with the proviso that the validator is to compare both fields as part of the signature validation process. This document defines a new attribute that contains a copy of the relevant algorithm identifiers so that they are protected by the signature or authentication process. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6211"/>
          <seriesInfo name="DOI" value="10.17487/RFC6211"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="Err9144" target="https://errata.rfc-editor.org/eid9144/">
          <front>
            <title>RFC 6211 Errata Report ID 9144</title>
            <author>
              <organization>RFC Editor</organization>
            </author>
            <date year="2026" month="August" day="19"/>
          </front>
        </reference>
        <reference anchor="Err9145" target="https://errata.rfc-editor.org/eid9145/">
          <front>
            <title>RFC 6211 Errata Report ID 9145</title>
            <author>
              <organization>RFC Editor</organization>
            </author>
            <date year="2026" month="August" day="19"/>
          </front>
        </reference>
      </references>
    </references>
    <?line 158?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>Thanks to Paul Timmel for being the first person to spot the error in <xref target="RFC6211"/>.</t>
      <t>Thanks to Corey Bonnell, Mike StJohns, and Daniel Van Geest
for their careful review and constructive comments.  The document
is much better because of their review.</t>
    </section>
  </back>
  <!-- ##markdown-source:
H4sIAFmcqWoAA81XXU8bORR996+4Sl9AYlKSQlWyqtQQ0m2qQiuStttHZ3yT
eJmxZ20PaYTob997PclMoECLVlsViSTjsY/P/fRxkiQi6JBhD1ofCyUDQrAQ
FggDtyqCnTtZLHQKp+i9nCOMVybIr7AzOB3vQj+bW6fDIoeRQhP0TKODD84G
TIO2BvohOD0tA7aEnE4dXt7Y5Pz1AJ53O52W0IWjN8GVPnT394/2uy2R0iQC
X/XAByWUTY3MiaNychYSjWGWZDIvfOJmKWMkZYRN9rui+uV7EVv4cppr74lN
WBUEMBpOXgue0IPufvd5sn+UdA5Fao1H40taRSxQENFn4glIh7IHY0xLsnIl
lvMevOuffhiLC1wtrVM9AQmQJ/hLbmyND7VjdO0YIWQZFtbRIkjoH6Ay6bz0
Ht7Y0me4isPaEI3z9o0x62jvT3qus5rOHrx7N4gvN769+T6+SulHD96gM8qa
PfjUr0ZtaQL79uM4PmMuddaDRbXhq0vG8Zi2U5vfIjtGaWBSOkP21FzH7e2h
SNWbZ05BlqU3CMbRLV6fpV9oMw9M7WTwEDVP+76KyyMpYazLZdCXyN6kROJY
94TQZrb9YujcUefgoBeRNlm+STt+K4OEcyysCzA6AZ7bquZKN8dAHgmh8L2n
TzFObVOyJah0sK5NVj5FrXjJ08rGOri1E+JWwzi/gt3OuxdJ56imePgIioeP
p3j4HyiKJKF8nvrgZBqEmCy0ByrHMqe8hnWt1aXchlGgEDpHDcADpQqxso6y
JHYUhTNtNHcGYWdxRKtEyoQqqO4k6+4B/fFZuwN2+jc/NEVEmUbLRv2zvnA4
18RqBcgJAwtJG2ZLufIwRTQbFu3KgFwrlaGgmh7RbKvK2KBum9MwpwU+yAtk
6ldX6wS7vm7DnQaK7wyEHxkY2+M9NjKtyki4ZSRlN8ES5XuWkikUDWMDGEQl
qMlOcR0k9Qfo8ICXeMsqQTz3PZBL/mQzlhZ0XmTILpJM3PPwJuR7QE2PbV2B
0or3Jm8EdLZAx41+iqksPSEZYuJRRbfcR3/mbF4jk3vJBJpt6cP95OJw23Nr
09bx9LBEMsvFgiK8GN51m7i+5h3r50MKtxAjA1KpGNO9CD61arWJbp04nh0a
FjI6gppV4Bn1iUCb6iwTLW3SrFTsimwV/UHdM0iT4gavOTaKJktqmHYLOF0p
8f8ptcMqYykFpwwUkdWm0ioXNenYXmd6+d3hG6lR5y9wVmZEy6G32SXCrAyl
Y+BNKKc6o55Nx6Mtpxn6NtdSc5aP12S726khxPt3J9SVv337tu45QMWQ5v7O
YphMzkfHHydD6PVewtVmAf9NvnwYwt01tD1tdDI8m4xej4YncPwFrh6uvevN
ymvBvzhFZjbL7JLOoztyq/7p7w0Uw9Sx6okN/oMs3h+/HQ4mDfPzynjQ3u50
dreNgxzzKbqE02+nu0vVsPPiYH8XnJfK651O59nhwdEuFBepp5Xx+2iHBg67
ZCEHQJwNP/+6WAzefzybjOG0/xd07o9R5Zs7SPza4NxB4P+PzA0In+scdzrP
dykojNFEbbvI+kWBRumv0H+wyh4f158J6t3VdZfr1qV1vfbyo31cb1n5+nH+
rRf/uAJ++/z/XTz4UHbGs3ZAmoCK0FXqgBxtb6mXjU5kScHKBFUj5JpZdEA1
euRJfZH5Dp5XUgiaggZfYMoNQN3Sawyp0Ou5Ye1g+SinAy62CeE38HQ9LOMR
3DQOujV6EuNl3JCp0smufSUAaMpcG0mKmSWJF3yQ1yv3WBMSL5leUGPKrWra
Ul7doPeiyKCB6qS+lJlWDCYYjIQnrZiRRKGzvQatfNXYuCUOdKX2fJmmBE9H
uChNxhZKOtVr1Yak6ViDRXFC97j7JVTUlygazVHJ5ynZwyHppxfGLjNUc4b1
4qpnSk4tVC9bM0l3xtY1h0eaC8/u/iDLDCY6zzGL0FPkBs4sZtr5AKQrPBlB
M31hK+1UXxi2Vfc25sA6kprH1hjMsj041STSx+GtXRhfufZEGk37faJA/Ino
g1gbpR2pJccyhzLuUuMyzuabP135U74y0kMe7WpXZ85G3gnycl6mC+IfyJeN
pJ2tcSu8tvgX+qEFTE0RAAA=

-->

</rfc>
