draft-ietf-sidr-keyroll-05.txt   draft-ietf-sidr-keyroll-06.txt 
SIDR G. Huston SIDR G. Huston
Internet-Draft G. Michaelson Internet-Draft G. Michaelson
Intended status: BCP APNIC Intended status: BCP APNIC
Expires: June 6, 2011 S. Kent Expires: August 25, 2011 S. Kent
BBN BBN
December 3, 2010 February 21, 2011
CA Key Rollover in the RPKI CA Key Rollover in the RPKI
draft-ietf-sidr-keyroll-05.txt draft-ietf-sidr-keyroll-06.txt
Abstract Abstract
This document describes an algorithm to allow an entity who This document describes how a Certification Authority (CA) in the
undertakes the role of a Certification Authority in the Resource Resource Public Key Infrastructure (RPKI) performs a planned rollover
Public Key Infrastructure to perform a rollover of its key pair. of its key pair. This document also notes the implications of this
This document also notes the requirements placed on Relying Parties key rollover procedure for Relying Parties (RPs). In general, RPs are
who maintain a local cache of the objects that have been published in expected to maintain a local cache of the objects that have been
the distributed Resource Public Key Infrastructure repository published in the RPKI repository, and thus the way in which a CA
publication structure. performs key rollover impacts RPs.
Status of this Memo Status of this Memo
This Internet-Draft is submitted in full conformance with the This Internet-Draft is submitted in full conformance with the
provisions of BCP 78 and BCP 79. provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on June 6, 2011. This Internet-Draft will expire on June 6, 2011.
Copyright Notice Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the Copyright (c) 2011 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
skipping to change at page 3, line 45 skipping to change at page 3, line 45
certificates and Certificate Revocation Lists (CRLs). A CA instance certificates and Certificate Revocation Lists (CRLs). A CA instance
is associated with a single key pair ([ID.ietf-sidr-res-certs]), is associated with a single key pair ([ID.ietf-sidr-res-certs]),
implying that if key rollover is a regularly scheduled event then, implying that if key rollover is a regularly scheduled event then,
over time, there will be many instances of a CA. The implication in over time, there will be many instances of a CA. The implication in
the context of key rollover is that, strictly speaking, a CA does not the context of key rollover is that, strictly speaking, a CA does not
perform a key rollover per se. In order to perform the equivalent of perform a key rollover per se. In order to perform the equivalent of
a key rollover, the CA creates a "new" instance of itself, with a new a key rollover, the CA creates a "new" instance of itself, with a new
key pair, and then effectively substitutes this "new" CA instance key pair, and then effectively substitutes this "new" CA instance
into the RPKI hierarchy in place of the old CA instance. into the RPKI hierarchy in place of the old CA instance.
Note that focus of this procedure is planned key rollover, not an
"emergency" key rollover, e.g., promoted by a suspected or detected
private key compromise. However, the procedure described here is
applicable in emergency key rollover situations, with the exception
of the Staging Period duration.
There are several considerations regarding this procedure that MUST There are several considerations regarding this procedure that MUST
be followed by a CA performing a key rollover operation. The be followed by a CA performing a key rollover operation. The
critical consideration is that the RPKI has potential application in critical consideration is that the RPKI has potential application in
the area of control of routing integrity [ID.ietf-sidr-arch], and key the area of control of routing integrity [ID.ietf-sidr-arch], and key
rollover should not cause any transient hiatus where a Relying Party rollover should not cause any transient hiatus in which a Relying
(RP) is led to incorrect conclusions regarding the authenticity of Party (RP) is led to incorrect conclusions regarding the authenticity
attestations made in the context of the RPKI. A CA cannot assume of attestations made in the context of the RPKI. A CA cannot assume
that all RPs will perform path validation and path discovery in the that all RPs will perform path validation and path discovery in the
same fashion, and therefore the key rollover procedure MUST preserve same fashion, and therefore the key rollover procedure MUST preserve
the integrity of the CRL Distribution Points (CRLDP), Subject the integrity of the CRL Distribution Points (CRLDP), Subject
Information Access (SIA) and Authority Information Access (AIA) Information Access (SIA) and Authority Information Access (AIA)
pointers in RPKI certificates. pointers in RPKI certificates.
In the procedure described here, the CA creates a "new" CA instance, In the procedure described here, the CA creates a "new" CA instance,
and has the associated new public key published in the form of a and has the associated new public key published in the form of a
"new" CA certificate. While the "current" and "new" CA instances "new" CA certificate. While the "current" and "new" CA instances
share a single repository publication point, each CA has its own CRL share a single repository publication point, each CA has its own CRL
and its own manifest. Initially, the "new" CA publishes an empty CRL and its own manifest. Initially, the "new" CA publishes an empty CRL
and a manifest that contains a single entry for the CRL. The and a manifest that contains a single entry for the CRL. The
"current" CA also maintains its published CRL and manifest at this "current" CA also maintains its published CRL and manifest at this
Repository publication point. Repository publication point.
The CA performing key rollover waits for a period of time to afford The CA performing key rollover waits for a period of time to afford
every RP an opportunity to discover and retrieve this "new" CA every RP an opportunity to discover and retrieve this "new" CA
certificate, and store it in its local RPKI Repository cache certificate, and store it in its local RPKI Repository cache
instance. This period of time is termed the "staging period". instance. This period of time is termed the "staging period". During
During this period, the CA will have a "new" CA instance, with no this period, the CA will have a "new" CA instance, with no
subordinate products, and a "current" CA instance that has issued all subordinate products, and a "current" CA instance that has issued all
subordinate products. At the expiration of the staging period the subordinate products. At the expiration of the staging period the
"new" CA instance MUST replace all (valid) subordinate products of "new" CA instance MUST replace all (valid) subordinate products of
the "current" CA instance, overwriting the "current" subordinate the "current" CA instance, overwriting the "current" subordinate
products in the CA's repository publication point. When this process products in the CA's repository publication point. When this process
is complete the "current" CA instance is retired, and the "new" CA is complete the "current" CA instance is retired, and the "new" CA
instance becomes the "current" CA. instance becomes the "current" CA.
During the transition of the "current" and "new" CA instances it is During the transition of the "current" and "new" CA instances it is
necessary for the "new" CA instance to re-issue all subordinate necessary for the "new" CA instance to re-issue all subordinate
skipping to change at page 5, line 30 skipping to change at page 5, line 36
steps in the order given here. Unless specified otherwise each step steps in the order given here. Unless specified otherwise each step
SHOULD be performed without any intervening delay. The process MUST SHOULD be performed without any intervening delay. The process MUST
be run through to completion. be run through to completion.
1. Generate a new key pair for use by the NEW CA. Because the 1. Generate a new key pair for use by the NEW CA. Because the
goal of this algorithm is key rollover, the key pair generated goal of this algorithm is key rollover, the key pair generated
in this step MUST be different from the pair in use by the in this step MUST be different from the pair in use by the
CURRENT CA. CURRENT CA.
2. Generate a certificate request with this key pair and pass the 2. Generate a certificate request with this key pair and pass the
request to the CA that issued the CURRENT CA certificate. request to the CA that issued the CURRENT CA certificate. This
This request MUST include the same SIA extension that is request MUST include the same SIA extension that is present in
present in the CURRENT CA certificate. This request, when the CURRENT CA certificate. This request, when satisfied,
satisfied, will result in the publication of the NEW CA will result in the publication of the NEW CA certificate.
certificate. This (NEW) CA certificate will contain a Subject This (NEW) CA certificate will contain a Subject Name selected
Name selected by the issuer, which MUST be distinct from the by the issuer, which MUST be distinct from the Subject Name
Subject Name used in the CURRENT CA certificate. The CPS for used in the CURRENT CA certificate. The CPS for the issuer of
the issuer of the NEW CA certificate will indicate the time the NEW CA certificate will indicate the time frame within
frame within which a certificate request is expected to be which a certificate request is expected to be processed.
processed.
3. Publish the NEW CA's CRL and manifest. 3. Publish the NEW CA's CRL and manifest.
The steps involved here are: The steps involved here are:
- Wait for the issuer of the NEW CA to publish the NEW CA - Wait for the issuer of the NEW CA to publish the NEW CA
certificate. certificate.
- As quickly as possible following the publication of the - As quickly as possible following the publication of the
NEW CA certificate, use the key pair associated with the NEW CA certificate, use the key pair associated with the
skipping to change at page 6, line 24 skipping to change at page 6, line 29
- Generate a manifest containing the new CA's CRL as the - Generate a manifest containing the new CA's CRL as the
only entry, and sign it with the private key associated only entry, and sign it with the private key associated
with the manifest EE certificate. Publish the manifest with the manifest EE certificate. Publish the manifest
at the NEW CA's repository publication point. at the NEW CA's repository publication point.
- Destroy the private key associated with the manifest EE - Destroy the private key associated with the manifest EE
certificate. certificate.
4. The NEW CA enters a Staging Period. This duration of the 4. The NEW CA enters a Staging Period. This duration of the
Staging Period is determined by the CA, but it MUST be no less Staging Period is determined by the CA, but it SHOULD be no
than 24 hours. The Staging Period is intended to afford an less than 24 hours. The Staging Period is intended to afford
opportunity for all RPs to download the NEW CA certificate, an opportunity for all RPs to download the NEW CA certificate,
prior to publication of certificates, CRLs, and RPKI signed prior to publication of certificates, CRLs, and RPKI signed
objects under the NEW CA. During the Staging Period, the NEW objects under the NEW CA. During the Staging Period, the NEW
CA SHOULD re-issue, but not publish, all of the products that CA SHOULD re-issue, but not publish, all of the products that
were issued under the CURRENT CA. This includes all CA were issued under the CURRENT CA. This includes all CA
certificates, EE certificates, and RPKI signed objects. certificates, EE certificates, and RPKI signed objects.
Section 4 describes how each re-issued product relates to the Section 4 describes how each re-issued product relates to the
product that it replaces. During the Staging Period, the product that it replaces. During the Staging Period, the
CURRENT CA SHOULD continue to accept and process certificate CURRENT CA SHOULD continue to accept and process certificate
issuance requests and MUST continue to accept and process issuance requests and MUST continue to accept and process
certificate revocation requests. If any certificates are certificate revocation requests. If any certificates are
issued by the CURRENT CA during the staging period, they MUST issued by the CURRENT CA during the staging period, they MUST
be re-issued under the NEW CA during the period. Any be re-issued under the NEW CA during the period. Any
certificates that are revoked under the CURRENT CA MUST NOT be certificates that are revoked under the CURRENT CA MUST NOT be
re-issued under the NEW CA. re-issued under the NEW CA. (As noted above, in the case of an
emergency key rollover, a CA will decide whether the 24 hour
minimal staging period interval is appropriate, or if a
shorter Staging Period is needed.)
5. Upon expiration of the Staging Period, the NEW CA MUST publish 5. Upon expiration of the Staging Period, the NEW CA MUST publish
the signed products that have been re-issued under the NEW CA, the signed products that have been re-issued under the NEW CA,
replacing the corresponding products issued under the CURRENT replacing the corresponding products issued under the CURRENT
CA at the NEW CA's repository publication point. This CA at the NEW CA's repository publication point. This
replacement is implied by the file naming requirements imposed replacement is implied by the file naming requirements imposed
by [ID.ietf-sidr-repos-struct] for these signed products. The by [ID.ietf-sidr-repos-struct] for these signed products. The
trivial manifest for the NEW CA (which contained only one trivial manifest for the NEW CA (which contained only one
entry, for the NEW CA's CRL) is replaced by a manifest listing entry, for the NEW CA's CRL) is replaced by a manifest listing
all of these re-issued, signed products. At this point the all of these re-issued, signed products. At this point the
skipping to change at page 9, line 32 skipping to change at page 9, line 41
The authors would like to acknowledge the review comments of Tim The authors would like to acknowledge the review comments of Tim
Bruijnzeels and Sean Turner in preparing this document. Bruijnzeels and Sean Turner in preparing this document.
8. References 8. References
8.1. Normative References 8.1. Normative References
[ID.ietf-sidr-repos-struct] [ID.ietf-sidr-repos-struct]
Huston, G., Loomans, R., and G. Michaelson, "A Profile for Huston, G., Loomans, R., and G. Michaelson, "A Profile for
Resource Certificate Repository Structure", Internet Resource Certificate Repository Structure", Internet
Draft draft-ietf-sidr-repos-struct-04.txt, May 2010. Draft draft-ietf-sidr-repos-struct-07.txt, February, 2011.
[ID.ietf-sidr-res-certs] [ID.ietf-sidr-res-certs]
Huston, G., Michaelson, G., and R. Loomans, "A Profile for Huston, G., Michaelson, G., and R. Loomans, "A Profile for
X.509 PKIX Resource Certificates", Internet X.509 PKIX Resource Certificates", Internet
Draft draft-ietf-sidr-res-certs-18.txt, May 2010. Draft draft-ietf-sidr-res-certs-21.txt, December 2010.
[RFC3779] Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP 8.2. Informative References
Addresses and AS Identifiers", RFC 3779, June 2004.
[RFC5280] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., [RFC3779]
Housley, R., and W. Polk, "Internet X.509 Public Key Lynn, C., Kent, S., and K. Seo, "X.509 Extensions for IP
Infrastructure Certificate and Certificate Revocation List Addresses and AS Identifiers", RFC 3779, June 2004.
(CRL) Profile", RFC 5280, May 2008.
8.2. Informative References [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.ietf-sidr-arch] [ID.ietf-sidr-arch]
Lepinski, M. and S. Kent, "An Infrastructure to Support Lepinski, M. and S. Kent, "An Infrastructure to Support
Secure Internet Routing", draft-ietf-sidr-arch-11 (work in Secure Internet Routing", draft-ietf-sidr-arch-12.txt (work
progress), September 2010. in progress), February 2011.
[ID.ietf-sidr-signed-object] [ID.ietf-sidr-signed-object]
Lepinski, M., Chi, A., and S. Kent, "Signed Object Lepinski, M., Chi, A., and S. Kent, "Signed Object
Template for the Resource Public Key Infrastructure", Template for the Resource Public Key Infrastructure",
draft-ietf-sidr-signed-object-01.txt (work in progress), draft-ietf-sidr-signed-object-03.txt (work in progress),
October 2010. February 2011.
Authors' Addresses Authors' Addresses
Geoff Huston Geoff Huston
Asia Pacific Network Information Centre Asia Pacific Network Information Centre
Email: gih@apnic.net Email: gih@apnic.net
URI: http://www.apnic.net URI: http://www.apnic.net
George Michaelson George Michaelson
 End of changes. 18 change blocks. 
46 lines changed or deleted 56 lines changed or added

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