Secure Inter-Domain Routing Working Group M. Reynolds
Internet-Draft IPSw
Updates: [ID.sidr-res-cert-profile] S. Turner
Intended Status: Standards Track IECA
Expires: June 7, 2012 S. Kent
BBN
December 5, 2011
A Profile for BGPSEC Router Certificates,
Certificate Revocation Lists, and Certification Requests
draft-ietf-sidr-bgpsec-pki-profiles-01
Abstract
This document defines a standard profile for X.509 certificates for
the purposes of supporting validation of Autonomous System (AS) paths
in the Border Gateway Protocol (BGP), as part of an extension to that
protocol known as BGPSEC. BGP is a critical component for the proper
operation of the Internet as a whole. The BGPSEC protocol is under
development as a component to address the requirement to provide
security for the BGP protocol. The goal of BGPSEC is to design a
protocol for full AS path validation based on the use of strong
cryptographic primitives. The end-entity (EE) certificates specified
by this profile are issued under Resource Public Key Infrastructure
(RPKI) Certification Authority (CA) certificates, containing the AS
Identifier Delegation extension, to routers within the Autonomous
System (AS). The certificate asserts that the router(s) holding the
private key are authorized to send out secure route advertisements on
behalf of the specified AS. This document also profiles the
Certificate Revocation List (CRL), profiles the format of
certification requests, and specifies Relying Party certificate path
validation procedures. The document extends the RPKI; therefore,
this documents updates the RPKI Resource Certificates Profile (draft-
ietf-sidr-res-cert-profile).
Status of this Memo
This Internet-Draft is submitted in full conformance with the
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
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
Reynolds & Turner Expires June 7, 2012 [Page 1]
Internet-Draft BGPSEC Router PKI Profiles December 5, 2011
material or to cite them other than as "work in progress."
This Internet-Draft will expire on June 7, 2012.
Copyright Notice
Copyright (c) 2011 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) 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.
1. Introduction
This document defines a profile for X.509 end-entity (EE)
certificates [RFC5280] for use in the context of certification of
Autonomous System (AS) paths in the Border Gateway Protocol Security
(BGPSEC) protocol. Such certificates are termed "BGPSEC Router
Certificates". The holder of the private key associated with a
BGPSEC Router Certificate is authorized to send secure route
advertisements (BGPSEC UPDATEs) on behalf of the AS named in the
certificate. That is, a router holding the private key may send to
its BGP peers, route advertisements that contain the specified AS
number as the last item in the AS PATH attribute. A key property
that BGPSEC will provide is that every AS along the AS PATH can
verify that the other ASes along the path have authorized the
advertisement of the given route (to the next AS along the AS PATH).
This document is a profile of [ID.sidr-res-cert-profile], which is a
profile of [RFC5280], and it updates [ID.sidr-res-cert-profile]. It
establishes requirements imposed on a Resource Certificate that is
used as a BGPSEC Router Certificate, i.e., it defines constraints for
certificate fields and extensions for the certificate to be valid in
this context. This document also profiles the Certificate Revocation
List (CRL) and certification requests. Finally, this document
specifies the Relying Party (RP) certificate path validation
procedures.
1.1. Terminology
It is assumed that the reader is familiar with the terms and concepts
Reynolds & Turner Expires June 7, 2012 [Page 2]
Internet-Draft BGPSEC Router PKI Profiles December 5, 2011
described in "A Profile for X.509 PKIX Resource Certificates"
[ID.sidr-res-cert-profile], "BGPSEC Protocol Specification" [ID.sidr-
bgpsec-protocol], "A Border Gateway Protocol 4 (BGP-4)" [RFC4271],
"BGP Security Vulnerabilities Analysis" [RFC4272], "Considerations in
Validating the Path in BGP" [RFC5123], and "Capability Advertisement
with BGP-4" [RFC5492].
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
[RFC2119].
2. Describing Resources in Certificates
Figure 1 depicts some of the entities in the RPKI and some of the
products generated by RPKI entities. IANA issues a Certification
Authority (CA) to a Regional Internet Registries (RIR). The RIR, in
turn, issues a CA certificate to an Internet Service Providers (ISP).
The ISP in turn issues End-Entity (EE) Certificates to itself as
well as CRLs. These certificates are referred to as "Resource
Certificates", and are profiled in [ID.sidr-res-cert-profile]. The
[ID.sidr-arch] envisioned using Resource Certificates to generate
Manifests [ID.sidr-rpki-manifests] and Route Origin Authorizations
(ROAs) [ID.sidr-rpki-roa-format]. ROAs and Manifests also include
the Resource Certificates used to sign them.
+---------+ +------+
| CA Cert |---| IANA |
+---------+ +------+
\
+---------+ +-----+
| CA Cert |---| RIR |
+---------+ +-----+
\
+---------+ +-----+
| CA Cert |---| ISP |
+---------+ +-----+
/ | | |
+-----+ / | | | +-----+
| CRL |--+ | | +---| ROA |
+-----+ | | +-----+
| | +----------+
+----+ | +---| Manifest |
+-| EE |---+ +----------+
| +----+
+-----+
Figure 1
Reynolds & Turner Expires June 7, 2012 [Page 3]
Internet-Draft BGPSEC Router PKI Profiles December 5, 2011
This document defines another type of Resource Certificate, which is
referred to as a "BGPSEC Router Certificate". The purpose of this
certificate is explained in Section 1 and falls within the scope of
appropriate uses defined within [ID.sidr-cp]. The issuance of BGPSEC
Router Certificates has minimal impact on RPKI CAs because the RPKI
CA certificate and CRL profile remain unchanged (i.e., they are as
specified in [ID.sidr-res-cert-profile]). Further, the algorithms
used to generate RPKI CA certificates that issue the BGPSEC Router
Certificates and the CRLs necessary to check the validity of the
BGPSEC Router Certificates remain unchanged (i.e., they are as
specified in [ID.sidr-rpki-algs]). The only impact is that the RPKI
CAs will need to be able to process a profiled certificate request
(see Section 5) signed with algorithms found in [ID.turner-sidr-
bgpsec-algs]. The use of BGPSEC Router Certificates in no way
affects RPKI RPs that process Manifests and ROAs because the public
key found in the BGPSEC Router Certificate is only ever used to
verify the signature on the BGPSEC certificate request (only CAs
process these), another BGPSEC Router Certificate (only BGPSEC
routers process these), and the signature on a BGPSEC Update Message
[ID.sidr-bgpsec-protocol] (only BGPSEC routers process these).
Only the differences between this profile and the profile in
[ID.sidr-res-cert-profile] are listed. Note that BGPSEC Router
Certificates are EE certificates and as such there is no impact on
process described in [ID.sidr-algorithm-agility].
3. Updates to [ID.sidr-res-cert-profile]
3.1 BGPSEC Router Certificate Fields
A BGPSEC Router Certificate is a valid X.509 public key certificate,
consistent with the PKIX profile [RFC5280], containing the fields
listed in this section. This profile is also based on [ID.sidr-res-
cert-profile] and only the differences between this profile and the
profile in [ID.sidr-res-cert-profile] are listed.
3.1.1.1 Subject
This field identifies the router to which the certificate has been
issued. Consistent with [ID.sidr-res-cert-profile], only two
attributes are allowed in the Subject field: common name and serial
number. Moreover, the only common name encoding options that are
supported are printableString and UTF8String. For BGPSEC Router
Certificates, it is RECOMMENDED that the common name attribute
contain the literal string "ROUTER-" followed by the 32-bit AS Number
[RFC3779] encoded as eight hexadecimal digits and that the serial
number attribute contain the 32-bit BGP Identifier [RFC4271] (i.e.,
the router ID) encoded as eight hexadecimal digits. If the same
Reynolds & Turner Expires June 7, 2012 [Page 4]
Internet-Draft BGPSEC Router PKI Profiles December 5, 2011
certificate is issued to more than one router (hence the private key
is shared among these routers), the choice of the router ID used in
this name is at the discretion of the Issuer. Note that router IDs
are not guaranteed to be unique across the Internet, and thus the
Subject name in a BGPSEC Router Certificate issued using this
convention also is not guaranteed to be unique across different
issuers. However, each certificate issued by an individual CA MUST
contain a Subject name that is unique within that context.
3.1.2. Subject Public Key Info
Refer to section 3.1 of [ID.sidr-bgpsec-algs].
3.1.3. BGPSEC Router Certificate Version 3 Extension Fields
The following X.509 V3 extensions MUST be present (or MUST be absent,
if so stated) in a conforming BGPSEC Router Certificate, except where
explicitly noted otherwise. No other extensions are allowed in a
conforming BGPSEC Router Certificate.
3.1.3.1. Extended Key Usage
BGPSEC Router Certificates MUST include the Extended Key Usage (EKU)
extension. As specified, in [ID.sidr-res-cert-profile] this
extension MUST be marked as non-critical. This document defines one
EKU for BGPSEC Router Certificates:
id-kp OBJECT IDENTIFIER ::=
{ iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) kp(3) }
id-kp-bgpsec-router OBJECT IDENTIFIER ::= { id-kp TBD }
Relying Parties MUST require the extended key usage extension to be
present in a BGPSEC Router Certificate. If multiple KeyPurposeId
values are included, the relying parties need not recognize all of
them, as long as the required KeyPurposeId value is present. BGPSEC
RPs MUST reject certificates that do not contain the BGPSEC Router
EKU even if they include the anyExtendedKeyUsage OID defined in
[RFC5280].
3.1.3.2. Subject Information Access
This extension is not used in BGPSEC Router Certificates. It MUST be
omitted.
3.1.3.3. IP Resources
Reynolds & Turner Expires June 7, 2012 [Page 5]
Internet-Draft BGPSEC Router PKI Profiles December 5, 2011
This extension is not used in BGPSEC Router Certificates. It MUSt be
omitted.
3.1.3.4. AS Resources
Each BGPSEC Router Certificate MUST include the AS Resource
Identifier Delegation extension, as specified in section 4.8.11 of
[ID.sidr-res-cert-profile]. The AS Resource Identifier Delegation
extension MUST include exactly one AS number, and the "inherit"
element MUST NOT be specified.
3.2. BGPSEC Router Certificate Request Profile
Refer to section 6 of [ID.sidr-res-cert-profile]. The only
differences between this profile and the profile in [ID.sidr-res-
cert-profile] are:
o The ExtendedKeyUsage extension request MUST be included and the CA
MUST honor the request;
o The SubjectPublicKeyInfo and PublicKey fields are specified in
[ID.sidr-bgpsec-algs]; and,
o The request is signed with the algorithms specified in [ID.sidr-
bgpsec-algs].
3.3. BGPSEC Router Certificate Validation
The validation procedure used for BGPSEC Router Certificates is
identical to the validation procedure described in Section 7 of
[ID.sidr-res-cert-profile] except that where "this specification"
refers to [ID.sidr-res-cert-profile] in that profile in this profile
"this specification" is this document.
The differences are as follows:
o BGPSEC Router Certificates MUST include the BGPSEC EKU defined in
Section 3.9.5.
o BGPSEC Router Certificates MUST NOT include the SIA extension.
o BGPSEC Router Certificates MUST NOT include the IP Resource
extension.
o BGPSEC Router Certificates MUST include the AS Resource Identifier
Delegation extension.
o BGPSEC Router Certificate MUST include the "Subject Public Key
Reynolds & Turner Expires June 7, 2012 [Page 6]
Internet-Draft BGPSEC Router PKI Profiles December 5, 2011
Info" described in [ID.sidr-bgpsec-algs] as it updates [ID.sidr-
rpki-algs].
NOTE: The cryptographic algorithms used by BGPSEC routers are
found in [ID.sidr-bgpsec-algs]. Currently, the algorithms
specified in [ID.sidr-bgpsec-algs] and [ID.sidr-rpki-algs] are
different. BGPSEC RPs will need to support algorithms that are
needed to validate BGPSEC signatures as well as the algorithms
that are needed to validate signatures on BGPSEC certificates,
RPKI CA certificates, and RPKI CRLs.
4. Design Notes
The BGPSEC Router Certificate profile is based on the Resource
Certificate profile as specified in [ID.sidr-res-cert-profile]. As a
result, many of the design choices herein are a reflection of the
design choices that were taken in that prior work. The reader is
referred to [ID.sidr-res-cert-profile] for a fuller discussion of
those choices.
5. Security Considerations
The Security Considerations of [ID.sidr-res-cert-profile] apply.
A bgpsec certificate will fail RPKI validation, as defined in
[ID.sidr-res-cert-profile], because the algorithm suite is different.
Consequently, a RP needs to identify the EKU before applying the
correspondent validation.
A BGPSEC Router Certificate is an extension of the RPKI [ID.sidr-
arch] to encompass routers. It is a building block of the larger
BGPSEC security protocol used to validate signatures on BGPSEC
Signature-Segment origination of Signed-Path segments [ID.sidr-
bgpsec-protocol]. Thus its essential security function is the secure
binding of an AS number to a public key, consistent with the RPKI
allocation/assignment hierarchy.
6. IANA Considerations
None.
7. Acknowledgements
We would like to thanks Geoff Huston, George Michaelson, and Robert
Loomans for their work on [ID.sidr-res-cert-profile], which this work
is based on. In addition, the efforts of Steve Kent and Matt
Lepinski were instrumental in preparing this work. Additionally,
we'd like to thank Roque Gagliano, Sandra Murphy, and Geoff Huston
Reynolds & Turner Expires June 7, 2012 [Page 7]
Internet-Draft BGPSEC Router PKI Profiles December 5, 2011
for their reviews and comments.
8. References
8.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP
Addresses and AS Identifiers", RFC 3779, June 2004.
[RFC4271] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border
Gateway Protocol 4 (BGP-4)", RFC 4271, January 2006.
[RFC5280] 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", RFC 5280, May 2008.
[ID.sidr-res-cert-profile] Huston, G., Michaelson, G., and R.
Loomans, "A Profile for X.509 PKIX Resource Certificates",
draft-ietf-sidr-res-certs, work-in-progress.
[ID.sidr-rpki-algs] Huston, G., "The Profile for Algorithms and Key
Sizes for use in the Resource Public Key Infrastructure",
draft-ietf-sidr-rpki-algs, work-in-progress.
[ID.sidr-bgpsec-algs] Reynolds, M. and S. Turner, "BGP Algorithms,
Key Formats, & Signature Formats", draft-ietf-sidr-bgpsec-
algs, work-in-progress.
8.2. Informative References
[RFC4272] Murphy, S., "BGP Security Vulnerabilities Analysis",
RFC 4272, January 2006.
[RFC5123] White, R. and B. Akyol, "Considerations in Validating the
Path in BGP", RFC 5123, February 2008.
[RFC5492] Scudder, J. and R. Chandra, "Capabilities Advertisement
with BGP-4", RFC 5492, February 2009.
[ID.sidr-cp] Kent, S., Kong, D., Seo, K., and R., Watro,
"Certificate Policy (CP) for the Resource PKI (RPKI)",
draft-ietf-sidr-cp, work-in-progress.
[ID.sidr-arch] Lepinski, M. and S. Kent, "An Infrastructure to
Reynolds & Turner Expires June 7, 2012 [Page 8]
Internet-Draft BGPSEC Router PKI Profiles December 5, 2011
Support Secure Internet Routing", draft-ietf-sidr-arch,
work-in-progress.
[ID.sidr-rpki-roa-format] Lepinski, M., Kent, S., and D. Kong, "A
Profile for Route Origin Authorizations (ROAs)", draft-
ietf-sidr-roa-format, work-in-progress
[ID.sidr-rpki-manifests] Austein, R., Huston, G., Kent, S., and M.
Lepinski, "Manifests for the Resource Public Key
Infrastructure", draft-ietf-sidr-rpki-manifests, work-in-
progress.
[ID.sidr-algorithm-agility] Gagliano, R., Kent, S., and S. Turner,
"Algorithm Agility Procedure for RPKI", draft-ietf-sidr-
algorithm-agility, work-in-progress.
[ID.sidr-bgpsec-protocol] Lepinksi, M., "BGPSEC Protocol
Specification", draft-ietf-sidr-bgpsec-protocol, work-in-
progress.
Appendix A. ASN.1 Module
BGPSECEKU { iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0) TBD }
DEFINITIONS EXPLICIT TAGS ::=
BEGIN
-- EXPORTS ALL --
-- IMPORTS NOTHING --
-- OID Arc --
id-kp OBJECT IDENTIFIER ::= {
iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) kp(3) }
-- BGPSEC Router Extended Key Usage --
id-kp-bgpsec-router OBJECT IDENTIFIER ::= { id-kp TBD }
END
Appendix B. Example BGPSEC Router Certificate
Reynolds & Turner Expires June 7, 2012 [Page 9]
Internet-Draft BGPSEC Router PKI Profiles December 5, 2011
Appendix C. Example BGPSEC Router Certificate Request
Appendix D. Change Log
Please delete this section prior to publication.
D.1 Changes from turner-bgpsec-pki-profiles-02 to sidr-bgpsec-pki-
profiles-00
Added an ASN.1 Module and corrected the id-kp OID in s3.1.3.1.
D.2 Changes from turner-bgpsec-pki-profiles-02 to sidr-bgpsec-pki-
profiles-00
Added this change log.
Amplified that a BGPSEC RP will need to support both the algorithms
in [ID.sidr-bgpsec-algs] for BGPSEC and the algorithms in [ID.sidr-
rpki-algs] for certificates and CRLs.
Changed the name of AS Resource extension to AS Resource Identifier
Delegation to match what's in RFC 3779.
D.3 Changes from turner-bgpsec-pki-profiles -01 to -02
Added text in Section 2 to indicate that there's no impact on the
procedures defined in [ID.sidr-algorithm-agility].
Added a security consideration to let implementers know the BGPSEC
certificates will not pass RPKI validation [ID.sidr-res-cert-profile]
and that keying off the EKU will help tremendously.
D.4 Changes from turner-bgpsec-pki-profiles -00 to -01
Corrected Section 2 to indicate that CA certificates are also RPKI
certificates.
Removed sections and text that was already in [ID.sidr-res-cert-
profile]. This will make it easier for reviewers to figure out what
is different.
Modified Section 6 to use 2119-language.
Removed requirement from Section 6 to check that the AS # in the
certificate is the last number in the AS path information of each BGP
UPDATE message. Moved to [ID.sidr-bgpsec-protocol].
Reynolds & Turner Expires June 7, 2012 [Page 10]
Internet-Draft BGPSEC Router PKI Profiles December 5, 2011
Authors' Addresses
Mark Reynolds
Island Peak Software
328 Virginia Road
Concord, MA 01742
Email: mcr@islandpeaksoftware.com
Sean Turner
IECA, Inc.
3057 Nutley Street, Suite 106
Fairfax, VA 22031
USA
EMail: turners@ieca.com
Steve Kent
Raytheon BBN Technologies
10 Moulton St.
Cambridge, MA 02138
Email: kent@bbn.com
Reynolds & Turner Expires June 7, 2012 [Page 11]