draft-ietf-sidr-rfc6485bis-05.txt   rfc7935.txt 
SIDR G. Huston Internet Engineering Task Force (IETF) G. Huston
Internet-Draft G. Michaelson, Ed. Request for Comments: 7935 G. Michaelson, Ed.
Obsoletes: 6485 (if approved) APNIC Obsoletes: 6485 APNIC
Intended status: Standards Track March 8, 2016 Category: Standards Track August 2016
Expires: September 9, 2016 ISSN: 2070-1721
The Profile for Algorithms and Key Sizes for use in the Resource Public The Profile for Algorithms and Key Sizes
Key Infrastructure for Use in the Resource Public Key Infrastructure
draft-ietf-sidr-rfc6485bis-05.txt
Abstract Abstract
This document specifies the algorithms, algorithms' parameters, This document specifies the algorithms, algorithms' parameters,
asymmetric key formats, asymmetric key size, and signature format for asymmetric key formats, asymmetric key size, and signature format for
the Resource Public Key Infrastructure (RPKI) subscribers that the Resource Public Key Infrastructure (RPKI) subscribers that
generate digital signatures on certificates, Certificate Revocation generate digital signatures on certificates, Certificate Revocation
Lists (CRLs), Cryptographic Message Syntax (CMS) signed objects and Lists (CRLs), Cryptographic Message Syntax (CMS) signed objects and
certification requests as well as for the relying parties (RPs) that certification requests as well as for the relying parties (RPs) that
verify these digital signatures. verify these digital signatures.
Status of This Memo Status of This Memo
This Internet-Draft is submitted in full conformance with the This is an Internet Standards Track document.
provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months This document is a product of the Internet Engineering Task Force
and may be updated, replaced, or obsoleted by other documents at any (IETF). It represents the consensus of the IETF community. It has
time. It is inappropriate to use Internet-Drafts as reference received public review and has been approved for publication by
material or to cite them other than as "work in progress." the Internet Engineering Steering Group (IESG). Further
information on Internet Standards is available in Section 2 of
RFC 7841.
This Internet-Draft will expire on September 9, 2016. Information about the current status of this document, any
errata, and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc7935.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3
2. Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . 3 2. Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . 3
3. Asymmetric Key Pair Formats . . . . . . . . . . . . . . . . . 4 3. Asymmetric Key Pair Formats . . . . . . . . . . . . . . . . . 4
3.1. Public Key Format . . . . . . . . . . . . . . . . . . . . 4 3.1. Public Key Format . . . . . . . . . . . . . . . . . . . . 5
3.2. Private Key Format . . . . . . . . . . . . . . . . . . . 4 3.2. Private Key Format . . . . . . . . . . . . . . . . . . . 5
4. Signature Format . . . . . . . . . . . . . . . . . . . . . . 5 4. Signature Format . . . . . . . . . . . . . . . . . . . . . . 5
5. Additional Requirements . . . . . . . . . . . . . . . . . . . 5 5. Additional Requirements . . . . . . . . . . . . . . . . . . . 5
6. Security Considerations . . . . . . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . 5
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 7. Changes Applied to RFC 6485 . . . . . . . . . . . . . . . . . 6
8. Changes Aplied to RFC6485 . . . . . . . . . . . . . . . . . . 5 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 7
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 6 8.1. Normative References . . . . . . . . . . . . . . . . . . 7
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 7 8.2. Informative References . . . . . . . . . . . . . . . . . 8
10.1. Normative References . . . . . . . . . . . . . . . . . . 7 Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . . 9
10.2. Informative References . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction 1. Introduction
This document specifies: This document specifies:
* the digital signature algorithm and parameters; * the digital signature algorithm and parameters;
* the hash algorithm and parameters; * the hash algorithm and parameters;
* the public and private key formats; and, * the public and private key formats; and,
* the signature format * the signature format
used by Resource Public Key Infrastructure (RPKI) [RFC6480] used by Resource Public Key Infrastructure (RPKI) [RFC6480]
subscribers when they apply digital signatures to certificates and subscribers when they apply digital signatures to certificates and
Certificate Revocation Lists (CRLs) [RFC5280], Cryptographic Message Certificate Revocation Lists (CRLs) [RFC5280], Cryptographic Message
Syntax (CMS) signed objects [RFC5652] (e.g., Route Origin Syntax (CMS) signed objects [RFC5652] (e.g., Route Origin
Authorizations (ROAs) [RFC6482] and manifests [RFC6486]), and Authorizations (ROAs) [RFC6482] and manifests [RFC6486]), and
certification requests [RFC2986][RFC4211]. Relying parties (RPs) certification requests [RFC2986] [RFC4211]. Relying parties (RPs)
also use the algorithms defined in this document to verify RPKI also use the algorithms defined in this document to verify RPKI
subscribers' digital signatures [RFC6480]. subscribers' digital signatures [RFC6480].
This document is referenced by other RPKI profiles and The RPKI profiles and specification documents that reference RFC 6485
specifications, including the RPKI Certificate Policy (CP) [RFC6484], now refer to this document; these documents include the RPKI
the RPKI Certificate Profile [RFC6487], the RPKI Architecture Certificate Policy (CP) [RFC6484], the RPKI Certificate Profile
[RFC6480], and the Signed Object Template for the RPKI [RFC6488]. [RFC6487], the RPKI Architecture [RFC6480], and the Signed Object
Familiarity with these documents is assumed. Template for the RPKI [RFC6488]. Familiarity with these documents is
assumed.
1.1. Terminology 1.1. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119]. document are to be interpreted as described in [RFC2119].
2. Algorithms 2. Algorithms
Two cryptographic algorithms are used in the RPKI: Two cryptographic algorithms are used in the RPKI:
skipping to change at page 3, line 36 skipping to change at page 4, line 14
* The hashing algorithm used in certificates, CRLs, CMS signed * The hashing algorithm used in certificates, CRLs, CMS signed
objects and certification requests is SHA-256 [SHS] (see note objects and certification requests is SHA-256 [SHS] (see note
below). below).
NOTE: The exception is the use of SHA-1 [SHS] when CAs generate NOTE: The exception is the use of SHA-1 [SHS] when CAs generate
authority and subject key identifiers [RFC6487]. authority and subject key identifiers [RFC6487].
In certificates, CRLs, and certification requests the hashing and In certificates, CRLs, and certification requests the hashing and
digital signature algorithms are identified together, i.e., "RSA digital signature algorithms are identified together, i.e., "RSA
PKCS#1 v1.5 with SHA-256" or more simply "RSA with SHA-256". The PKCS #1 v1.5 with SHA-256" or more simply "RSA with SHA-256". The
Object Identifier (OID) sha256WithRSAEncryption from [RFC4055] MUST Object Identifier (OID) sha256WithRSAEncryption from [RFC4055] MUST
be used in these products. be used in these products.
The OID is in the following locations: The OID is in the following locations:
In the certificate, the OID appears in the signature and In the certificate, the OID appears in the signature and
signatureAlgorithm fields [RFC4055]; signatureAlgorithm fields [RFC4055].
In the CRL, the OID appears in the signatureAlgorithm field In the CRL, the OID appears in the signatureAlgorithm field
[RFC4055]; and [RFC4055].
In a certification request, the OID appears in the PKCS #10 In a certification request, the OID appears in the PKCS #10
signatureAlgorithm field [RFC2986], or in the Certificate Request signatureAlgorithm field [RFC2986], or in the Certificate Request
Message Format (CRMF) POPOSigningKey algorithmIdentifier field Message Format (CRMF) POPOSigningKey algorithmIdentifier field
[RFC4211]. [RFC4211].
In CMS SignedData, the hashing (message digest) and digital signature In CMS SignedData, the hashing (message digest) and digital signature
algorithms are identified separately. The object identifier and algorithms are identified separately. The object identifier and
parameters for SHA-256 (as defined in [RFC5754]) MUST be used for the parameters for SHA-256 (as defined in [RFC5754]) MUST be used for the
SignedData digestAlgorithms field and the SignerInfo digestAlgorithm SignedData digestAlgorithms field and the SignerInfo digestAlgorithm
skipping to change at page 4, line 36 skipping to change at page 5, line 12
The RSA key pairs used to compute the signatures MUST have a 2048-bit The RSA key pairs used to compute the signatures MUST have a 2048-bit
modulus and a public exponent (e) of 65,537. modulus and a public exponent (e) of 65,537.
3.1. Public Key Format 3.1. Public Key Format
The subject's public key is included in subjectPublicKeyInfo The subject's public key is included in subjectPublicKeyInfo
[RFC5280]. It has two sub-fields: algorithm and subjectPublicKey. [RFC5280]. It has two sub-fields: algorithm and subjectPublicKey.
The values for the structures and their sub-structures follow: The values for the structures and their sub-structures follow:
algorithm (which is an AlgorithmIdentifier type): algorithm (which is an AlgorithmIdentifier type):
The object identifier for RSA PKCS#1 v1.5 with SHA-256 MUST be The object identifier for RSA PKCS #1 v1.5 with SHA-256 MUST be
used in the algorithm field, as specified in Section 5 of used in the algorithm field, as specified in Section 5 of
[RFC4055]. The value for the associated parameters from that [RFC4055]. The value for the associated parameters from that
clause MUST also be used for the parameters field. clause MUST also be used for the parameters field.
subjectPublicKey: subjectPublicKey:
RSAPublicKey MUST be used to encode the certificate's RSAPublicKey MUST be used to encode the certificate's
subjectPublicKey field, as specified in [RFC4055]. subjectPublicKey field, as specified in [RFC4055].
3.2. Private Key Format 3.2. Private Key Format
Local policy determines the private key format. Local policy determines the private key format.
4. Signature Format 4. Signature Format
The structure for the certificate's signature field is as specified The structure for the certificate's signature field is as specified
in Section 1.2 of [RFC4055]. The structure for the CMS SignedData's in Section 1.2 of [RFC4055]. The structure for the signature field
signature field is as specified in [RFC5652]. in the CMS SignedData's SignerInfos is as specified in [RFC5652].
5. Additional Requirements 5. Additional Requirements
It is anticipated that the RPKI will require the adoption of updated It is anticipated that the RPKI will require the adoption of updated
key sizes and a different set of signature and hash algorithms over key sizes and a different set of signature and hash algorithms over
time, in order to maintain an acceptable level of cryptographic time, in order to maintain an acceptable level of cryptographic
security to protect the integrity of signed products in the RPKI. security to protect the integrity of signed products in the RPKI.
This profile should be replaced to specify such future requirements, This profile should be replaced to specify such future requirements,
as and when appropriate. as and when appropriate.
The procedures to implement such a transition of key sizes and The procedures to implement such a transition of key sizes and
algorithms is specified in [RFC6916] algorithms are specified in [RFC6916].
6. Security Considerations 6. Security Considerations
The Security Considerations of [RFC4055], [RFC5280], and [RFC6487] The Security Considerations of [RFC4055], [RFC5280], and [RFC6487]
apply to certificate and CRLs. The Security Considerations of apply to certificates and CRLs. The Security Considerations of
[RFC2986], [RFC4211], and [RFC6487] apply to certification /> [RFC2986], [RFC4211], and [RFC6487] apply to certification requests.
requests. The Security Considerations of [RFC5754] apply to CMS The Security Considerations of [RFC5754] apply to CMS signed objects.
signed objects. No new security threats are introduced as a result No new security threats are introduced as a result of this
of this specification. specification.
7. IANA Considerations
[Remove before publication. There are no IANA considerations in this
document.]
8. Changes Aplied to RFC6485 7. Changes Applied to RFC 6485
This update includes a slight technical change to [RFC6485] that is This update includes a slight technical change to [RFC6485] that is
considered to be outside the limited scope of an erratum. The considered to be outside the limited scope of an erratum. The
document update process has included other errata and also corrected document update process has included other errata and also corrected
a number of nits. a number of nits.
Section 2 of [RFC6485] specified sha256WithRSAEncryption as the OID Section 2 of [RFC6485] specified sha256WithRSAEncryption as the OID
to use for the SignerInfo signatureAlgorithm field in CMS to use for the SignerInfo signatureAlgorithm field in CMS
SignedObjects. However, existing implementations use the SignedObjects. However, existing implementations use the
rsaEncryption OID for this field. (Support for rsaEncryption in 3rd rsaEncryption OID for this field. (Support for rsaEncryption in
party cryptographic libraries is better than sha256WithRSAEncryption, third-party cryptographic libraries is better than
perhaps because [RFC3370] says that support for rsaEncryption is sha256WithRSAEncryption, perhaps because [RFC3370] says that support
required while support for OIDs that specify both RSA and a digest for rsaEncryption is required, while support for OIDs that specify
algorithm is optional.) both RSA and a digest algorithm is optional.)
Rather than force existing implementations to switch to Rather than force existing implementations to switch to
sha256WithRSAEncryption, this document was changed to follow existing sha256WithRSAEncryption, this document was changed to follow existing
practice. This does not represent a cryptographic algorithm change, practice. This does not represent a cryptographic algorithm change,
just an identifier change. (Unlike certificates, CRLs, and just an identifier change. (Unlike certificates, CRLs, and
certification requests, CMS signed objects have a separate algorithm certification requests, CMS signed objects have a separate algorithm
identifier field for the hash (digest) algorithm, and that field is identifier field for the hash (digest) algorithm, and that field is
already required to contain the id-sha256 OID per Section 2.) already required to contain the id-sha256 OID per Section 2.)
To avoid compatibility problems, RPs are still required to accept To avoid compatibility problems, RPs are still required to accept
sha256WithRSAEncryption if encountered. sha256WithRSAEncryption if encountered.
Other changes include: Other changes include:
* Minor wording and typo fixes. * Minor wording and typo fixes.
* Some incorrect references were fixed ([RFC5652] instead of * Corrections to references ([RFC5652] instead of [RFC3370],
[RFC3370], [RFC3447] instead of [RFC4055]). [RFC3447] instead of [RFC4055]).
* Additional citations were added to the Introduction. * Additional citations included in the Introduction.
* Section 2 now references the correct CRMF POPOSigningKey field * Correction to the CRMF POPOSigningKey field that is mentioned
(algorithmIdentifier instead of signature). in Section 2 (algorithmIdentifier instead of signature).
* Certification requests are now mentioned along with * Inclusion of certification requests in mentions of
certificates, CRLs, and CMS signed objects. certificates, CRLs, and CMS signed objects.
* Section 5 now cites [RFC6916] (algorithm agility) and has been * Replacement of text in Section 5 with a pointer to the
updated to reflect the procedures mentioned there. procedures specified in [RFC6916] (algorithm agility).
* "Signed object" is now "CMS signed object" everywhere.
9. Acknowledgments
The authors acknowledge the reuse in this document of material
originally contained in working drafts the RPKI Certificate Policy
[RFC6484] and resource certificate profile [RFC6487] 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.
Andrew Chi and David Mandelberg discovered the issue addressed in * Replacement of "signed object" with "CMS signed object"
this update to [RFC6485], and the changes in this updated everywhere.
specification reflect the outcome of a discussion between Rob Austein
and Matt Lepinski on the SIDR Working group mailing list. Richard
Hansen edited this update to the document.
10. References 8. References
10.1. Normative References 8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997, DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>. <http://www.rfc-editor.org/info/rfc2119>.
[RFC2986] Nystrom, M. and B. Kaliski, "PKCS #10: Certification [RFC2986] Nystrom, M. and B. Kaliski, "PKCS #10: Certification
Request Syntax Specification Version 1.7", RFC 2986, Request Syntax Specification Version 1.7", RFC 2986,
DOI 10.17487/RFC2986, November 2000, DOI 10.17487/RFC2986, November 2000,
<http://www.rfc-editor.org/info/rfc2986>. <http://www.rfc-editor.org/info/rfc2986>.
skipping to change at page 8, line 32 skipping to change at page 8, line 28
[RFC6488] Lepinski, M., Chi, A., and S. Kent, "Signed Object [RFC6488] Lepinski, M., Chi, A., and S. Kent, "Signed Object
Template for the Resource Public Key Infrastructure Template for the Resource Public Key Infrastructure
(RPKI)", RFC 6488, DOI 10.17487/RFC6488, February 2012, (RPKI)", RFC 6488, DOI 10.17487/RFC6488, February 2012,
<http://www.rfc-editor.org/info/rfc6488>. <http://www.rfc-editor.org/info/rfc6488>.
[SHS] National Institute of Standards and Technology (NIST), [SHS] National Institute of Standards and Technology (NIST),
"FIPS Publication 180-3: Secure Hash Standard", FIPS "FIPS Publication 180-3: Secure Hash Standard", FIPS
Publication 180-3, October 2008. Publication 180-3, October 2008.
10.2. Informative References 8.2. Informative References
[RFC6482] Lepinski, M., Kent, S., and D. Kong, "A Profile for Route [RFC6482] Lepinski, M., Kent, S., and D. Kong, "A Profile for Route
Origin Authorizations (ROAs)", RFC 6482, Origin Authorizations (ROAs)", RFC 6482,
DOI 10.17487/RFC6482, February 2012, DOI 10.17487/RFC6482, February 2012,
<http://www.rfc-editor.org/info/rfc6482>. <http://www.rfc-editor.org/info/rfc6482>.
[RFC6485] Huston, G., "The Profile for Algorithms and Key Sizes for [RFC6485] Huston, G., "The Profile for Algorithms and Key Sizes for
Use in the Resource Public Key Infrastructure (RPKI)", Use in the Resource Public Key Infrastructure (RPKI)",
RFC 6485, DOI 10.17487/RFC6485, February 2012, RFC 6485, DOI 10.17487/RFC6485, February 2012,
<http://www.rfc-editor.org/info/rfc6485>. <http://www.rfc-editor.org/info/rfc6485>.
skipping to change at page 9, line 5 skipping to change at page 9, line 5
[RFC6486] Austein, R., Huston, G., Kent, S., and M. Lepinski, [RFC6486] Austein, R., Huston, G., Kent, S., and M. Lepinski,
"Manifests for the Resource Public Key Infrastructure "Manifests for the Resource Public Key Infrastructure
(RPKI)", RFC 6486, DOI 10.17487/RFC6486, February 2012, (RPKI)", RFC 6486, DOI 10.17487/RFC6486, February 2012,
<http://www.rfc-editor.org/info/rfc6486>. <http://www.rfc-editor.org/info/rfc6486>.
[RFC6916] Gagliano, R., Kent, S., and S. Turner, "Algorithm Agility [RFC6916] Gagliano, R., Kent, S., and S. Turner, "Algorithm Agility
Procedure for the Resource Public Key Infrastructure Procedure for the Resource Public Key Infrastructure
(RPKI)", BCP 182, RFC 6916, DOI 10.17487/RFC6916, April (RPKI)", BCP 182, RFC 6916, DOI 10.17487/RFC6916, April
2013, <http://www.rfc-editor.org/info/rfc6916>. 2013, <http://www.rfc-editor.org/info/rfc6916>.
Acknowledgments
The authors acknowledge the reuse in this document of material
originally contained in working drafts of the RPKI Certificate Policy
[RFC6484] and resource certificate profile [RFC6487] documents. The
coauthors 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.
Andrew Chi and David Mandelberg discovered the issue addressed in
this replacement of [RFC6485], and the changes in this updated
specification reflect the outcome of a discussion between Rob Austein
and Matt Lepinski on the SIDR Working group mailing list. Richard
Hansen contributed a significant number of suggestions that have been
incorporated into this document.
Authors' Addresses Authors' Addresses
Geoff Huston Geoff Huston
APNIC APNIC
Email: gih@apnic.net Email: gih@apnic.net
George Michaelson (editor) George Michaelson (editor)
APNIC APNIC
 End of changes. 29 change blocks. 
88 lines changed or deleted 84 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/