6485
PROPOSED STANDARD

The Profile for Algorithms and Key Sizes for Use in the Resource Public Key Infrastructure (RPKI) (Obsoleted)

Authors: G. Huston
Date: February 2012
Area: rtg
Working Group: sidr
Stream: IETF
Obsoleted by: RFC 7935

Abstract

This document specifies the algorithms, algorithms' parameters, asymmetric key formats, asymmetric key size, and signature format for the Resource Public Key Infrastructure (RPKI) subscribers that generate digital signatures on certificates, Certificate Revocation Lists, and signed objects as well as for the relying parties (RPs) that verify these digital signatures. [STANDARDS-TRACK]

RFC 6485: The Profile for Algorithms and Key Sizes for Use in the Resource Public Key Infrastructure (RPKI) [RFC Home] [TEXT|PDF|HTML] [Tracker] [IPR] [Errata] [Info page]

Obsoleted by: 7935 PROPOSED STANDARD
Errata Exist
Internet Engineering Task Force (IETF)                         G. Huston
Request for Comments: 6485                                         APNIC
Category: Standards Track                                  February 2012
ISSN: 2070-1721


              <span class="h1">The Profile for Algorithms and Key Sizes for</span>
          <span class="h1">Use in the Resource Public Key Infrastructure (RPKI)</span>

Abstract

   This document specifies the algorithms, algorithms' parameters,
   asymmetric key formats, asymmetric key size, and signature format for
   the Resource Public Key Infrastructure (RPKI) subscribers that
   generate digital signatures on certificates, Certificate Revocation
   Lists, and signed objects as well as for the relying parties (RPs)
   that verify these digital signatures.

Status of This Memo

   This is an Internet Standards Track document.

   This document is a product of the Internet Engineering Task Force
   (IETF).  It represents the consensus of the IETF community.  It has
   received public review and has been approved for publication by the
   Internet Engineering Steering Group (IESG).  Further information on
   Internet Standards is available in <a href="./rfc5741#section-2">Section 2 of RFC 5741</a>.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained at
   <a href="https://www.rfc-editor.org/info/rfc6485">http://www.rfc-editor.org/info/rfc6485</a>.

Copyright Notice

   Copyright (c) 2012 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (<a href="http://trustee.ietf.org/license-info">http://trustee.ietf.org/license-info</a>) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.





<span class="grey">Huston                       Standards Track                    [Page 1]</span>

<span id="page-2" ></span>
<span class="grey"><a href="./rfc6485">RFC 6485</a>                 RPKI Algorithm Profile            February 2012</span>


<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>.  Introduction</span>

   This document specifies:

   *  the digital signature algorithm and parameters;
   *  the hash algorithm and parameters;
   *  the public and private key formats; and,
   *  the signature format

   used by Resource Public Key Infrastructure (RPKI) subscribers when
   they apply digital signatures to certificates, Certificate Revocation
   Lists (CRLs), and signed objects (e.g., Route Origin Authorizations
   (ROAs) and manifests).  Relying parties (RPs) also use the algorithms
   defined in this document to verify RPKI subscribers' digital
   signatures [<a href="./rfc6480" title=""An Infrastructure to Support Secure Internet Routing"">RFC6480</a>].

   This document is referenced by other RPKI profiles and
   specifications, including the RPKI Certificate Policy (CP) [<a href="./rfc6484" title=""Certificate Policy (CP) for the Resource Public Key Infrastructure (RPKI)"">RFC6484</a>],
   the RPKI Certificate Profile [<a href="./rfc6487" title=""A Profile for X.509 PKIX Resource Certificates"">RFC6487</a>], the SIDR Architecture
   [<a href="./rfc6480" title=""An Infrastructure to Support Secure Internet Routing"">RFC6480</a>], and the Signed Object Template for the RPKI [<a href="./rfc6488" title=""Signed Object Template for the Resource Public Key Infrastructure (RPKI)"">RFC6488</a>].
   Familiarity with these documents is assumed.

<span class="h3"><a class="selflink" id="section-1.1" href="#section-1.1">1.1</a>.  Terminology</span>

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [<a href="./rfc2119" title=""Key words for use in RFCs to Indicate Requirement Levels"">RFC2119</a>].

<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>.  Algorithms</span>

   Two cryptographic algorithms are used in the RPKI:

      *  The signature algorithm used in certificates, CRLs, and signed
         objects is RSA Public-Key Cryptography Standards (PKCS) #1
         Version 1.5 (sometimes referred to as "RSASSA-PKCS1-v1_5") from
         <a href="./rfc4055#section-5">Section 5 of [RFC4055]</a>.

      *  The hashing algorithm used in certificates, CRLs, and signed
         objects is SHA-256 [<a href="#ref-SHS" title=""FIPS Publication 180-3: Secure Hash Standard (SHS)"">SHS</a>].  The hashing algorithm is not
         identified by itself when used in certificates and CRLs, as
         they are combined with the digital signature algorithm (see
         below).

         When used in the Cryptographic Message Syntax (CMS) SignedData,
         the hash algorithm (in this case, the hash algorithm is
         sometimes called a message digest algorithm) is identified by
         itself.  For CMS SignedData, the object identifier and
         parameters for SHA-256 (as defined in [<a href="./rfc5754" title=""Using SHA2 Algorithms with Cryptographic Message Syntax"">RFC5754</a>]) MUST be used



<span class="grey">Huston                       Standards Track                    [Page 2]</span>

<span id="page-3" ></span>
<span class="grey"><a href="./rfc6485">RFC 6485</a>                 RPKI Algorithm Profile            February 2012</span>


         when populating the digestAlgorithms and digestAlgorithm
         fields.

         NOTE: The exception to the above hashing algorithm is the use
         of SHA-1 [<a href="#ref-SHS" title=""FIPS Publication 180-3: Secure Hash Standard (SHS)"">SHS</a>] when Certification Authorities (CAs) generate
         authority and subject key identifiers [<a href="./rfc6487" title=""A Profile for X.509 PKIX Resource Certificates"">RFC6487</a>].

   When used to generate and verify digital signatures the hash and
   digital signature algorithms are referred together, i.e., "RSA PKCS#1
   v1.5 with SHA-256" or more simply "RSA with SHA-256".  The Object
   Identifier (OID) sha256withRSAEncryption from [<a href="./rfc4055" title=""Additional Algorithms and Identifiers for RSA Cryptography for use in the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile"">RFC4055</a>] MUST be used.

   Locations for this OID are as follows:

      In the certificate, the OID appears in the signature and
      signatureAlgorithm fields [<a href="./rfc4055" title=""Additional Algorithms and Identifiers for RSA Cryptography for use in the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile"">RFC4055</a>];

      In the CRL, the OID appears in the signatureAlgorithm field
      [<a href="./rfc4055" title=""Additional Algorithms and Identifiers for RSA Cryptography for use in the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile"">RFC4055</a>];

      In CMS SignedData, the OID appears in each SignerInfo
      signatureAlgoithm field [<a href="./rfc3370" title=""Cryptographic Message Syntax (CMS) Algorithms"">RFC3370</a>] using the OID from above; and,

      In a certification request, the OID appears in the PKCS #10
      signatureAlgorithm field [<a href="./rfc2986" title=""PKCS #10: Certification Request Syntax Specification Version 1.7"">RFC2986</a>] or in the Certificate Request
      Message Format (CRMF) POPOSigningKey signature field [<a href="./rfc4211" title=""Internet X.509 Public Key Infrastructure Certificate Request Message Format (CRMF)"">RFC4211</a>].

<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>.  Asymmetric Key Pair Formats</span>

   The RSA key pairs used to compute the signatures MUST have a 2048-bit
   modulus and a public exponent (e) of 65,537.

<span class="h3"><a class="selflink" id="section-3.1" href="#section-3.1">3.1</a>.  Public Key Format</span>

   The subject's public key is included in subjectPublicKeyInfo
   [<a href="./rfc5280" title=""Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile"">RFC5280</a>].  It has two sub-fields: algorithm and subjectPublicKey.
   The values for the structures and their sub-structures follow:

   algorithm (which is an AlgorithmIdentifier type):
      The object identifier for RSA PKCS#1 v1.5 with SHA-256 MUST be
      used in the algorithm field, as specified in <a href="./rfc4055#section-5">Section 5 of
      [RFC4055]</a>.  The value for the associated parameters from that
      clause MUST also be used for the parameters field.

   subjectPublicKey:
      RSAPublicKey MUST be used to encode the certificate's
      subjectPublicKey field, as specified in [<a href="./rfc4055" title=""Additional Algorithms and Identifiers for RSA Cryptography for use in the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile"">RFC4055</a>].




<span class="grey">Huston                       Standards Track                    [Page 3]</span>

<span id="page-4" ></span>
<span class="grey"><a href="./rfc6485">RFC 6485</a>                 RPKI Algorithm Profile            February 2012</span>


<span class="h3"><a class="selflink" id="section-3.2" href="#section-3.2">3.2</a>.  Private Key Format</span>

   Local policy determines the private key format.

<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>.  Signature Format</span>

   The structure for the certificate's signature field is as specified
   in <a href="./rfc4055#section-1.2">Section 1.2 of [RFC4055]</a>.  The structure for the CMS SignedData's
   signature field is as specified in [<a href="./rfc3370" title=""Cryptographic Message Syntax (CMS) Algorithms"">RFC3370</a>].

<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>.  Additional Requirements</span>

   It is anticipated that the RPKI will require the adoption of updated
   key sizes and a different set of signature and hash algorithms over
   time, in order to maintain an acceptable level of cryptographic
   security to protect the integrity of signed products in the RPKI.
   This profile should be replaced to specify such future requirements,
   as and when appropriate.

   CAs and RPs SHOULD be capable of supporting a transition to allow for
   the phased introduction of additional encryption algorithms and key
   specifications, and also accommodate the orderly deprecation of
   previously specified algorithms and keys.  Accordingly, CAs and RPs
   SHOULD be capable of supporting multiple RPKI algorithm and key
   profiles simultaneously within the scope of such anticipated
   transitions.  The recommended procedures to implement such a
   transition of key sizes and algorithms is not specified in this
   document.

<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>.  Security Considerations</span>

   The Security Considerations of [<a href="./rfc4055" title=""Additional Algorithms and Identifiers for RSA Cryptography for use in the Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile"">RFC4055</a>], [<a href="./rfc5280" title=""Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile"">RFC5280</a>], and [<a href="./rfc6487" title=""A Profile for X.509 PKIX Resource Certificates"">RFC6487</a>]
   apply to certificates and CRLs.  The Security Considerations of
   [<a href="./rfc5754" title=""Using SHA2 Algorithms with Cryptographic Message Syntax"">RFC5754</a>] apply to signed objects.  No new security threats are
   introduced as a result of this specification.

<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>.  Acknowledgments</span>

   The author acknowledges the reuse in this document of material
   originally contained in working drafts of the RPKI Certificate Policy
   [<a href="./rfc6484" title=""Certificate Policy (CP) for the Resource Public Key Infrastructure (RPKI)"">RFC6484</a>] and the resource certificate profile [<a href="./rfc6487" title=""A Profile for X.509 PKIX Resource Certificates"">RFC6487</a>] documents.
   The co-authors of these two documents, namely Stephen Kent, Derrick
   Kong, Karen Seo, Ronald Watro, George Michaelson, and Robert Loomans,
   are acknowledged, with thanks.  The constraint on key size noted in
   this profile is the outcome of comments from Stephen Kent and review
   comments from David Cooper.  Sean Turner has provided additional
   review input to this document.




<span class="grey">Huston                       Standards Track                    [Page 4]</span>

<span id="page-5" ></span>
<span class="grey"><a href="./rfc6485">RFC 6485</a>                 RPKI Algorithm Profile            February 2012</span>


<span class="h2"><a class="selflink" id="section-9" href="#section-9">9</a>.  Normative References</span>

   [<a id="ref-RFC2119">RFC2119</a>]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>, March 1997.

   [<a id="ref-RFC2986">RFC2986</a>]  Nystrom, M. and B. Kaliski, "PKCS #10: Certification
              Request Syntax Specification Version 1.7", <a href="./rfc2986">RFC 2986</a>,
              November 2000.

   [<a id="ref-RFC3370">RFC3370</a>]  Housley, R., "Cryptographic Message Syntax (CMS)
              Algorithms", <a href="./rfc3370">RFC 3370</a>, August 2002.

   [<a id="ref-RFC4055">RFC4055</a>]  Schaad, J., Kaliski, B., and R. Housley, "Additional
              Algorithms and Identifiers for RSA Cryptography for use in
              the Internet X.509 Public Key Infrastructure Certificate
              and Certificate Revocation List (CRL) Profile", <a href="./rfc4055">RFC 4055</a>,
              June 2005.

   [<a id="ref-RFC4211">RFC4211</a>]  Schaad, J., "Internet X.509 Public Key Infrastructure
              Certificate Request Message Format (CRMF)", <a href="./rfc4211">RFC 4211</a>,
              September 2005.

   [<a id="ref-RFC5280">RFC5280</a>]  Cooper, D., Santesson, S., Farrell, S., Boeyen, S.,
              Housley, R., and W. Polk, "Internet X.509 Public Key
              Infrastructure Certificate and Certificate Revocation List
              (CRL) Profile", <a href="./rfc5280">RFC 5280</a>, May 2008.

   [<a id="ref-RFC5754">RFC5754</a>]  Turner, S., "Using SHA2 Algorithms with Cryptographic
              Message Syntax", <a href="./rfc5754">RFC 5754</a>, January 2010.

   [<a id="ref-RFC6480">RFC6480</a>]  Lepinski, M. and S. Kent, "An Infrastructure to Support
              Secure Internet Routing", <a href="./rfc6480">RFC 6480</a>, February 2012.

   [<a id="ref-RFC6484">RFC6484</a>]  Kent, S., Kong, D., Seo, K., and R. Watro, "Certificate
              Policy (CP) for the Resource Public Key Infrastructure
              (RPKI)", <a href="https://www.rfc-editor.org/bcp/bcp173">BCP 173</a>, <a href="./rfc6484">RFC 6484</a>, February 2012.

   [<a id="ref-RFC6487">RFC6487</a>]  Husotn, G., Michaelson, G., and R. Loomans, "A Profile for
              X.509 PKIX Resource Certificates", <a href="./rfc6487">RFC 6487</a>, February
              2012.

   [<a id="ref-RFC6488">RFC6488</a>]  Lepinski, M., Chi, A., and S. Kent, "Signed Object
              Template for the Resource Public Key Infrastructure
              (RPKI)", <a href="./rfc6488">RFC 6488</a>, February 2012.

   [<a id="ref-SHS">SHS</a>]      National Institute of Standards and Technology (NIST),
              "FIPS Publication 180-3: Secure Hash Standard (SHS)", FIPS
              Publication 180-3, October 2008.



<span class="grey">Huston                       Standards Track                    [Page 5]</span>

<span id="page-6" ></span>
<span class="grey"><a href="./rfc6485">RFC 6485</a>                 RPKI Algorithm Profile            February 2012</span>


Author's Address

   Geoff Huston
   APNIC

   EMail: [email protected]













































Huston                       Standards Track                    [Page 6]

Additional Resources