draft-ietf-sidrops-bgpsec-algs-rfc8208-bis-05.txt | rfc8608.txt | |||
---|---|---|---|---|
Internet Engineering Task Force (IETF) S. Turner | Internet Engineering Task Force (IETF) S. Turner | |||
Internet-Draft sn3rd | Request for Comments: 8608 sn3rd | |||
Obsoletes: 8208 (if approved) O. Borchert | Obsoletes: 8208 O. Borchert | |||
Intended status: Standards Track NIST | Updates: 7935 NIST | |||
Expires: October 17, 2019 April 15, 2019 | Category: Standards Track June 2019 | |||
ISSN: 2070-1721 | ||||
BGPsec Algorithms, Key Formats, and Signature Formats | BGPsec Algorithms, Key Formats, and Signature Formats | |||
draft-ietf-sidrops-bgpsec-algs-rfc8208-bis-05 | ||||
Abstract | Abstract | |||
This document specifies the algorithms, algorithm parameters, | This document specifies the algorithms, algorithm parameters, | |||
asymmetric key formats, asymmetric key sizes, and signature formats | asymmetric key formats, asymmetric key sizes, and signature formats | |||
used in BGPsec (Border Gateway Protocol Security). This document | used in BGPsec (Border Gateway Protocol Security). This document | |||
obsoletes RFC 8208 ("BGPsec Algorithms, Key Formats, and Signature | updates RFC 7935 ("The Profile for Algorithms and Key Sizes for Use | |||
Formats") by adding Documentation Algorithm IDs, Experimentation | in the Resource Public Key Infrastructure") and obsoletes RFC 8208 | |||
Algorithm IDs, correcting the range of unassigned algorithms IDs to | ("BGPsec Algorithms, Key Formats, and Signature Formats") by adding | |||
fill the complete range, and restructured the document for better | Documentation and Experimentation Algorithm IDs, correcting the range | |||
reading. | of unassigned algorithms IDs to fill the complete range, and | |||
restructuring the document for better reading. | ||||
This document also includes example BGPsec UPDATE messages as well as | This document also includes example BGPsec UPDATE messages as well as | |||
the private keys used to generate the messages and the certificates | the private keys used to generate the messages and the certificates | |||
necessary to validate those signatures. | necessary to validate those 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 the | |||
material or to cite them other than as "work in progress." | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | ||||
This Internet-Draft will expire on August 2, 2018 | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | ||||
https://www.rfc-editor.org/info/rfc8608. | ||||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2019 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 | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://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 . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
1.2. Changes from RFC 8208 . . . . . . . . . . . . . . . . . . 4 | 1.2. Changes from RFC 8208 . . . . . . . . . . . . . . . . . . 4 | |||
2. Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . 4 | 2. Algorithms . . . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
2.1. Algorithm ID Types . . . . . . . . . . . . . . . . . . . . 4 | 2.1. Algorithm ID Types . . . . . . . . . . . . . . . . . . . 4 | |||
2.2. Signature Algorithms . . . . . . . . . . . . . . . . . . . 6 | 2.2. Signature Algorithms . . . . . . . . . . . . . . . . . . 6 | |||
2.2.1. Algorithm ID 0x01 (1) - (ECDSA-P256) . . . . . . . . . 6 | 2.2.1. Algorithm ID 0x01 (1) - (ECDSA P-256) . . . . . . . . 6 | |||
3. Asymmetric Key Pair Formats . . . . . . . . . . . . . . . . . 6 | 3. Asymmetric Key Pair Formats . . . . . . . . . . . . . . . . . 6 | |||
3.1. Asymmetric Key Pair for Algorithm ID 0x01 (1) - | 3.1. Asymmetric Key Pair for Algorithm ID 0x01 (1) - (ECDSA | |||
(ECDSA-P256) . . . . . . . . . . . . . . . . . . . . . . . 6 | P-256) . . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
3.1.1. Public Key Format . . . . . . . . . . . . . . . . . . 6 | 3.1.1. Public Key Format . . . . . . . . . . . . . . . . . . 6 | |||
3.1.2. Private Key Format . . . . . . . . . . . . . . . . . . 7 | 3.1.2. Private Key Format . . . . . . . . . . . . . . . . . 7 | |||
4. Signature Formats . . . . . . . . . . . . . . . . . . . . . . 7 | 4. Signature Formats . . . . . . . . . . . . . . . . . . . . . . 7 | |||
5. Additional Requirements . . . . . . . . . . . . . . . . . . . 7 | 5. Additional Requirements . . . . . . . . . . . . . . . . . . . 7 | |||
6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 7 | |||
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | |||
8. References . . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
8.1. Normative References . . . . . . . . . . . . . . . . . . . 10 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 9 | |||
8.2. Informative References . . . . . . . . . . . . . . . . . . 11 | 8.2. Informative References . . . . . . . . . . . . . . . . . 11 | |||
Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 13 | Appendix A. Examples . . . . . . . . . . . . . . . . . . . . . . 12 | |||
A.1. Topology and Experiment Description . . . . . . . . . . . 13 | A.1. Topology and Experiment Description . . . . . . . . . . . 12 | |||
A.2. Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 | A.2. Keys . . . . . . . . . . . . . . . . . . . . . . . . . . 12 | |||
A.3. BGPsec IPv4 . . . . . . . . . . . . . . . . . . . . . . . 17 | A.3. BGPsec IPv4 . . . . . . . . . . . . . . . . . . . . . . . 16 | |||
A.4. BGPsec IPv6 . . . . . . . . . . . . . . . . . . . . . . . 20 | A.4. BGPsec IPv6 . . . . . . . . . . . . . . . . . . . . . . . 18 | |||
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . . 23 | Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 23 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
1. Introduction | 1. Introduction | |||
This document specifies the following: | This document specifies the following: | |||
o the digital signature algorithm and parameters, | o the digital signature algorithm and parameters, | |||
o the hash algorithm and parameters, | o the hash algorithm and parameters, | |||
o the algorithm identifier assignment and classification, | o the algorithm identifier assignment and classification, | |||
skipping to change at page 3, line 36 ¶ | skipping to change at page 3, line 36 ¶ | |||
This document updates [RFC7935] to add support for a) a different | This document updates [RFC7935] to add support for a) a different | |||
algorithm for BGPsec certificate requests, which are issued only by | algorithm for BGPsec certificate requests, which are issued only by | |||
BGPsec speakers; b) a different Subject Public Key Info format for | BGPsec speakers; b) a different Subject Public Key Info format for | |||
BGPsec certificates, which is needed for the specified BGPsec | BGPsec certificates, which is needed for the specified BGPsec | |||
signature algorithm; and c) different signature formats for BGPsec | signature algorithm; and c) different signature formats for BGPsec | |||
signatures, which are needed for the specified BGPsec signature | signatures, which are needed for the specified BGPsec signature | |||
algorithm. The BGPsec certificates are differentiated from other | algorithm. The BGPsec certificates are differentiated from other | |||
RPKI certificates by the use of the BGPsec Extended Key Usage as | RPKI certificates by the use of the BGPsec Extended Key Usage as | |||
defined in [RFC8209]. BGPsec uses a different algorithm [RFC6090] | defined in [RFC8209]. BGPsec uses a different algorithm [RFC6090] | |||
[DSS] as compared to the rest of the RPKI that provides similar | [DSS] from the rest of the RPKI to provide similar security with | |||
security with smaller keys making the certificates smaller; these | smaller keys, making the certificates smaller; these algorithms also | |||
algorithms also result in smaller signatures, which makes the PDUs | result in smaller signatures, which make the PDUs smaller. | |||
smaller. | ||||
Appendix A (non-normative) contains example BGPsec UPDATE messages as | Appendix A (non-normative) contains example BGPsec UPDATE messages as | |||
well as the private keys used to generate the messages and the | well as the private keys used to generate the messages and the | |||
certificates necessary to validate the signatures. | certificates necessary to validate the signatures. | |||
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", "NOT RECOMMENDED", "MAY", and | "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and | |||
"OPTIONAL" in this document are to be interpreted as described in | "OPTIONAL" in this document are to be interpreted as described in | |||
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all | |||
capitals, as shown here. | capitals, as shown here. | |||
1.2. Changes from RFC 8208 | 1.2. Changes from RFC 8208 | |||
This section describes the significant changes between [RFC8208] and | This section describes the significant changes between [RFC8208] and | |||
this document. | this document. | |||
o Added Section 2.1 of algorithm ID types. Also, the interpretation | o Added Section 2.1 containing Algorithm ID types. Also, the | |||
of these IDs is described. | interpretation of these IDs is described. | |||
o Restructured Sections 2 and 3 to align with the corresponding | o Restructured Sections 2 and 3 to align with the corresponding | |||
algorithm suite identifier value. | algorithm suite identifier value. | |||
o Correction of range for unassigned algorithm suite identifier | o Corrected the range for unassigned algorithm suite identifier | |||
values. | values. | |||
o Adding of Documentation algorithm suite identifier values. | o Added Documentation algorithm suite identifier values. | |||
o Adding of Experimentation algorithm suite identifier values. | o Added Experimentation algorithm suite identifier values. | |||
o Changed Next-HOP IP in Appendix A's IPv6 Example to use private | o Changed the next-hop IP in Appendix A's IPv6 example to use a | |||
usage IPv6 address. | private usage IPv6 address. | |||
2. Algorithms | 2. Algorithms | |||
The algorithms used to compute signatures on CA certificates, BGPsec | The algorithms used to compute signatures on CA certificates, BGPsec | |||
Router Certificates, and Certificate Revocation Lists (CRLs) are as | Router Certificates, and Certificate Revocation Lists (CRLs) are as | |||
specified in Section 2 of [RFC7935]. This section addresses BGPsec | specified in Section 2 of [RFC7935]. This section addresses | |||
algorithms used by BGPsec [RFC8205] [DSS]. For example, these | algorithms used by BGPsec [RFC8205] [DSS]. For example, these | |||
algorithms are used by BGPsec routers to sign and verify BGPsec | algorithms are used by BGPsec routers to sign and verify BGPsec | |||
UPDATE messages. To identify which algorithm is used, the BGPsec | UPDATE messages. To identify which algorithm is used, the BGPsec | |||
UPDATE message contains the corresponding algorithm ID in each | UPDATE message contains the corresponding algorithm ID in each | |||
Signature_Block of the BGPsec UPDATE message. | Signature_Block of the BGPsec UPDATE message. | |||
2.1. Algorithm ID Types | 2.1. Algorithm ID Types | |||
Algorithms in BGPsec UPDATE messages are identified by the Algorithm | Algorithms in BGPsec UPDATE messages are identified by the Algorithm | |||
Suite Identifier field (Algorithm ID) within the Signature_Block (see | Suite Identifier field (algorithm ID) within the Signature_Block (see | |||
Section 3.2 of [RFC8205]). | Section 3.2 of [RFC8205]). | |||
This document specifies five types of algorithm IDs: | This document specifies five types of Algorithm IDs: | |||
o Reserved Algorithm ID | o Reserved Algorithm ID | |||
Reserved algorithm IDs are the values 0x00 (0) and 0xFF (255). | Reserved algorithm IDs are the values 0x00 (0) and 0xFF (255). | |||
These IDs MUST NOT be used in a Signature_Block and if | These IDs MUST NOT be used in a Signature_Block, and if | |||
encountered, the router MUST treat BGPsec UPDATE messages as | encountered, the router MUST treat BGPsec UPDATE messages as | |||
Malformed [RFC4271]. | malformed [RFC4271]. | |||
o Signature Algorithm ID | o Signature Algorithm ID | |||
Signature algorithms are defined in Section 2.2 of this document. | Signature algorithms are defined in Section 2.2 of this document. | |||
Processing of BGPsec UPDATE signing and validation using signature | Processing of BGPsec UPDATE signing and validation using signature | |||
algorithms is described in length in Section 4.2 and Section 5.2 | algorithms is described at length in Sections 4.2 and 5.2 of | |||
of [RFC8205]. | [RFC8205]. | |||
o Unassigned Algorithm ID | o Unassigned Algorithm ID | |||
This type of algorithm ID is free for future assignments and MUST | This type of Algorithm ID is free for future assignments and MUST | |||
NOT be used until an algorithm is officially assigned (see | NOT be used until an algorithm is officially assigned (see | |||
Section 7). In case a router encounters an unassigned algorithm | Section 7). In case a router encounters an unassigned algorithm | |||
ID in one of the Signature_Blocks of a BGPsec UPDATE message, the | ID in one of the Signature_Blocks of a BGPsec UPDATE message, the | |||
router SHOULD process the Signature_Block as | router SHOULD process the Signature_Block as an unsupported | |||
"unsupported algorithm" as specified in Section 5.2 of [RFC8205]. | algorithm as specified in Section 5.2 of [RFC8205]. | |||
o Experimentation Algorithm ID | o Experimentation Algorithm ID | |||
Experimentation algorithm IDs span from 0xF7 (247) to 0xFA (250). | Experimentation algorithm IDs span from 0xF7 (247) to 0xFA (250). | |||
To allow experimentation to accurately describe deployment | To allow experimentation to accurately describe deployment | |||
examples, the use of publicly assigned algorithm IDs is | examples, the use of publicly assigned algorithm IDs is | |||
inappropriate, and a reserved block of Experimentation algorithm | inappropriate, and a reserved block of Experimentation algorithm | |||
IDs is required. This ensures that experimentation does not clash | IDs is required. This ensures that experimentation does not clash | |||
with assigned algorithm IDs in deployed networks, and mitigates | with assigned algorithm IDs in deployed networks and mitigates the | |||
the risks to operational integrity of the network through | risks to operational integrity of the network through | |||
inappropriate use of experimentation to perform literal | inappropriate use of experimentation to perform literal | |||
configuration of routing elements on production systems. A router | configuration of routing elements on production systems. A router | |||
that encounters an algorithm ID of this type outside of an | that encounters an algorithm ID of this type outside of an | |||
experimental network, SHOULD treat it the same as | experimental network SHOULD treat it the same as an unsupported | |||
"unsupported algorithm" as specified in Section 5.2 of [RFC8205]. | algorithm as specified in Section 5.2 of [RFC8205]. | |||
o Documentation Algorithm ID | o Documentation Algorithm ID | |||
Documentation algorithm IDs span from 0xFB (251) to 0xFE (254). | Documentation algorithm IDs span from 0xFB (251) to 0xFE (254). | |||
To allow documentation to accurately describe deployment examples, | To allow documentation to accurately describe deployment examples, | |||
the use of publicly assigned algorithm IDs is inappropriate, and a | the use of publicly assigned algorithm IDs is inappropriate, and a | |||
reserved block of Documentation algorithm IDs is required. This | reserved block of Documentation algorithm IDs is required. This | |||
ensures that documentation does not clash with assigned algorithm | ensures that documentation does not clash with assigned algorithm | |||
IDs in deployed networks, and mitigates the risks to operational | IDs in deployed networks and mitigates the risks to operational | |||
integrity of the network through inappropriate use of | integrity of the network through inappropriate use of | |||
documentation to perform literal configuration of routing elements | documentation to perform literal configuration of routing elements | |||
on production systems. A router that encounters an algorithm ID | on production systems. A router that encounters an algorithm ID | |||
of this type SHOULD treat it the same as "unsupported algorithm" | of this type SHOULD treat it the same as an unsupported algorithm | |||
as specified in Section 5.2 of [RFC8205]. | as specified in Section 5.2 of [RFC8205]. | |||
2.2. Signature Algorithms | 2.2. Signature Algorithms | |||
2.2.1. Algorithm ID 0x01 (1) - (ECDSA-P256) | 2.2.1. Algorithm ID 0x01 (1) - (ECDSA P-256) | |||
o The signature algorithm used MUST be the Elliptic Curve Digital | o The signature algorithm used MUST be the Elliptic Curve Digital | |||
Signature Algorithm (ECDSA) with curve P-256 [RFC6090] [DSS]. | Signature Algorithm (ECDSA) with curve P-256 [RFC6090] [DSS]. | |||
o The hash algorithm used MUST be SHA-256 [SHS]. | o The hash algorithm used MUST be SHA-256 [SHS]. | |||
Hash algorithms are not identified by themselves in certificates or | Hash algorithms are not identified by themselves in certificates or | |||
BGPsec UPDATE messages. They are represented by an OID that combines | BGPsec UPDATE messages. They are represented by an OID that combines | |||
the hash algorithm with the digital signature algorithm as follows: | the hash algorithm with the digital signature algorithm as follows: | |||
skipping to change at page 6, line 35 ¶ | skipping to change at page 6, line 35 ¶ | |||
identifier value 0x01 (1) (see Section 7) is included in the | identifier value 0x01 (1) (see Section 7) is included in the | |||
Signature_Block List's Algorithm Suite Identifier field. | Signature_Block List's Algorithm Suite Identifier field. | |||
3. Asymmetric Key Pair Formats | 3. Asymmetric Key Pair Formats | |||
The key formats used to compute signatures on CA certificates, BGPsec | The key formats used to compute signatures on CA certificates, BGPsec | |||
Router Certificates, and CRLs are as specified in Section 3 of | Router Certificates, and CRLs are as specified in Section 3 of | |||
[RFC7935]. This section addresses key formats found in the BGPsec | [RFC7935]. This section addresses key formats found in the BGPsec | |||
Router Certificate requests and in BGPsec Router Certificates. | Router Certificate requests and in BGPsec Router Certificates. | |||
3.1. Asymmetric Key Pair for Algorithm ID 0x01 (1) - (ECDSA-P256) | 3.1. Asymmetric Key Pair for Algorithm ID 0x01 (1) - (ECDSA P-256) | |||
The ECDSA private keys used to compute signatures for certificate | The ECDSA private keys used to compute signatures for certificate | |||
requests and BGPsec UPDATE messages MUST be associated with the P-256 | requests and BGPsec UPDATE messages MUST be associated with the P-256 | |||
curve domain parameters [RFC5480]. The public key pair MUST use the | elliptic curve domain parameters [RFC5480]. The public key pair MUST | |||
uncompressed form. | use the uncompressed form. | |||
3.1.1. Public Key Format | 3.1.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: | |||
o algorithm (an AlgorithmIdentifier type): The id-ecPublicKey OID | o algorithm (an AlgorithmIdentifier type): The id-ecPublicKey OID | |||
MUST be used in the algorithm field, as specified in Section 2.1.1 | MUST be used in the algorithm field, as specified in Section 2.1.1 | |||
of [RFC5480]. The value for the associated parameters MUST be | of [RFC5480]. The value for the associated parameters MUST be | |||
skipping to change at page 8, line 8 ¶ | skipping to change at page 7, line 44 ¶ | |||
[RFC7935], and [RFC8209] apply to certificates. The security | [RFC7935], and [RFC8209] apply to certificates. The security | |||
considerations of [RFC3279], [RFC6090], [RFC7935], and [RFC8209] | considerations of [RFC3279], [RFC6090], [RFC7935], and [RFC8209] | |||
apply to certification requests. The security considerations of | apply to certification requests. The security considerations of | |||
[RFC3279], [RFC6090], and [RFC8205] apply to BGPsec UPDATE messages. | [RFC3279], [RFC6090], and [RFC8205] apply to BGPsec UPDATE messages. | |||
No new security considerations are introduced as a result of this | No new security considerations are introduced as a result of this | |||
specification. | specification. | |||
7. IANA Considerations | 7. IANA Considerations | |||
The Internet Assigned Numbers Authority (IANA) has created the | The Internet Assigned Numbers Authority (IANA) has created the | |||
"BGPsec Algorithm Suite Registry" in the Resource Public Key | "BGPsec Algorithm Suites" registry in the Resource Public Key | |||
Infrastructure (RPKI) group. The one-octet "BGPsec Algorithm Suite | Infrastructure (RPKI) group. The one-octet algorithm suite | |||
Registry" identifiers assigned by IANA identify the digest algorithm | identifiers assigned by IANA identify the digest algorithm and | |||
and signature algorithm used in the BGPsec Signature_Block List's | signature algorithm used in the BGPsec Signature_Block List's | |||
Algorithm Suite Identifier field. | Algorithm Suite Identifier field. | |||
[RFC8208] directed IANA to register a single algorithm suite | Per [RFC8208], IANA registered a single algorithm suite identifier | |||
identifier for the digest algorithm SHA-256 [SHS] and for the | for the digest algorithm SHA-256 [SHS] and for the signature | |||
signature algorithm ECDSA on the P-256 curve [RFC6090] [DSS]. This | algorithm ECDSA on the P-256 curve [RFC6090] [DSS]. This identifier | |||
identifier is still valid, and IANA has updated registration to refer | is still valid, and IANA has updated the registration to refer to | |||
to this document. | this document. | |||
IANA is asked to modify the previously registered "Unassigned" | ||||
address space. | ||||
Algorithm Digest Signature Specification | ||||
Suite Algorithm Algorithm Pointer | ||||
Identifier | ||||
+------------+---------------+--------------+-----------------------+ | ||||
| 0x2-0xEF | Unassigned | Unassigned | | | ||||
+------------+---------------+--------------+-----------------------+ | ||||
To be modified to: | IANA has modified the range of the "Unassigned" address space from | |||
"0x2-0xEF" to "0x02-0xF6": | ||||
Algorithm Digest Signature Specification | Algorithm Digest Signature Specification | |||
Suite Algorithm Algorithm Pointer | Suite Algorithm Algorithm Pointer | |||
Identifier | Identifier | |||
+------------+---------------+--------------+-----------------------+ | +------------+---------------+--------------+-----------------------+ | |||
| 0x02-0xF6 | Unassigned | Unassigned | | | | 0x02-0xF6 | Unassigned | Unassigned | | | |||
+------------+---------------+--------------+-----------------------+ | +------------+---------------+--------------+-----------------------+ | |||
In addition IANA is asked to register the following address space for | In addition, IANA has registered the following address spaces for | |||
"Documentation" and "Experimentation": | "Experimentation" and "Documentation": | |||
Algorithm Digest Signature Specification | Algorithm Digest Signature Specification | |||
Suite Algorithm Algorithm Pointer | Suite Algorithm Algorithm Pointer | |||
Identifier | Identifier | |||
+------------+-----------------+-----------------+------------------+ | +------------+-----------------+-----------------+------------------+ | |||
| 0xF7-0xFA | Experimentation | Experimentation | This Document | | | 0xF7-0xFA | Experimentation | Experimentation | This document | | |||
+------------+-----------------+-----------------+------------------+ | +------------+-----------------+-----------------+------------------+ | |||
| 0xFB-0xFE | Documentation | Documentation | This Document | | | 0xFB-0xFE | Documentation | Documentation | This document | | |||
+------------+-----------------+-----------------+------------------+ | +------------+-----------------+-----------------+------------------+ | |||
After the requested modification, the "BGPsec Algorithm Suite | ||||
Registry" in the RPKI group should contain the following values: | ||||
BGPsec Algorithm Suite Registry | The "BGPsec Algorithm Suites" registry in the RPKI group now contains | |||
the following values: | ||||
Algorithm Digest Signature Specification | Algorithm Digest Signature Specification | |||
Suite Algorithm Algorithm Pointer | Suite Algorithm Algorithm Pointer | |||
Identifier | Identifier | |||
+------------+-----------------+-----------------+------------------+ | +------------+-----------------+-----------------+------------------+ | |||
| 0x00 | Reserved | Reserved | This document | | | 0x00 | Reserved | Reserved | This document | | |||
+------------+-----------------+-----------------+------------------+ | +------------+-----------------+-----------------+------------------+ | |||
| 0x01 | SHA-256 | ECDSA P-256 | [SHS] [DSS] | | | 0x01 | SHA-256 | ECDSA P-256 | [SHS] [DSS] | | |||
| | | | [RFC6090] | | | | | | [RFC6090] | | |||
| | | | This document | | | | | | This document | | |||
+------------+-----------------+-----------------+------------------+ | +------------+-----------------+-----------------+------------------+ | |||
| 0x02-0xF6 | Unassigned | Unassigned | | | | 0x02-0xF6 | Unassigned | Unassigned | | | |||
+------------+-----------------+-----------------+------------------+ | +------------+-----------------+-----------------+------------------+ | |||
| 0xF7-0xFA | Experimentation | Experimentation | This Document | | | 0xF7-0xFA | Experimentation | Experimentation | This document | | |||
+------------+-----------------+-----------------+------------------+ | +------------+-----------------+-----------------+------------------+ | |||
| 0xFB-0xFE | Documentation | Documentation | This Document | | | 0xFB-0xFE | Documentation | Documentation | This document | | |||
+------------+-----------------+-----------------+------------------+ | +------------+-----------------+-----------------+------------------+ | |||
| 0xFF | Reserved | Reserved | This document | | | 0xFF | Reserved | Reserved | This document | | |||
+------------+-----------------+-----------------+------------------+ | +------------+-----------------+-----------------+------------------+ | |||
Future assignments are to be made using the Standards Action process | Future assignments are to be made using the Standards Action process | |||
defined in [RFC8126]. Assignments consist of the one-octet algorithm | defined in [RFC8126]. Assignments consist of the one-octet algorithm | |||
suite identifier value and the associated digest algorithm name and | suite identifier value and the associated digest algorithm name and | |||
signature algorithm name. | signature algorithm name. | |||
8. References | 8. References | |||
8.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 | |||
skipping to change at page 10, line 10 ¶ | skipping to change at page 9, line 14 ¶ | |||
Future assignments are to be made using the Standards Action process | Future assignments are to be made using the Standards Action process | |||
defined in [RFC8126]. Assignments consist of the one-octet algorithm | defined in [RFC8126]. Assignments consist of the one-octet algorithm | |||
suite identifier value and the associated digest algorithm name and | suite identifier value and the associated digest algorithm name and | |||
signature algorithm name. | signature algorithm name. | |||
8. References | 8. References | |||
8.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, DOI | Requirement Levels", BCP 14, RFC 2119, | |||
10.17487/RFC2119, March 1997, <https://www.rfc- | DOI 10.17487/RFC2119, March 1997, | |||
editor.org/info/rfc2119>. | <https://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, DOI | Request Syntax Specification Version 1.7", RFC 2986, | |||
10.17487/RFC2986, November 2000, <https://www.rfc- | DOI 10.17487/RFC2986, November 2000, | |||
editor.org/info/rfc2986>. | <https://www.rfc-editor.org/info/rfc2986>. | |||
[RFC3279] Bassham, L., Polk, W., and R. Housley, "Algorithms and | [RFC3279] Bassham, L., Polk, W., and R. Housley, "Algorithms and | |||
Identifiers for the Internet X.509 Public Key | Identifiers for the Internet X.509 Public Key | |||
Infrastructure Certificate and Certificate Revocation List | Infrastructure Certificate and Certificate Revocation List | |||
(CRL) Profile", RFC 3279, DOI 10.17487/RFC3279, April | (CRL) Profile", RFC 3279, DOI 10.17487/RFC3279, April | |||
2002, <https://www.rfc-editor.org/info/rfc3279>. | 2002, <https://www.rfc-editor.org/info/rfc3279>. | |||
[RFC4211] Schaad, J., "Internet X.509 Public Key Infrastructure | [RFC4211] Schaad, J., "Internet X.509 Public Key Infrastructure | |||
Certificate Request Message Format (CRMF)", RFC 4211, DOI | Certificate Request Message Format (CRMF)", RFC 4211, | |||
10.17487/RFC4211, September 2005, <https://www.rfc- | DOI 10.17487/RFC4211, September 2005, | |||
editor.org/info/rfc4211>. | <https://www.rfc-editor.org/info/rfc4211>. | |||
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | [RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A | |||
Border Gateway Protocol 4 (BGP-4)", RFC 4271, DOI | Border Gateway Protocol 4 (BGP-4)", RFC 4271, | |||
10.17487/RFC4271, January 2006, <https://www.rfc- | DOI 10.17487/RFC4271, January 2006, | |||
editor.org/info/rfc4271>. | <https://www.rfc-editor.org/info/rfc4271>. | |||
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., | [RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., | |||
Housley, R., and W. Polk, "Internet X.509 Public Key | Housley, R., and W. Polk, "Internet X.509 Public Key | |||
Infrastructure Certificate and Certificate Revocation List | Infrastructure Certificate and Certificate Revocation List | |||
(CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, | (CRL) Profile", RFC 5280, DOI 10.17487/RFC5280, May 2008, | |||
<https://www.rfc-editor.org/info/rfc5280>. | <https://www.rfc-editor.org/info/rfc5280>. | |||
[RFC5480] Turner, S., Brown, D., Yiu, K., Housley, R., and T. Polk, | [RFC5480] Turner, S., Brown, D., Yiu, K., Housley, R., and T. Polk, | |||
"Elliptic Curve Cryptography Subject Public Key | "Elliptic Curve Cryptography Subject Public Key | |||
Information", RFC 5480, DOI 10.17487/RFC5480, March 2009, | Information", RFC 5480, DOI 10.17487/RFC5480, March 2009, | |||
<https://www.rfc-editor.org/info/rfc5480>. | <https://www.rfc-editor.org/info/rfc5480>. | |||
[RFC6090] McGrew, D., Igoe, K., and M. Salter, "Fundamental Elliptic | [RFC6090] McGrew, D., Igoe, K., and M. Salter, "Fundamental Elliptic | |||
Curve Cryptography Algorithms", RFC 6090, DOI | Curve Cryptography Algorithms", RFC 6090, | |||
10.17487/RFC6090, February 2011, <https://www.rfc- | DOI 10.17487/RFC6090, February 2011, | |||
editor.org/info/rfc6090>. | <https://www.rfc-editor.org/info/rfc6090>. | |||
[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, <https://www.rfc-editor.org/info/rfc6916>. | 2013, <https://www.rfc-editor.org/info/rfc6916>. | |||
[RFC7935] Huston, G. and G. Michaelson, Ed., "The Profile for | [RFC7935] Huston, G. and G. Michaelson, Ed., "The Profile for | |||
Algorithms and Key Sizes for Use in the Resource Public | Algorithms and Key Sizes for Use in the Resource Public | |||
Key Infrastructure", RFC 7935, DOI 10.17487/RFC7935, | Key Infrastructure", RFC 7935, DOI 10.17487/RFC7935, | |||
August 2016, <https://www.rfc-editor.org/info/rfc7935>. | August 2016, <https://www.rfc-editor.org/info/rfc7935>. | |||
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
RFC 8126, DOI 10.17487/RFC8126, June 2017, | RFC 8126, DOI 10.17487/RFC8126, June 2017, | |||
<https://www.rfc-editor.org/info/rfc8126>. | <https://www.rfc-editor.org/info/rfc8126>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
RFC 2119 Key Words", BCP 14, RFC 8174, DOI | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
10.17487/RFC8174, May 2017, <https://www.rfc- | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
editor.org/info/rfc8174>. | ||||
[RFC8205] Lepinski, M., Ed., and K. Sriram, Ed., "BGPsec Protocol | [RFC8205] Lepinski, M., Ed. and K. Sriram, Ed., "BGPsec Protocol | |||
Specification", RFC 8205, DOI 10.17487/RFC8205, September | Specification", RFC 8205, DOI 10.17487/RFC8205, September | |||
2017, <https://www.rfc-editor.org/info/rfc8205>. | 2017, <https://www.rfc-editor.org/info/rfc8205>. | |||
[RFC8208] Turner, S. and O. Borchert, "BGPsec Algorithms, Key | [RFC8208] Turner, S. and O. Borchert, "BGPsec Algorithms, Key | |||
Formats, and Signature Formats", RFC 8208, DOI | Formats, and Signature Formats", RFC 8208, | |||
10.17487/RFC8208, September 2017, <https://www.rfc- | DOI 10.17487/RFC8208, September 2017, | |||
editor.org/info/rfc8208>. | <https://www.rfc-editor.org/info/rfc8208>. | |||
[RFC8209] Reynolds, M., Turner, S., and S. Kent, "A Profile for | [RFC8209] Reynolds, M., Turner, S., and S. Kent, "A Profile for | |||
BGPsec Router Certificates, Certificate Revocation Lists, | BGPsec Router Certificates, Certificate Revocation Lists, | |||
and Certification Requests", RFC 8209, DOI | and Certification Requests", RFC 8209, | |||
10.17487/RFC8209, September 2017, <https://www.rfc- | DOI 10.17487/RFC8209, September 2017, | |||
editor.org/info/rfc8209>. | <https://www.rfc-editor.org/info/rfc8209>. | |||
[DSS] National Institute of Standards and Technology, "Digital | [DSS] National Institute of Standards and Technology, "Digital | |||
Signature Standard (DSS)", NIST FIPS Publication 186-4, | Signature Standard (DSS)", NIST FIPS Publication 186-4, | |||
DOI 10.6028/NIST.FIPS.186-4, July 2013, | DOI 10.6028/NIST.FIPS.186-4, July 2013, | |||
<http://nvlpubs.nist.gov/nistpubs/FIPS/ | <https://nvlpubs.nist.gov/nistpubs/FIPS/ | |||
NIST.FIPS.186-4.pdf>. | NIST.FIPS.186-4.pdf>. | |||
[SHS] National Institute of Standards and Technology, "Secure | [SHS] National Institute of Standards and Technology, "Secure | |||
Hash Standard (SHS)", NIST FIPS Publication 180-4, | Hash Standard (SHS)", NIST FIPS Publication 180-4, | |||
DOI 10.6028/NIST.FIPS.180-4, August 2015, | DOI 10.6028/NIST.FIPS.180-4, August 2015, | |||
<http://nvlpubs.nist.gov/nistpubs/FIPS/ | <https://nvlpubs.nist.gov/nistpubs/FIPS/ | |||
NIST.FIPS.180-4.pdf>. | NIST.FIPS.180-4.pdf>. | |||
8.2. Informative References | 8.2. Informative References | |||
[RFC5398] Huston, G., "Autonomous System (AS) Number Reservation for | [RFC5398] Huston, G., "Autonomous System (AS) Number Reservation for | |||
Documentation Use", RFC 5398, DOI 10.17487/RFC5398, | Documentation Use", RFC 5398, DOI 10.17487/RFC5398, | |||
December 2008, <https://www.rfc-editor.org/info/rfc5398>. | December 2008, <https://www.rfc-editor.org/info/rfc5398>. | |||
[RFC6979] Pornin, T., "Deterministic Usage of the Digital Signature | [RFC6979] Pornin, T., "Deterministic Usage of the Digital Signature | |||
Algorithm (DSA) and Elliptic Curve Digital Signature | Algorithm (DSA) and Elliptic Curve Digital Signature | |||
skipping to change at page 13, line 15 ¶ | skipping to change at page 12, line 15 ¶ | |||
Appendix A. Examples | Appendix A. Examples | |||
A.1. Topology and Experiment Description | A.1. Topology and Experiment Description | |||
Topology: | Topology: | |||
AS(64496)----AS(65536)----AS(65537) | AS(64496)----AS(65536)----AS(65537) | |||
Prefix Announcement: AS(64496), 192.0.2.0/24, 2001:db8::/32 | Prefix Announcement: AS(64496), 192.0.2.0/24, 2001:db8::/32 | |||
The signature algorithm used in this example is ECDSA P-256 using the | The signature algorithm used in this example is ECDSA P-256, using | |||
algorithm suite identifier ID 0x01 (1) as specified in Section 7 of | the algorithm suite identifier ID 0x01 (1) as specified in Section 7 | |||
this document. | of this document. | |||
A.2. Keys | A.2. Keys | |||
For this example, the ECDSA algorithm was provided with a static k to | For this example, the ECDSA algorithm was provided with a static k to | |||
make the result deterministic. | make the result deterministic. | |||
The k used for all signature operations was taken from [RFC6979], | The k used for all signature operations was taken from [RFC6979], | |||
Appendix A.2.5, "Signatures With SHA-256, message = 'sample'". | Appendix A.2.5, "Signatures With SHA-256, message = 'sample'". | |||
Note: Even though the certificates below are expired, the are still | Note: Even though the certificates below are expired, they are still | |||
useful within the constraint of this document. | useful within the constraint of this document. | |||
k = A6E3C57DD01ABE90086538398355DD4C | k = A6E3C57DD01ABE90086538398355DD4C | |||
3B17AA873382B0F24D6129493D8AAD60 | 3B17AA873382B0F24D6129493D8AAD60 | |||
Keys of AS64496: | Keys of AS64496: | |||
================ | ================ | |||
ski: AB4D910F55CAE71A215EF3CAFE3ACC45B5EEC154 | ski: AB4D910F55CAE71A215EF3CAFE3ACC45B5EEC154 | |||
private key: | private key: | |||
skipping to change at page 23, line 13 ¶ | skipping to change at page 21, line 13 ¶ | |||
55058E8053F4ACD3 | 55058E8053F4ACD3 | |||
Acknowledgements | Acknowledgements | |||
The authors wish to thank Geoff Huston and George Michaelson for | The authors wish to thank Geoff Huston and George Michaelson for | |||
producing [RFC7935], which this document is entirely based on. The | producing [RFC7935], which this document is entirely based on. The | |||
authors would also like to thank Roque Gagliano, David Mandelberg, | authors would also like to thank Roque Gagliano, David Mandelberg, | |||
Tom Petch, Sam Weiler, and Stephen Kent for their reviews and | Tom Petch, Sam Weiler, and Stephen Kent for their reviews and | |||
comments. Mehmet Adalier, Kotikalapudi Sriram, and Doug Montgomery | comments. Mehmet Adalier, Kotikalapudi Sriram, and Doug Montgomery | |||
were instrumental in developing the test vectors found in Appendix A. | were instrumental in developing the test vectors found in Appendix A. | |||
Additionally we want to thank Geoff Huston, author of [RFC5398] from | Additionally, we want to thank Geoff Huston, author of [RFC5398] from | |||
where we borrowed wording for Section 2.1 of this document. | which we borrowed wording for Section 2.1 of this document. | |||
Authors' Addresses | Authors' Addresses | |||
Sean Turner | Sean Turner | |||
sn3rd | sn3rd | |||
Email: sean@sn3rd.com | Email: sean@sn3rd.com | |||
Oliver Borchert | Oliver Borchert | |||
NIST | NIST | |||
End of changes. 56 change blocks. | ||||
147 lines changed or deleted | 132 lines changed or added | |||
This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |