Network Working Group | R.G.M. Gagliano |
Internet-Draft | K.P. Patel |
Intended status: Standards Track | B.W. Weis |
Expires: April 02, 2013 | Cisco Systems |
October 2012 |
BGPSEC router key rollover as an alternative to beaconing
draft-ietf-sidr-bgpsec-rollover-01
BGPSEC will need to address the impact from regular and emergency rollover processes for the BGPSEC End-Entity (EE) certificates that will be performed by Certificate Authorities (CAs) participating at the Resource Public Key Infrastructure (RPKI). This document provides general recommendations for that process and specifies how this process is used to control BGPSEC's window of exposure to replay attacks.
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 material or to cite them other than as "work in progress."
This Internet-Draft will expire on April 02, 2013.
Copyright (c) 2012 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.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
In BGPSEC, a key rollover (or re-keying) is the process of changing a router's key pair (or pairs), issuing the corresponding new End-Entity certificate and (if the old certificate is still valid) revoking the old certificate. This process will need to happen at regular intervals, normally due to local policies at each network. This document provides general recommendations for that process that Certificate Practice Statements (CPS) documents MAY reference.
When a router receives (or creates depending of the key provisioning mechanism to be selected) a new key pair, this key pair will be used to sign new BGP UPDATE messages that are originated or that transit through the BGP speaker. Additionally, the BGP speaker MUST refresh its outbound BGP UPDATE messages to update its respective BGPSEC attribute by including the correspondent signature performed with the new key. When the rollover process finishes, the old BGPSEC certificate (and its key) will not longer be valid and thus any BGP UPDATE that includes a BGPSEC attribute with a signature performed by the old key will be invalid. Consequently, if the router do not refresh its outbound BGP UPDATE messages, routing information may be lost after the rollover process is finished.
As a key rollover process invalidates BGP UPDATE messages signed with the old key, frequent key rollover processes could be used to control BGPSEC's window of exposure to replay attacks as required by [I-D.ietf-sidr-bgpsec-reqs]. This document explores the operational environment to achieve this goal.
In [I-D.ietf-sidr-rtr-keying], the "operator-driven" method is introduced and it enables that a key pair could be shared among different BGP Speakers. In this scenario, the roll-over of the correspondent BGPSEC certificate will impact all the BGP Speakers sharing the same private key.
A BGPSEC EE certificate (as any X.509 certificate) will required a rollover process due to causes such as:
In most of these cases (probably excepting when the key has been compromised), it is possible to generate a new certificate without changing the key pair. This practice simplifies the rollover process as the correspondent BGP speakers do not even need to be aware of the changes to its correspondent certificate. However, not replacing the certificate key for a long period of time increases the risk that the certificate key may be compromised.
The BGPSEC key rollover process should be dependent of the key provisioning mechanisms that would be in place. The key provisioning mechanisms for BGPSEC are not yet fully documented (see [I-D.ietf-sidr-rtr-keying] as a work in progress document). We will assume that an automatic provisioning mechanism will be in place. (A possible provisioning mechanism is the Enrollment over Secure Transport (EST) [I-D.ietf-pkix-est]). That protocol will allow BGPSEC code to include automatic re-keying scripts with minimum development cost.
If we work under the assumption that an automatic mechanism will exist to rollover a BGPSEC certificate, a possible process could be:
The proposed rollover mechanism will depend on the existence of an automatic provisioning process for BGPSEC certificates. It will require a staging mechanism based on the RPKI propagation time of around 24hours, and it will generate BGP UPDATES for all prefixes in the router been re-keyed.
The first two steps (New Certificate Pre-Publication and Staging Period) could happen ahead of time from the rest of the process as each network operators could prepare itself to accelerate a future key roll-over.
When a new BGPSEC certificate is generated without changing its key, steps 3 (Twilight) and 5 (RPKI-Router Protocol Withdrawals) SHOULD not be executed.
There are two typical generic measures to mitigate replay attacks in any protocol: the addition of a timestamp or the addition of a serial number. Currently BGPSEC offers a timestamp (expiration time) as a protection against re-play attacks of BGPSEC attributes. The process requires all BGP Speakers that originate a BGP UPDATE to re-advertise ("beacon") the message before it expires. This requirement changes a long standing BGP operational practice and the community has been searching for alternatives.
In [I-D.ietf-sidr-bgpsec-reqs] Section 4.3, the need to limit the vulnerability to replay attacks is described. One important comment is that during a windows of exposure, a replay attack is effective only if there was a downstream topology change that makes the signed AS path not longer current. In other words, if there have been no topology changes, no security threat comes from a replay of a BGP UPDATE message (the signed information is still valid)
The BGPSEC Ops document [I-D.ietf-sidr-bgpsec-ops] gives some ideas of requirements for the size of the BGPSEC windows of exposure to replay attacks. At that document, it is stated that for the vast majority of the prefixes, the requirement will be in the order of days or weeks. For a very small but critical fraction of the prefixes, the requirement may be in the order of hours.
The question we would like to ask is: can the key rollover process earlier described provide a similar protection against replay attacks without the need for beaconing?
The answer is that YES when the window requirement is in the order of days and the BGP speaker re-keying is the edge router of the origin AS and the full process is completed (i.e. the OLD and NEW certificate do not share the same key). By using re-keying, you are letting the BGPSEC certificate validation time as your timestamp against replay attacks. However, the use of frequent key rollovers comes with an additional administrative cost and risks if the process fails. As documented before, re-keying should be supported by automatic tools and for the great majority of the Internet it will be done with good lead time to correct any risk.
For a transit AS that also originates BGP UPDATES for its own prefixes, the key rollover process may generate a large number of UPDATE messages (even the complete Default Free Zone or DFZ). For this reason, it is recommended that routers in this scenario been provisioned with two certificates: one to sign BGP UPDATES in transit and a second one to sign BGP UPDATE for prefixes originated in its AS. Only the second certificate (for prefixes originated in its AS) should be rolled-over frequently as a means of limiting replay attach windows. The transit BGPSEC certificate is expected to be longer living than the origin BGPSEC certificate.
Advantage of Re-keying as replay attack protection mechanism:
Disadvantage of Re-keying as replay attack protection mechanism:
No IANA considerations
No security considerations.
We would like to acknowledge Randy Bush, Sriram Kotikalapudi, Stephen Kent and Sandy Murphy.
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. |
[RFC6489] | Huston, G., Michaelson, G. and S. Kent, "Certification Authority (CA) Key Rollover in the Resource Public Key Infrastructure (RPKI)", BCP 174, RFC 6489, February 2012. |
[I-D.ietf-pkix-cmc-serverkeygeneration] | Schaad, J, Timmel, P and S Turner, "CMC Extensions: Server Key Generation", Internet-Draft draft-ietf-pkix-cmc-serverkeygeneration-00, January 2012. |
[I-D.ietf-pkix-est] | Pritikin, M, Yee, P and D Harkins, "Enrollment over Secure Transport", Internet-Draft draft-ietf-pkix-est-02, July 2012. |
[I-D.ietf-sidr-bgpsec-reqs] | Bellovin, S, Bush, R and D Ward, "Security Requirements for BGP Path Validation", Internet-Draft draft-ietf-sidr-bgpsec-reqs-03, March 2012. |
[I-D.ietf-sidr-bgpsec-ops] | Bush, R, "BGPsec Operational Considerations", Internet-Draft draft-ietf-sidr-bgpsec-ops-05, May 2012. |
[I-D.ietf-sidr-rtr-keying] | Turner, S, Patel, K and R Bush, "Router Keying for BGPsec", Internet-Draft draft-ietf-sidr-rtr-keying-00, May 2012. |