<?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.18 (Ruby 2.6.10) -->
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-lamps-private-key-stmt-attr-05" category="std" consensus="true" submissionType="IETF" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.1 -->
  <front>
    <title abbrev="Statement of Private Key Possession">An Attribute for Statement of Possession of a Private Key</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-lamps-private-key-stmt-attr-05"/>
    <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>
    <date year="2025" month="May" day="19"/>
    <area>Security</area>
    <keyword>Internet-Draft</keyword>
    <abstract>
      <?line 61?>

<t>This document specifies an attribute for a statement of possession of a private key
by a certificate subject.  As part of X.509 certificate enrollment, a Certification
Authority (CA) typically demands proof that the subject possesses the private key
that corresponds to the to-be-certified public key.  In some cases, a CA might accept
a signed statement from the certificate subject.  For example, when a certificate
subject needs separate certificates for signature and key establishment, a statement
that can be validated with the previously issued signature certificate for the same
subject might be adequate for subsequent issuance of the key establishment certificate.</t>
    </abstract>
  </front>
  <middle>
    <?line 72?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>This document specifies an attribute for a statement of possession of a
private key by a certificate subject.  X.509 certificate <xref target="RFC5280"/>
enrollment often depends on PKCS#10 <xref target="RFC2986"/> or the Certificate
Request Message Format (CRMF) <xref target="RFC4211"/>.  As part of enrollment, a
Certification Authority (CA) typically demands proof that the subject
possesses the private key that corresponds to the to-be-certified public
key.  Alternatively, a CA may accept a signed statement from the
certificate subject claiming knowledge of that private key.  When a
certificate subject needs separate certificates for signature and key
establishment, a signed statement that can be validated with the
previously issued signature certificate for the same subject might be
adequate for subsequent issuance of the key establishment certificate.</t>
      <t>For example, a subject may need a signature certificate that contains a ML-DSA
public key and a key establishment certificate that contains a ML-KEM public
key.  For another example, a subject may need a signature certificate that
contains a ECDSA public key and a key establishment certificate that contains
a ECDH public key.</t>
      <t>A statement of possession may be used in lieu of the usual proof of possession
mechanisms.  The statement is simply a signed assertion that the requestor of a key
establishment certificate has possession of the key establishment private key, and
that statement is signed using a signature private key that was previously shown to
be in the possession of the same certificate subject.  If the Certificate 
Policy <xref target="RFC3647"/> allows, the CA <bcp14>MAY</bcp14> accept this statement in lieu
of proof that the requestor has possession of the private key.</t>
      <t>Note that <xref target="RFC6955"/> offers some algorithms that provide proof of possession for
Diffie-Hellman private keys; however, these algorithms are not suitable for use
with PKCS#10 <xref target="RFC2986"/>.  In addition, the algorithms in <xref target="RFC6955"/> do not
support key encapsulation mechanism algorithms, such as ML-KEM.  The attribute
specified in this document, on the other hand, is suitable for use with both
PKCS#10 and the CRMF <xref target="RFC4211"/>.</t>
      <t>When using the attribute defined in this document to make a statement about the
possession of the key establishment private key, the process to obtain two
certificates with PKCS#10 is:</t>
      <ol spacing="normal" type="1"><li>
          <t>The subject generates the signature key pair.</t>
        </li>
        <li>
          <t>The subject composes a PKCS#10 Certificate Signing Request (CSR) in the usual
manner.  It includes a signature that is produced with the private key from
step 1.</t>
        </li>
        <li>
          <t>The subject sends the CSR to the CA, and it gets back a signature certificate.
The signature certificate includes a key usage of digitalSignature, 
nonRepudiation, or both <xref section="4.2.1.3" sectionFormat="of" target="RFC5280"/>.</t>
        </li>
        <li>
          <t>The subject generates the key establishment key pair.</t>
        </li>
        <li>
          <t>The subject composes a PKCS#10 CSR containing the key establishment public
key.  The CSR attributes include the attribute specified in <xref target="attr"/> of this
document.  The subject name matches the one from step 3.  The CSR includes a
signature that is produced with the private key from step 1.</t>
        </li>
        <li>
          <t>The subject sends the CSR to the CA, and it gets back a key establishment
certificate.  The key establishment certificate includes a key usage of
keyEncipherment or keyAgreement <xref section="4.2.1.3" sectionFormat="of" target="RFC5280"/>.</t>
        </li>
      </ol>
      <section anchor="asn1">
        <name>ASN.1</name>
        <t>The attribute defined in this document is generated using ASN.1 <xref target="X680"/>, using
the Distinguished Encoding Rules (DER) <xref target="X690"/>.</t>
      </section>
      <section anchor="terminology">
        <name>Terminology</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>
    <section anchor="attr">
      <name>Attribute for Statement of Possession of a Private Key</name>
      <t>The attribute for statement of possession of a private key is included in a
certificate request to make the following statement:</t>
      <ul empty="true">
        <li>
          <t>"The subject of the signature certificate that is used to
validate the signature on this certificate request states,
without providing proof, that it has possession of the
private key that corresponds to the public key in the
certificate request."</t>
        </li>
      </ul>
      <t>The CA <bcp14>MUST</bcp14> perform certification path validation for the signature
certificate as specified in <xref section="6" sectionFormat="of" target="RFC5280"/>.  If the certification
path is not valid, then the CA <bcp14>MUST</bcp14> reject the certificate request.</t>
      <t>The CA <bcp14>MUST</bcp14> validate the signature on the certificate request using the
public key from the signature certificate.  If the signature is not valid,
then the CA <bcp14>MUST</bcp14> reject the certificate request.</t>
      <t>The subject in the signature certificate <bcp14>SHOULD</bcp14> be the same as the subject name
in the certificate request.  If they are different, the certificate policy <bcp14>MUST</bcp14>
describe how the CA can determine that the two subject names identify the same
entity.  If the CA is unable to determine that the two subject names identify
the same entity, then the CA <bcp14>MUST</bcp14> reject the certificate request.</t>
      <t>If subject alternative names are present in the certificate request, they
<bcp14>SHOULD</bcp14> match subject alternative names in the signature certificate.  If the CA
is unable to determine that each of subject alternative names identifies
the same entity as is named in the signature certificate, then the CA <bcp14>MUST</bcp14>
reject the certificate request.</t>
      <t>The attribute for statement of possession of a private key has the following
structure:</t>
      <sourcecode type="asn.1"><![CDATA[
   id-at-statementOfPossession OBJECT IDENTIFIER ::= 
     { 1 3 6 1 4 1 22112 2 1 }

   privateKeyPossessionStatement ATTRIBUTE ::= {
     TYPE PrivateKeyPossessionStatement
     IDENTIFIED BY id-at-statementOfPossession }

   PrivateKeyPossessionStatement ::= SEQUENCE {
     signer  IssuerAndSerialNumber,
     cert    Certificate OPTIONAL }

]]></sourcecode>
      <t>The components of the PrivateKeyStatement SEQUENCE have the following semantics:</t>
      <ul empty="true">
        <li>
          <dl>
            <dt>signer:</dt>
            <dd>
              <t>the issuer name and certificate serial number of the signature certificate.</t>
            </dd>
          </dl>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <dl>
            <dt>cert:</dt>
            <dd>
              <t>the signature certificate.  If the issuer of the key establishment certificate
will be the same as the issuer of the signature certificate, then this
component <bcp14>MAY</bcp14> be omitted.  When the signature certificate is omitted, the
signer is assuming that the CA has a mechanism to obtain all valid
certificates that it issued.</t>
            </dd>
          </dl>
        </li>
      </ul>
    </section>
    <section anchor="conventions-for-pkcs10">
      <name>Conventions for PKCS#10</name>
      <t>This section specifies the conventions for using the attribute for statement
of possession of a private key with PKCS#10 <xref target="RFC2986"/> when requesting a
key establishment certificate.</t>
      <t>The PKCS#10 CertificationRequest always has three components, as follows:</t>
      <ul empty="true">
        <li>
          <dl>
            <dt>certificationRequestInfo:</dt>
            <dd>
              <t>the subject name <bcp14>SHOULD</bcp14> be the same as the subject name in the signature certificate,
the subjectPKInfo <bcp14>MUST</bcp14> contain the public key for the key establishment algorithm,
and the attributes <bcp14>MUST</bcp14> include privateKeyPossessionStatement attribute as specified
in <xref target="attr"/> of this document.</t>
            </dd>
          </dl>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <dl>
            <dt>signatureAlgorithm:</dt>
            <dd>
              <t>the signature algorithm <bcp14>MUST</bcp14> be one that can be validated with the public key
in the signature certificate.</t>
            </dd>
          </dl>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <dl>
            <dt>signature:</dt>
            <dd>
              <t>the signature over certificationRequestInfo <bcp14>MUST</bcp14> validate with the public key
in the signature certificate, and certification path validation for the signature
certificate <bcp14>MUST</bcp14> be successful as specified in <xref section="6" sectionFormat="of" target="RFC5280"/>.</t>
            </dd>
          </dl>
        </li>
      </ul>
    </section>
    <section anchor="conventions-for-crmf">
      <name>Conventions for CRMF</name>
      <t>This section specifies the conventions for using the attribute for statement
of possession of a private key with the CRMF <xref target="RFC4211"/> when requesting a key
establisment certificate.</t>
      <t>The following ASN.1 types are defined for use with CRMF.  They have exactly
the same semantics and syntax as the attribute discussed above, but they
offer a similar naming convention to the Registration Controls in <xref target="RFC4211"/>.</t>
      <sourcecode type="asn.1"><![CDATA[
  regCtrl-privateKeyPossessionStatement ATTRIBUTE ::= 
    privateKeyPossessionStatement

  id-regCtrl-statementOfPossession OBJECT IDENTIFIER ::=
    id-at-statementOfPossession
 
]]></sourcecode>
      <t>The CRMF CertificationRequest always has three components, as follows:</t>
      <ul empty="true">
        <li>
          <dl>
            <dt>certReq:</dt>
            <dd>
              <t>the certTemplate <bcp14>MUST</bcp14> include the subject and the publicKey components. The
same subject name <bcp14>SHOULD</bcp14> match the subject name in the signature certificate, and
publicKey <bcp14>MUST</bcp14> contain the public key for the key establishment algorithm.</t>
            </dd>
          </dl>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <dl>
            <dt>popo:</dt>
            <dd>
              <t>the ProofOfPossession <bcp14>MUST</bcp14> use the signature CHOICE,
the poposkInput <bcp14>MUST</bcp14> be present, POPOSigningKeyInput.authInfo <bcp14>MUST</bcp14> use
the sender CHOICE, the sender <bcp14>SHOULD</bcp14> be set to the subject name that appears in
the signature certificate, the publicKey <bcp14>MUST</bcp14> contain a copy of the public
key from the certTemplate, the algorithmIdentifier <bcp14>MUST</bcp14> identify a signture
algorithm that can be validated with the public key in the signature certificate,
signature over the poposkInput <bcp14>MUST</bcp14> validate with the public key in the signature
certificate, and certification path validation for the signature certificate
<bcp14>MUST</bcp14> be successful as specified in <xref section="6" sectionFormat="of" target="RFC5280"/>.</t>
            </dd>
          </dl>
        </li>
      </ul>
      <ul empty="true">
        <li>
          <dl>
            <dt>regInfo:</dt>
            <dd>
              <t>the attributes <bcp14>MUST</bcp14> include privateKeyPossessionStatement attribute as specified
in <xref target="attr"/> of this document.</t>
            </dd>
          </dl>
        </li>
      </ul>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The privateKeyPossessionStatement attribute <bcp14>MUST NOT</bcp14> be used to obtain a
signature certificate.  Performing proof of possession of the signature
private key is easily accomplished by signing the certificate request.</t>
      <t>The subject is signing privateKeyPossessionStatement attribute to tell the CA that it has
possession of the key establishment private key.  This is being done instead of
providing technical proof of possession.  If the subject has lost control
of the signature private key, then the signed privateKeyPossessionStatement attribute
could be generated by some other party.  Timely revocation of the compromised
signature certificate is the only protection against such loss of control.</t>
      <t>If the CA revokes a compromised signature certificate, then the CA <bcp14>SHOULD</bcp14>
also revoke all key establishment certificates that were obtained with
privateKeyPossessionStatement attributes signed by that compromised signature
certificate.</t>
      <t>The signature key pair and the key establishment key pair are expected to have
roughly the same security strength.  To ensure that the signature on the statement
is not the weakest part of the certificate enrollment, the signature key pair <bcp14>SHOULD</bcp14>
be at least as strong as the key establishment key pair.</t>
      <t>If a CA allows subject in the key establishment certificate to be different than
the subject name in the signature certificate, then certificate policy <bcp14>MUST</bcp14>
describe how to determine that the two subject names identify the same entity.
Likewise, if a CA allows subject alternative names in the key establishment
certificate that are not present in the signature certificate, then certificate
policy <bcp14>MUST</bcp14> describe how to determine that the subject alternative names identify
the same entity as is named in the signature certificate.</t>
    </section>
    <section anchor="iana">
      <name>IANA Considerations</name>
      <t>For the ASN.1 Module in the <xref target="appendix-asn1"/> of this document, IANA is
requested to assign an object identifier (OID) for the module identifier (TBD0)
with a Description of "d-mod-private-key-possession-stmt-2025".  The
OID for the module should be allocated in the "SMI Security for PKIX Module
Identifier" registry (1.3.6.1.5.5.7.0).</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC2986">
          <front>
            <title>PKCS #10: Certification Request Syntax Specification Version 1.7</title>
            <author fullname="M. Nystrom" initials="M." surname="Nystrom"/>
            <author fullname="B. Kaliski" initials="B." surname="Kaliski"/>
            <date month="November" year="2000"/>
            <abstract>
              <t>This memo represents a republication of PKCS #10 v1.7 from RSA Laboratories' Public-Key Cryptography Standards (PKCS) series, and change control is retained within the PKCS process. The body of this document, except for the security considerations section, is taken directly from the PKCS #9 v2.0 or the PKCS #10 v1.7 document. This memo provides information for the Internet community.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="2986"/>
          <seriesInfo name="DOI" value="10.17487/RFC2986"/>
        </reference>
        <reference anchor="RFC4211">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="September" year="2005"/>
            <abstract>
              <t>This document describes the Certificate Request Message Format (CRMF) syntax and semantics. This syntax is used to convey a request for a certificate to a Certification Authority (CA), possibly via a Registration Authority (RA), for the purposes of X.509 certificate production. The request will typically include a public key and the associated registration information. This document does not define a certificate request protocol. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="4211"/>
          <seriesInfo name="DOI" value="10.17487/RFC4211"/>
        </reference>
        <reference anchor="RFC5280">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile</title>
            <author fullname="D. Cooper" initials="D." surname="Cooper"/>
            <author fullname="S. Santesson" initials="S." surname="Santesson"/>
            <author fullname="S. Farrell" initials="S." surname="Farrell"/>
            <author fullname="S. Boeyen" initials="S." surname="Boeyen"/>
            <author fullname="R. Housley" initials="R." surname="Housley"/>
            <author fullname="W. Polk" initials="W." surname="Polk"/>
            <date month="May" year="2008"/>
            <abstract>
              <t>This memo profiles the X.509 v3 certificate and X.509 v2 certificate revocation list (CRL) for use in the Internet. An overview of this approach and model is provided as an introduction. The X.509 v3 certificate format is described in detail, with additional information regarding the format and semantics of Internet name forms. Standard certificate extensions are described and two Internet-specific extensions are defined. A set of required certificate extensions is specified. The X.509 v2 CRL format is described in detail along with standard and Internet-specific extensions. An algorithm for X.509 certification path validation is described. An ASN.1 module and examples are provided in the appendices. [STANDARDS-TRACK]</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5280"/>
          <seriesInfo name="DOI" value="10.17487/RFC5280"/>
        </reference>
        <reference anchor="RFC5912">
          <front>
            <title>New ASN.1 Modules for the Public Key Infrastructure Using X.509 (PKIX)</title>
            <author fullname="P. Hoffman" initials="P." surname="Hoffman"/>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <date month="June" year="2010"/>
            <abstract>
              <t>The Public Key Infrastructure using X.509 (PKIX) certificate format, and many associated formats, are expressed using ASN.1. The current ASN.1 modules conform to the 1988 version of ASN.1. This document updates those ASN.1 modules to conform to the 2002 version of ASN.1. There are no bits-on-the-wire changes to any of the formats; this is simply a change to the syntax. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="5912"/>
          <seriesInfo name="DOI" value="10.17487/RFC5912"/>
        </reference>
        <reference anchor="RFC6268">
          <front>
            <title>Additional New ASN.1 Modules for the Cryptographic Message Syntax (CMS) and the Public Key Infrastructure Using X.509 (PKIX)</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="S. Turner" initials="S." surname="Turner"/>
            <date month="July" year="2011"/>
            <abstract>
              <t>The Cryptographic Message Syntax (CMS) format, and many associated formats, are expressed using ASN.1. The current ASN.1 modules conform to the 1988 version of ASN.1. This document updates some auxiliary ASN.1 modules to conform to the 2008 version of ASN.1; the 1988 ASN.1 modules remain the normative version. There are no bits- on-the-wire changes to any of the formats; this is simply a change to the syntax. This document is not an Internet Standards Track specification; it is published for informational purposes.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6268"/>
          <seriesInfo name="DOI" value="10.17487/RFC6268"/>
        </reference>
        <reference anchor="X680" target="https://www.itu.int/rec/T-REC-X.680">
          <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"/>
          <seriesInfo name="ISO/IEC" value="8824-1:2021"/>
        </reference>
        <reference anchor="X690" target="https://www.itu.int/rec/T-REC-X.690">
          <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"/>
          <seriesInfo name="ISO/IEC" value="8825-1-2021"/>
        </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="RFC3647">
          <front>
            <title>Internet X.509 Public Key Infrastructure Certificate Policy and Certification Practices Framework</title>
            <author fullname="S. Chokhani" initials="S." surname="Chokhani"/>
            <author fullname="W. Ford" initials="W." surname="Ford"/>
            <author fullname="R. Sabett" initials="R." surname="Sabett"/>
            <author fullname="C. Merrill" initials="C." surname="Merrill"/>
            <author fullname="S. Wu" initials="S." surname="Wu"/>
            <date month="November" year="2003"/>
            <abstract>
              <t>This document presents a framework to assist the writers of certificate policies or certification practice statements for participants within public key infrastructures, such as certification authorities, policy authorities, and communities of interest that wish to rely on certificates. In particular, the framework provides a comprehensive list of topics that potentially (at the writer's discretion) need to be covered in a certificate policy or a certification practice statement. This document supersedes RFC 2527.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="3647"/>
          <seriesInfo name="DOI" value="10.17487/RFC3647"/>
        </reference>
        <reference anchor="RFC6955">
          <front>
            <title>Diffie-Hellman Proof-of-Possession Algorithms</title>
            <author fullname="J. Schaad" initials="J." surname="Schaad"/>
            <author fullname="H. Prafullchandra" initials="H." surname="Prafullchandra"/>
            <date month="May" year="2013"/>
            <abstract>
              <t>This document describes two methods for producing an integrity check value from a Diffie-Hellman key pair and one method for producing an integrity check value from an Elliptic Curve key pair. This behavior is needed for such operations as creating the signature of a Public-Key Cryptography Standards (PKCS) #10 Certification Request. These algorithms are designed to provide a Proof-of-Possession of the private key and not to be a general purpose signing algorithm.</t>
              <t>This document obsoletes RFC 2875.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="6955"/>
          <seriesInfo name="DOI" value="10.17487/RFC6955"/>
        </reference>
      </references>
    </references>
    <?line 336?>

<section anchor="appendix-asn1">
      <name>ASN.1 Module</name>
      <t>This ASN.1 Module builds upon the conventions established in <xref target="RFC5912"/>.</t>
      <sourcecode type="asn.1" markers="true"><![CDATA[
PrivateKeyPossessionStatement-2025
  { iso(1) identified-organization(3) dod(6) internet(1)
    security(5) mechanisms(5) pkix(7) id-mod(0)
    id-mod-private-key-possession-stmt-2025(TBD0) }

DEFINITIONS IMPLICIT TAGS ::= BEGIN

EXPORTS ALL;

IMPORTS
  ATTRIBUTE
  FROM PKIX-CommonTypes-2009 -- in [RFC5912]
    { iso(1) identified-organization(3) dod(6) internet(1)
      security(5) mechanisms(5) pkix(7) id-mod(0)
      id-mod-pkixCommon-02(57) }

  Certificate
  FROM PKIX1Explicit-2009 -- in [RFC5912]
    { iso(1) identified-organization(3) dod(6) internet(1)
      security(5) mechanisms(5) pkix(7) id-mod(0)
      id-mod-pkix1-explicit-02(51) }

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

--
-- Private Key Possession Statement Attribute
--

id-at-statementOfPossession OBJECT IDENTIFIER ::=
  { 1 3 6 1 4 1 22112 2 1 }

privateKeyPossessionStatement ATTRIBUTE ::= {
  TYPE PrivateKeyPossessionStatement
  IDENTIFIED BY id-at-statementOfPossession }

PrivateKeyPossessionStatement ::= SEQUENCE {
  signer  IssuerAndSerialNumber,
  cert    Certificate OPTIONAL }

--
-- Registration Control Support
--

RegControlSet ATTRIBUTE ::= 
  { regCtrl-privateKeyPossessionStatement, ... }

regCtrl-privateKeyPossessionStatement ATTRIBUTE ::=
  privateKeyPossessionStatement

id-regCtrl-statementOfPossession OBJECT IDENTIFIER ::=
  id-at-statementOfPossession
     
END
]]></sourcecode>
    </section>
    <section anchor="example-use-of-the-privatekeypossessionstatement-attribute">
      <name>Example use of the privateKeyPossessionStatement Attribute</name>
      <t>In this example, the self-signed certificate for the CA is:</t>
      <artwork><![CDATA[
-----BEGIN CERTIFICATE-----
MIIB7DCCAXKgAwIBAgIUL149AUxHunELBZMELEQm+isgKCQwCgYIKoZIzj0EAwMw
NzELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkV4YW1wbGUgQ0ExEzARBgNVBAMTCmNh
LmV4YW1wbGUwHhcNMjUwMTAzMjAyNzA5WhcNMzUwMTAzMjAyNzA5WjA3MQswCQYD
VQQGEwJVUzETMBEGA1UEChMKRXhhbXBsZSBDQTETMBEGA1UEAxMKY2EuZXhhbXBs
ZTB2MBAGByqGSM49AgEGBSuBBAAiA2IABDxZdB/Glcxdk1p6Jf1j5en6QfliY9OS
fjZbtje/w6M58PN8Sb3VFln1rPdvD17UXeazSG9Hr/Dq3enbsHHO0pPntcFOgb8n
r8R8LUGhxRzjlxkaEJN+pa6Nf7qk49JDeaM/MD0wDwYDVR0TAQH/BAUwAwEB/zAL
BgNVHQ8EBAMCAgQwHQYDVR0OBBYEFD6YvLLv3DQbvnGS0qP6bbzyZkCqMAoGCCqG
SM49BAMDA2gAMGUCMGfb61IigoJ3QDnlsRdoktREHe0Dpm6DKw3qOyLL6A0cFK9Z
g8m11xIwvptlran52gIxAK1VrOjzRsFiHRptO+gFXstTXnQkKBb2/3WQz2SqcIS/
BWEp+siJ19OXOlz6APDB7w==
-----END CERTIFICATE-----
]]></artwork>
      <t>Alice generates her ECDSA signature key pair.  Then, Alice composes
a PKCS#10 Certificate Signing Request (CSR) in the usual manner as
specified in <xref target="RFC2986"/>.  The CSR includes a signature that is produced
with her ECDSA private key.  The CSR is:</t>
      <artwork><![CDATA[
-----BEGIN CERTIFICATE REQUEST-----
MIIBhTCCAQsCAQAwPDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlZBMRAwDgYDVQQH
EwdIZXJuZG9uMQ4wDAYDVQQDEwVBbGljZTB2MBAGByqGSM49AgEGBSuBBAAiA2IA
BIAc+6lXN1MIM/82QeWNb55H0zr+lVgWVeF0bf4jzxCb5MCjVaM0eFEvcjXMV5p4
kzqiJTHC0V2JAoqYMX/DMFIcwZ7xP9uQd9ep6KZ+RXut211L8+W1QI1QJSDNxANR
saBQME4GCSqGSIb3DQEJDjFBMD8wDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCB4Aw
IgYDVR0RBBswGYEXYWxpY2VAZW1haWwuZXhhbXBsZS5jb20wCgYIKoZIzj0EAwMD
aAAwZQIwPa2rOCe60edAF43C/t57IW8liyy+69FE04hMAFgw3Ga+nR+8zDuUsVLw
xXGAHtcDAjEA6LbvNkZjo6j2z5xRIjrHzEbGgiV4MF4xtnpfSSRI4dB0zT52bWkj
TZsuS1YWIkjt
-----END CERTIFICATE REQUEST-----
]]></artwork>
      <t>The CA issues a signature certificate to Alice:</t>
      <artwork><![CDATA[
-----BEGIN CERTIFICATE-----
MIICJzCCAa6gAwIBAgIUf3Sj/ANs4hR4XFlhTm+N8kxHqHkwCgYIKoZIzj0EAwMw
NzELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkV4YW1wbGUgQ0ExEzARBgNVBAMTCmNh
LmV4YW1wbGUwHhcNMjUwMTA5MTcwMzQ4WhcNMjYwMTA5MTcwMzQ4WjA8MQswCQYD
VQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xDjAMBgNVBAMT
BUFsaWNlMHYwEAYHKoZIzj0CAQYFK4EEACIDYgAEgBz7qVc3Uwgz/zZB5Y1vnkfT
Ov6VWBZV4XRt/iPPEJvkwKNVozR4US9yNcxXmniTOqIlMcLRXYkCipgxf8MwUhzB
nvE/25B316nopn5Fe63bXUvz5bVAjVAlIM3EA1Gxo3YwdDAMBgNVHRMBAf8EAjAA
MAsGA1UdDwQEAwIHgDAdBgNVHQ4EFgQUIx0A0f7tCzkQEZgYzH3NcM2L05IwHwYD
VR0jBBgwFoAUPpi8su/cNBu+cZLSo/ptvPJmQKowFwYDVR0gBBAwDjAMBgpghkgB
ZQMCATAwMAoGCCqGSM49BAMDA2cAMGQCMGu/Uypd7BaVnUjB36UtX9m5ZmPi78y5
1RA8WhbOv0KQVrcYtj4qOdiMVKBcoVceyAIwRJ6U91048NAb3nicHcrGFf1UYrhb
DlytK4tCa5HBxD/qAgy4/eUzA5NZwVaLK78u
-----END CERTIFICATE-----
]]></artwork>
      <t>Alice generates her ECDH key establishment key pair.  Then, Alice
composes a PKCS#10 CSR.  The CSR attributes include the
privateKeyPossessionStatement attribute, which points to her ECDSA signature
certificate.  The CSR includes her ECDH public key and a signature that
is produced with her ECDSA private key.  The CSR is:</t>
      <artwork><![CDATA[
-----BEGIN CERTIFICATE REQUEST-----
MIIEMTCCA7gCAQAwPDELMAkGA1UEBhMCVVMxCzAJBgNVBAgTAlZBMRAwDgYDVQQH
EwdIZXJuZG9uMQ4wDAYDVQQDEwVBbGljZTB0MA4GBSuBBAEMBgUrgQQAIgNiAAQB
RyQTH+cq1s5F94uFqFe7l1LqGdEC8Tm+e5VYBCfKAC8MJySQMj1GixEEXL+1Wjtg
23XvnJouCDoxSpDCSMqf3kvp5+naM37uxa3ZYgD6DPY3me5EZvyZPvSRJTFl/Bag
ggL9MGcGCSqGSIb3DQEJDjFaMFgwDAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCAwgw
IgYDVR0RBBswGYEXYWxpY2VAZW1haWwuZXhhbXBsZS5jb20wFwYDVR0gBBAwDjAM
BgpghkgBZQMCATAwMIICkAYKKwYBBAGBrGACATGCAoAwggJ8ME8wNzELMAkGA1UE
BhMCVVMxEzARBgNVBAoTCkV4YW1wbGUgQ0ExEzARBgNVBAMTCmNhLmV4YW1wbGUC
FH90o/wDbOIUeFxZYU5vjfJMR6h5MIICJzCCAa6gAwIBAgIUf3Sj/ANs4hR4XFlh
Tm+N8kxHqHkwCgYIKoZIzj0EAwMwNzELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkV4
YW1wbGUgQ0ExEzARBgNVBAMTCmNhLmV4YW1wbGUwHhcNMjUwMTA5MTcwMzQ4WhcN
MjYwMTA5MTcwMzQ4WjA8MQswCQYDVQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNV
BAcTB0hlcm5kb24xDjAMBgNVBAMTBUFsaWNlMHYwEAYHKoZIzj0CAQYFK4EEACID
YgAEgBz7qVc3Uwgz/zZB5Y1vnkfTOv6VWBZV4XRt/iPPEJvkwKNVozR4US9yNcxX
mniTOqIlMcLRXYkCipgxf8MwUhzBnvE/25B316nopn5Fe63bXUvz5bVAjVAlIM3E
A1Gxo3YwdDAMBgNVHRMBAf8EAjAAMAsGA1UdDwQEAwIHgDAdBgNVHQ4EFgQUIx0A
0f7tCzkQEZgYzH3NcM2L05IwHwYDVR0jBBgwFoAUPpi8su/cNBu+cZLSo/ptvPJm
QKowFwYDVR0gBBAwDjAMBgpghkgBZQMCATAwMAoGCCqGSM49BAMDA2cAMGQCMGu/
Uypd7BaVnUjB36UtX9m5ZmPi78y51RA8WhbOv0KQVrcYtj4qOdiMVKBcoVceyAIw
RJ6U91048NAb3nicHcrGFf1UYrhbDlytK4tCa5HBxD/qAgy4/eUzA5NZwVaLK78u
MAoGCCqGSM49BAMDA2cAMGQCL2TNHPULWcCS2DqZCCiQeSwx2JPLMI14Vi977bzy
rImq5p0H3Bel6fAS8BnQ00WNAjEAhHDAlcbRuHhqdW6mOgDd5kWEGGqgixIuvEEc
fVbnNCEyEE4n0mQ99PHURnXoHwqF
-----END CERTIFICATE REQUEST-----
]]></artwork>
      <t>The CSR decodes to:</t>
      <artwork><![CDATA[
   0 1073: SEQUENCE {
   4  952:  SEQUENCE {
   8    1:   INTEGER 0
  11   60:   SEQUENCE {
  13   11:    SET {
  15    9:     SEQUENCE {
  17    3:      OBJECT IDENTIFIER countryName (2 5 4 6)
  22    2:      PrintableString 'US'
         :       }
         :      }
  26   11:    SET {
  28    9:     SEQUENCE {
  30    3:      OBJECT IDENTIFIER stateOrProvinceName (2 5 4 8)
  35    2:      PrintableString 'VA'
         :       }
         :      }
  39   16:    SET {
  41   14:     SEQUENCE {
  43    3:      OBJECT IDENTIFIER localityName (2 5 4 7)
  48    7:      PrintableString 'Herndon'
         :       }
         :      }
  57   14:    SET {
  59   12:     SEQUENCE {
  61    3:      OBJECT IDENTIFIER commonName (2 5 4 3)
  66    5:      PrintableString 'Alice'
         :       }
         :      }
         :     }
  73  116:   SEQUENCE {
  75   14:    SEQUENCE {
  77    5:     OBJECT IDENTIFIER ECDH (1 3 132 1 12)
  84    5:     OBJECT IDENTIFIER secp384r1 (1 3 132 0 34)
         :      }
  91   98:    BIT STRING
         :     04 01 47 24 13 1F E7 2A D6 CE 45 F7 8B 85 A8 57
         :     BB 97 52 EA 19 D1 02 F1 39 BE 7B 95 58 04 27 CA
         :     00 2F 0C 27 24 90 32 3D 46 8B 11 04 5C BF B5 5A
         :     3B 60 DB 75 EF 9C 9A 2E 08 3A 31 4A 90 C2 48 CA
         :     9F DE 4B E9 E7 E9 DA 33 7E EE C5 AD D9 62 00 FA
         :     0C F6 37 99 EE 44 66 FC 99 3E F4 91 25 31 65 FC
         :     16
         :     }
 191  765:   [0] {
 195  103:    SEQUENCE {
 197    9:     OBJECT IDENTIFIER
         :      extensionRequest (1 2 840 113549 1 9 14)
 208   90:     SET {
 210   88:      SEQUENCE {
 212   12:       SEQUENCE {
 214    3:        OBJECT IDENTIFIER
         :         basicConstraints (2 5 29 19)
 219    1:        BOOLEAN TRUE
 222    2:        OCTET STRING, encapsulates {
 224    0:         SEQUENCE {}
         :          }
         :         }
 226   11:       SEQUENCE {
 228    3:        OBJECT IDENTIFIER keyUsage (2 5 29 15)
 233    4:        OCTET STRING, encapsulates {
 235    2:         BIT STRING 3 unused bits
         :          '10000'B (bit 4)
         :          }
         :         }
 239   34:       SEQUENCE {
 241    3:        OBJECT IDENTIFIER subjectAltName (2 5 29 17)
 246   27:        OCTET STRING, encapsulates {
 248   25:         SEQUENCE {
 250   23:          [1] 'alice@email.example.com'
         :           }
         :          }
         :         }
 275   23:       SEQUENCE {
 277    3:        OBJECT IDENTIFIER
         :         certificatePolicies (2 5 29 32)
 282   16:        OCTET STRING, encapsulates {
 284   14:         SEQUENCE {
 286   12:          SEQUENCE {
 288   10:           OBJECT IDENTIFIER 
         :            testCertPolicy (2 16 840 1 101 3 2 1 48 48)
         :            }
         :           }
         :          }
         :         }
         :        }
         :       }
         :      }
 300  656:    SEQUENCE {
 304   10:     OBJECT IDENTIFIER
         :      statementOfPossession (1 3 6 1 4 1 22112 2 1)
 316  640:     SET {
 320  636:      SEQUENCE {
 324   79:       SEQUENCE {
 326   55:        SEQUENCE {
 328   11:         SET {
 330    9:          SEQUENCE {
 332    3:           OBJECT IDENTIFIER countryName (2 5 4 6)
 337    2:           PrintableString 'US'
         :            }
         :           }
 341   19:         SET {
 343   17:          SEQUENCE {
 345    3:           OBJECT IDENTIFIER
         :            organizationName (2 5 4 10)
 350   10:           PrintableString 'Example CA'
         :            }
         :           }
 362   19:         SET {
 364   17:          SEQUENCE {
 366    3:           OBJECT IDENTIFIER commonName (2 5 4 3)
 371   10:           PrintableString 'ca.example'
         :            }
         :           }
         :          }
 383   20:        INTEGER
         :      7F 74 A3 FC 03 6C E2 14 78 5C 59 61 4E 6F 8D F2
         :      4C 47 A8 79
         :         }
 405  551:       SEQUENCE {
 409  430:        SEQUENCE {
 413    3:         [0] {
 415    1:          INTEGER 2
         :           }
 418   20:         INTEGER
         :      7F 74 A3 FC 03 6C E2 14 78 5C 59 61 4E 6F 8D F2
         :      4C 47 A8 79
 440   10:         SEQUENCE {
 442    8:          OBJECT IDENTIFIER
         :           ecdsaWithSHA384 (1 2 840 10045 4 3 3)
         :           }
 452   55:         SEQUENCE {
 454   11:          SET {
 456    9:           SEQUENCE {
 458    3:            OBJECT IDENTIFIER
         :             countryName (2 5 4 6)
 463    2:            PrintableString 'US'
         :             }
         :            }
 467   19:          SET {
 469   17:           SEQUENCE {
 471    3:            OBJECT IDENTIFIER
         :             organizationName (2 5 4 10)
 476   10:            PrintableString 'Example CA'
         :             }
         :            }
 488   19:          SET {
 490   17:           SEQUENCE {
 492    3:            OBJECT IDENTIFIER
         :             commonName (2 5 4 3)
 497   10:            PrintableString 'ca.example'
         :             }
         :            }
         :           }
 509   30:         SEQUENCE {
 511   13:          UTCTime 09/01/2025 17:03:48 GMT
 526   13:          UTCTime 09/01/2026 17:03:48 GMT
         :           }
 541   60:         SEQUENCE {
 543   11:          SET {
 545    9:           SEQUENCE {
 547    3:            OBJECT IDENTIFIER
         :             countryName (2 5 4 6)
 552    2:            PrintableString 'US'
         :             }
         :            }
 556   11:          SET {
 558    9:           SEQUENCE {
 560    3:            OBJECT IDENTIFIER
         :             stateOrProvinceName (2 5 4 8)
 565    2:            PrintableString 'VA'
         :             }
         :            }
 569   16:          SET {
 571   14:           SEQUENCE {
 573    3:            OBJECT IDENTIFIER
         :             localityName (2 5 4 7)
 578    7:            PrintableString 'Herndon'
         :             }
         :            }
 587   14:          SET {
 589   12:           SEQUENCE {
 591    3:            OBJECT IDENTIFIER
         :             commonName (2 5 4 3)
 596    5:            PrintableString 'Alice'
         :             }
         :            }
         :           }
 603  118:         SEQUENCE {
 605   16:          SEQUENCE {
 607    7:           OBJECT IDENTIFIER
         :            ecPublicKey (1 2 840 10045 2 1)
 616    5:           OBJECT IDENTIFIER
         :            secp384r1 (1 3 132 0 34)
         :            }
 623   98:          BIT STRING
         :      04 80 1C FB A9 57 37 53 08 33 FF 36 41 E5 8D 6F
         :      9E 47 D3 3A FE 95 58 16 55 E1 74 6D FE 23 CF 10
         :      9B E4 C0 A3 55 A3 34 78 51 2F 72 35 CC 57 9A 78
         :      93 3A A2 25 31 C2 D1 5D 89 02 8A 98 31 7F C3 30
         :      52 1C C1 9E F1 3F DB 90 77 D7 A9 E8 A6 7E 45 7B
         :      AD DB 5D 4B F3 E5 B5 40 8D 50 25 20 CD C4 03 51
         :      B1
         :           }
 723  118:         [3] {
 725  116:          SEQUENCE {
 727   12:           SEQUENCE {
 729    3:            OBJECT IDENTIFIER
         :             basicConstraints (2 5 29 19)
 734    1:            BOOLEAN TRUE
 737    2:            OCTET STRING, encapsulates {
 739    0:             SEQUENCE {}
         :              }
         :             }
 741   11:           SEQUENCE {
 743    3:            OBJECT IDENTIFIER
         :             keyUsage (2 5 29 15)
 748    4:            OCTET STRING, encapsulates {
 750    2:             BIT STRING 7 unused bits
         :              '1'B (bit 0)
         :              }
         :             }
 754   29:           SEQUENCE {
 756    3:            OBJECT IDENTIFIER
         :             subjectKeyIdentifier (2 5 29 14)
 761   22:            OCTET STRING, encapsulates {
 763   20:             OCTET STRING
         :      23 1D 00 D1 FE ED 0B 39 10 11 98 18 CC 7D CD 70
         :      CD 8B D3 92
         :              }
         :             }
 785   31:           SEQUENCE {
 787    3:            OBJECT IDENTIFIER
         :             authorityKeyIdentifier (2 5 29 35)
 792   24:            OCTET STRING, encapsulates {
 794   22:             SEQUENCE {
 796   20:              [0]
         :      3E 98 BC B2 EF DC 34 1B BE 71 92 D2 A3 FA 6D BC
         :      F2 66 40 AA
         :               }
         :              }
         :             }
 818   23:           SEQUENCE {
 820    3:            OBJECT IDENTIFIER
         :             certificatePolicies (2 5 29 32)
 825   16:            OCTET STRING, encapsulates {
 827   14:             SEQUENCE {
 829   12:              SEQUENCE {
 831   10:               OBJECT IDENTIFIER
         :                testCertPolicy (2 16 840 1 101 3 2 1 48 48)
         :                }
         :               }
         :              }
         :             }
         :            }
         :           }
         :          }
 843   10:        SEQUENCE {
 845    8:         OBJECT IDENTIFIER
         :          ecdsaWithSHA384 (1 2 840 10045 4 3 3)
         :          }
 855  103:        BIT STRING, encapsulates {
 858  100:         SEQUENCE {
 860   48:          INTEGER
         :      6B BF 53 2A 5D EC 16 95 9D 48 C1 DF A5 2D 5F D9
         :      B9 66 63 E2 EF CC B9 D5 10 3C 5A 16 CE BF 42 90
         :      56 B7 18 B6 3E 2A 39 D8 8C 54 A0 5C A1 57 1E C8
 910   48:          INTEGER
         :      44 9E 94 F7 5D 38 F0 D0 1B DE 78 9C 1D CA C6 15
         :      FD 54 62 B8 5B 0E 5C AD 2B 8B 42 6B 91 C1 C4 3F
         :      EA 02 0C B8 FD E5 33 03 93 59 C1 56 8B 2B BF 2E
         :           }
         :          }
         :         }
         :        }
         :       }
         :      }
         :     }
         :    }
 960   10:  SEQUENCE {
 962    8:   OBJECT IDENTIFIER ecdsaWithSHA384 (1 2 840 10045 4 3 3)
         :    }
 972  103:  BIT STRING, encapsulates {
 975  100:   SEQUENCE {
 977   47:    INTEGER
         :     64 CD 1C F5 0B 59 C0 92 D8 3A 99 08 28 90 79 2C
         :     31 D8 93 CB 30 8D 78 56 2F 7B ED BC F2 AC 89 AA
         :     E6 9D 07 DC 17 A5 E9 F0 12 F0 19 D0 D3 45 8D
1026   49:    INTEGER
         :     00 84 70 C0 95 C6 D1 B8 78 6A 75 6E A6 3A 00 DD
         :     E6 45 84 18 6A A0 8B 12 2E BC 41 1C 7D 56 E7 34
         :     21 32 10 4E 27 D2 64 3D F4 F1 D4 46 75 E8 1F 0A
         :     85
         :     }
         :    }
         :   }
]]></artwork>
      <t>The CA issues a key establishment certificate to Alice:</t>
      <artwork><![CDATA[
-----BEGIN CERTIFICATE-----
MIICJTCCAaygAwIBAgIUf3Sj/ANs4hR4XFlhTm+N8kxHqHowCgYIKoZIzj0EAwMw
NzELMAkGA1UEBhMCVVMxEzARBgNVBAoTCkV4YW1wbGUgQ0ExEzARBgNVBAMTCmNh
LmV4YW1wbGUwHhcNMjUwMTA5MTcwNTAwWhcNMjYwMTA5MTcwNTAwWjA8MQswCQYD
VQQGEwJVUzELMAkGA1UECBMCVkExEDAOBgNVBAcTB0hlcm5kb24xDjAMBgNVBAMT
BUFsaWNlMHQwDgYFK4EEAQwGBSuBBAAiA2IABAFHJBMf5yrWzkX3i4WoV7uXUuoZ
0QLxOb57lVgEJ8oALwwnJJAyPUaLEQRcv7VaO2Dbde+cmi4IOjFKkMJIyp/eS+nn
6dozfu7FrdliAPoM9jeZ7kRm/Jk+9JElMWX8FqN2MHQwDAYDVR0TAQH/BAIwADAL
BgNVHQ8EBAMCAwgwHQYDVR0OBBYEFAnLfJvnEUcvLXaPUDZMZlQ/zZ3WMB8GA1Ud
IwQYMBaAFD6YvLLv3DQbvnGS0qP6bbzyZkCqMBcGA1UdIAQQMA4wDAYKYIZIAWUD
AgEwMDAKBggqhkjOPQQDAwNnADBkAjARQ5LuV6yz8A5DZCll1S/gfxZ+QSJl/pKc
cTL6Sdr1IS18U/zY8VUJeB2H0nBamLwCMBRQ6sEWpNoeeR8Bonpoot/zYD2luQ1V
2jevmYsnBihKF0debgfhGvh8WIgBR69DZg==
-----END CERTIFICATE-----
]]></artwork>
    </section>
    <section numbered="false" anchor="acknowledgements">
      <name>Acknowledgements</name>
      <t>Thanks to
Sean Turner,
Joe Mandel,
Mike StJohns,
Mike Ounsworth,
John Gray,
Carl Wallace,
Corey Bonnell,
Hani Ezzadeen, and
Deb Cooley
for their constructive comments.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
+1MfbU5FVC8qmJFedJ6V0hk6xM09u6AK9uOw8tkxOTk5wVV/odjGfFhp++U6
294qG/4wRlun1bYfZ5CtLHzLtryRXZqZ/rPtB79Hl11/olMyomP6tFqUPRO9
C8e1ODON+NjL+qh/VPqZPpbiGL/ojgTd6o92ctE7lkrUhhPN6CKKmtI3aCvT
ajTUiq5pyt3lWFk2VGXcGDQ5UVYGb/WFazTVh5bRNDqz704wvtQ6S21837j0
HhrvT6yhLFtLpv1uNFvK87nCDQx10tJublpvxrvSVcftG1Xx+trzjXh/yy2H
54NxhzVS71p9bdaeMM3ZusOyPrHarafBstVX3ltPyqr9rki32Pa+1fakCK1O
sNQ69zpz0+mcG8uLm8G70W8BmgiJNmlddu8mk+GdGjz0VL3T37xT3lqX97yx
eIjfMw99lW+pyrm6ejnvtQD3sXGu9haqqiiOwjcUVX97GKmn51PrbfTMzcsX
j9yTZLvlzuPUuZeveszj08MwfLJPl+WWVL1uV3tD4aY2dTn/evSqc5XBnW2+
987lun+qvwi2Owzq9St2fu2GVu1qPKy6jF/tVpuD88lb9/1p+vZsGhft73Oz
3H6svDyL8oVum63Tls4u9eW9ftNl+0qnfqoqg6WyNNTTd6XJIEXrnaoBVNWU
cWdZ79COV6p6b9T08v1rs/kq6J3hq3veY1+uy8Ph++rhWXtpKd65pr2cM4g3
DNYVfqy0zgda6/xxWOYazti7EDq6Ow26I+857Bp1m9Xns7J+uRRerlbNZllh
rdql/MCMqzOOe2ssX+fh1DddiR833pRL7sa/enrvBjWn3p2HV9/Htbsg7N+5
nedLdcifCredd773YjV6p4x6a8y/B84FJ1/dXU3fy8q1rlaWv/8eiS9oWl54
aaFbAe9npw4KY70gutFScMSbxqjuMYkGJWeEmV893x0f7saTkVuFuvSVAVqK
zxzf3XN2N4rCN0hs13niqfbrNsHjkEavv9HxSR90vBPAH2V5redVVntXLiK1
HPeV6YPa6ipLfQxC1OnUGWM5ajzcXSwezuVFqyMudYW+0I3ljTo8nz59pECM
2lCs7+XpXZtrNVqnVb5j37aHklRn3/3v05vx7Y1dY4eP4tP7mzaUWtrTjdli
7Zrxaj3dtW6kucg8v784F/26xt7wF4r3ct+6O9VbtYa1fKi8XcuLzki25+XL
h+/du0UIjrtZ/X7LdRpc56Knt9+UdpcJTLXTMsRzrQcgNoagC8aF/lRTW3o1
QmetVY2loivNtEKporJkGmPaqauqwfL83ri7v32b3/M3ysMtNzFvl2tr8tCT
noY8u20odcZUlOVDp7G8Nnn/SrPLrD1SaqKgnYZSpXFbnTqr1feyXDNYcdJS
auOlcG5+d7vfq+/6YhDcNJfM2925Ug8tXXkylHJz+Np+fnjyyk/8u/TWbTz5
9XdjeD52bsRWTXwL3fljr9dtiCOVfe9L/PD2+YnpPwSLHnd/23h+Cgu1Kis2
m20kJTqxEOy+UeZFGnWYw9Eu3kEYzfLa4TwKvadTpR2Ik654V5tO+rPv7erz
W/2l/vzvczhSq28tW+8dkTqcp/ts25NSLXI4a0g0FSB5htV05Spazeqr7GRq
zaTnIS++6U9KK4GCUQe1wLxtT1v1+6Wh3Ndj/EA572uXomEoWkO/HyvGWH2v
vNxYwmA5fj99f1Cle+7VfX7sM1ev5Ztb9eFGvOuGp871tXHx+ry8bN94711x
0JNXbevtbuY6/auXxrRlNbt398+aMx+/PVZby8HkXWXcV+OUl1SBK7ve3JVq
dlkY3g1e36XhjfJ0o0wbLcFQuPM3T7hfjvQI9HoXdPyxaihPisK0lADxHunL
DrClUR/ryijSGdGojTuDxhursI+VUHt/7hgP4/v3utC2WnyTlRrL+hKJ2GWf
VHW8rHnK4HruVIPFqdVWF9+th2bPO52Hr9cXs86lt6xFLm8MxmQZEXE+njyP
VeahA66uDyIRu7CNB7PAg3XAgy1OB6v5qKKaN+7gSRXKg/BOnkkPs2unUl1J
DNdVqreT4dUre9m58a378El8uRo5rZtL1fJuLHsFpqB7UR7IHCtW28pQcB2r
bvnntUducO9Phow+XYWXYqiZUl19009flPFKPLUHEJ+0H5Y3ZvOyUl38oveq
7ys8ZpwYU3zR5cObK4dWkvH+vWNNyNxz8IAaFnfzDpbJ7sjkHN4aq9wl06wj
ZHKXWP5qR2i00BFWxv8yR8i2FDF2fgYI68AfdzpKY9x2FKWjMt1Vp1//br1w
gVSTxUXtpWZXplzz5XxkaFUwe7Z0c69qj5eKVm1drHqd1hN37rwZxl3zO3f7
FI4ZXrh7dS+8haZ7b725rvVaL4/C8+tc+u6aLaGyeDOFh/uxXtav74WZLRkP
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
AV8ITk3RMKnJOzWjjAoG+St4Sq6CCmbIKJwcT/+WUUohHhExg2M4llbYRHkf
PhD9AH0rLEVDQoGGYAjkDsAqK3hUpmxgTgS4YZykFwCEi4moidAf9A6P4vB4
rgYwgaCbo/ETYGhAtiluD+c5PMMDmikaeKoHvD3QV9DxPAwkaLqIZ3vwuE4V
zxqxOXJUc7pXIIDp55/F13M+/M6RT13TwaPy5uqAazrev/maTruvLLev6dC2
f9E1nQ5eAYiOPneW2buhSq1+obYepZV/+/58JzjirXdTWdwNFt4Dw3aab1dD
qTK9GRsXVU9pLpfuxYWyuh6YTaPTtV4rN+YVrw9H9ndr5oiNq6fa5XProrGa
n9q9767LlEfe++OiUvNHU0e59lryk/1Qee7OTi+ev8sXxrR1e1etvbR5CmHB
4X1m+/R+5l6o4jYfL15dY2C9Nu/M64H+0HqYdk7fH4Tbllqlx6eZxrJz31JN
Ze8lUtWinRtKp9NS6K2Iy/vGQ0O5HeiMMjaWLV25VMfjl8nz09V1p6Mry7ar
6Oqz8qR0O1JzcVNevVcVSX/QplOudzp+fHv43uldTE/nlxZj9Zvl3sjnGj2u
Ojh9v6/eDC5sla+zrmrOmkutpXY75cC4nbc92+5WVc+de14IHXV+uuhwNwz/
ZL/O7gNXdSaXNXZkD8ePk/PXSfW2MVa7ZVl/GH98yfQ3oljrX6qHehXgne/o
e5Pt0e9fXO8L/W4R033Gw8dMzzZd0l/4Lt62v/Bs0jLdkT09ZlrOs0164YU3
cYP46WrhBkvPDyfYc+KSc99cHTOa6U/JrTmdmpYNT54Pmg24ufYUZqmbrkOM
93dzZMe/YIPR7SHRPA9/pXB8B9zx8atMoq/1xq+4iX4pahicMP8P8HmRJ/R5
AAA=

-->

</rfc>
