Network Working Group Russ White Internet Draft (editor) Expiration Date: November 2003 Cisco Systems File Name: draft-white-sobgp-bgp-deployment-01.txt June 2003 Deployment Considerations for Secure Origin BGP (soBGP) draft-white-sobgp-bgp-deployment-01.txt Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet Drafts are working documents of the Internet Engineering Task Force (IETF), its Areas, and its Working Groups. Note that other groups may also distribute working documents as Internet Drafts. Internet Drafts are draft documents valid for a maximum of six months. Internet Drafts may be updated, replaced, or obsoleted by other documents at any time. It is not appropriate to use Internet Drafts as reference material or to cite them other than as a "working draft" or "work in progress". The list of current Internet-Drafts can be accessed at http//www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http//www.ietf.org/shadow.html. 1. Contributors A large number of people contributed to this draft; we've tried to include all of them here (but might have missed a few): James Ng, Tim Gage, Alvaro Retana, Dave Cook, Brian Weiss, and Iljitsch van Beijnum. White, et. all [Page 1] INTERNET DRAFT soBGP Deployment Considerations June 2003 2. Abstract There is a great deal of concern over the security of routing systems within the Internet, particularly in relation to the Border Gateway Protocol [BGP], which is used to provide routing information between autonomous systems. This draft addresses various deployment scenarios and options using the extensions to BGP outlined in [SOBGP-BGP] in conjunction with [SOBGP-CERTIFICATE] (which is not yet completed or published) and [SOBGP-RADIUS]. Each section of this draft discusses a different deployment situation or deployment option. The final section discusses how private key rollovers can be accomplished with no loss of routing information within soBGP deployments. 3. Overview of the Deployment Scenarios Each section below discusses a possible deployment option for soBGP; each could be seen as a separate deployment option, or they could be seen as a set of incremental steps from a very simple soBGP deployment in a small network to a large soBGP deployment across an internetwork. 4. Deploying soBGP within Single Devices Along Autonomous System Edges In it's simplest form, soBGP can be deployed entirely within BGP speakers at the edge of an Autonomous System (AS). +-(eBGP)-+ +-(eBGP)-+ | | | | v v v V A--------B-----C-----D--------E ^ ^ | | +--(iBGP)---+ In this network, A is sending all the certificates it has learned from other sources to B using the SECURITY message type. It is passing these certificates to D via iBGP, and D is passing these certificates to E via eBGP. White, et. all [Page 2] INTERNET DRAFT soBGP Deployment Considerations June 2003 5. Deploying soBGP with Certificate Distribution Within the BGP Protocol and Reflection within an AS A slightly more complex deployment would continue to distribute the certificates through the BGP protocol, using the SECURITY message type outlined in [SOBGP-BGP], but would offload the work of validating the information to a locally reachable server running RADIUS. +--(iBGP)--+ +-(eBGP)-+| |+-(eBGP)-+ | || || | v vv vv V A--------B-----C-----D--------E \ / ^ \ / ^ | \ / | | +-F-+ | | (Server) | | ^ ^ | | | | | (iBGP)-+ +-(iBGP) In this network, A is sending soBGP certificates towards B, along with routing updates and other information. While B is peering through iBGP with D, it is not sending soBGP certificates through this iBGP session; it does not negotiate sending the SECURITY message type to D. B is peering through iBGP to F, a server, but only negotiates carrying the SECURITY message type along this session, so that F only receives soBGP certificates, and no routing updates. F reflects these soBGP certificates to D, which then transmits them to E. It is also possible to bypass the edge routers in distributing the soBGP certificates within the SECURITY message type. +--(iBGP)--+ +-(eBGP)-+| |+-(eBGP)-+ | || || | v vv vv V A--------B-----C-----D--------E \ / ^ \ / ^ | \ / | | +-F-+ | | (Server) | White, et. all [Page 3] INTERNET DRAFT soBGP Deployment Considerations June 2003 | ^ ^ | | | | | +-----(eBGP)-+ +-(eBGP)-----+ Here, A and B are peering using eBGP, but are only exchanging route information, and not the SECURITY message type. A and F are peering over a multihop eBGP session, and exchanging only the SECURITY message type. B and D no longer have any security information at all; they request information on the validity of any received route from F using the method described in [SOBGP-RADIUS]. Since F is relying only on the interior routing within the local AS to reach the edge of the AS (to reach the link between A and B), the eBGP multihop session is not relying on routes learned from BGP itself to secure BGP. The eBGP session which F is learning from could also be multihop to another soBGP server in an adjacent AS, rather than to an edge router. +-(iBGP)-+ +--(iBGP)--+ | |+-(eBGP)-+| |+-(eBGP)-+ | || || || | v vv vv vv V G---------A--------B-----C-----D--------E | \ / | \ / ^ H \ / | (Server) +-F-+ | ^ (Server) | | ^ ^ | | | | | +---------------(eBGP)-+ +-(eBGP)-----+ Now, H, A, B, C, D, and E are all exchanging NLRI information only, while F and G are exchanging only SECURITY messages. In this case, B must be manually configured to trust the route to G learned from A, and A must be manually configured to trust the route to F learned from B (or they must use static routing, or some sort of temporary acceptance of the learned routes until the SECURITY messages are all exchanged), to prevent the circularity problem mentioned above. This is more complex than the previous deployment options discussed above. White, et. all [Page 4] INTERNET DRAFT soBGP Deployment Considerations June 2003 6. Multihoming Deployment Multihoming presents a special challenge to the deployment of soBGP within a large scale internetwork. (---------) (---------) ( AS65401 ) ( AS65402 ) ( ) ( ) ( ) ( ) (---A---) (---B---) | | \ / \-----+ +-----/ | | (--C------D--) ( ) ( No AS ) (----------) Assume No AS has obtained a block of addresses, 10.1.1.0/24, from AS65401, and would like to advertise that same block of addresses through AS65402. Since NOAS has no AS number, it cannot generate any soBGP certificates, and must rely on its upstream providers to work out the security impact in some way. The simplest solution would be, of course, for NOAS to obtain an AS number, and fully participate in soBGP, but barring that, what other solutions are there? AS65401 could issue a certificate allowing AS65402 to originate just the prefix in question, 10.1.1.0/24, or AS65401 could simply list AS65402 in the certificate covering 10.1.1.0/24 as an authorized originator for this address space (as multiple authorized originators are allowed). Proxy Advertisement of Certificates Note there is no requirement for a given entity which originates routes into the routing system to actually originate the corresponding certificates required for the correct origination of the route to be validated, and the AS Path attached to the route to be verified. (-----------------) ( Other Third Party ) (---------------) / \ / \ (---------) (---------) ( AS65401 ) ( AS65402 ) White, et. all [Page 5] INTERNET DRAFT soBGP Deployment Considerations June 2003 ( ) ( ) ( ) ( ) (---A---) (---B---) | | \ / \-----+ +-----/ | | (--C------D--) ( ) ( AS65403 ) (----------) In this case, AS65401, AS65402, or some other third part may actually advertise the certificates necessary for AS65403 to originate validated routes. 7. Certificate Generation and Private Key Protection There is only one private/public key pair per entity; certificates are generated as determined by local policy and as required to account for changes in the network. Since the entity's private key is not used in any part of the operations verifying received information, or in generating information to transmit to other devices, these certificates could be generated on some secure central system in the AS, and the results, containing only public keys, can be transmitted throughout the network. Securing the private key of each entity should be relatively easy in this environment, since the location of the private key can be carefully constrained; no device other than the system which generates the required certificates needs use of the private key. 8. Impact on Performance and Memory Utilization Very little to no research has been done on the actual performance and memory utilization characterisitics of soBGP as outlined in this and other documents. However, as this is an important area of consideration, we present some suggested analysis below. (In other words, this is a guess). In terms of memory, each device running sobGP will need to store: o Each of the Entitycerts Received. The maximum number of Entitycerts within the routing system would be the number participating autonomous systems multiplied by the number of outstanding Entitycerts from each autonomous system. White, et. all [Page 6] INTERNET DRAFT soBGP Deployment Considerations June 2003 This will probably be, at most, three Entitycerts per AS, with a current maximum of 65,000 autonomous systems. o Each of the ASPolicycerts (and Their Fragments) Received. The number of ASPolicycerts within the system will probably be similar to the number of Entitycerts within the system, possibly twice as many, given there is only one Policycert valid for any given AS at any time. o Each of the PrefixPolicycerts Received. The number of Pre- fixPolicyCerts within the system will depend on the number of address blocks each participant in the routing system advertises, and will double during key rollover. This could grow to some large number, possibly eight or ten times the number of autonomous systems participating in the routing system. Performance will depend on the amount of cryptographic work required and the amount of validation which is done on each route checked. If all the steps taken in validating the various certificates are taken during network convergence, it would slow down convergence, possibly significantly. However, it is possible to deploy soBGP in various other modes, such as: o Receive and prebuild all information needed to validate incoming routes before any routes are received, so that no cryptographic operations need to take place when receiving routes. o Receive and accept all routes, then receive and build the vali- dation information required to check that the information received was accurate. o Allow some secondary device to perform all cryptographic func- tions, building the validation information needed as convergence is taking place. Check the validity of prefixes after conver- gence has occured. Assuming that some combination of optimizations are used, such as precalculating the authorization data, and performing all validation checks after network convergence has occured. Because there are no cryptographic functions which need to be performed while transmitting routes, we anticipate that there will be very little impact on net- work performance through the adoption of these drafts. White, et. all [Page 7] INTERNET DRAFT soBGP Deployment Considerations June 2003 9. References [BGP]Rekhter, Y., and T. Li, "A Border Gateway Protocol 4 (BGP-4)", RFC 1771, March 1995. [SOBGP-BGP] Ng J (editor), "Extensions to BGP to Support Secure Origin BGP (soBGP)", Draft-ng-sobgp-deployment-01.doc, November 2002 10. Editor's Address Russ White Cisco Systems 7025 Kit Creek Road Research Triangle Park, NC 27709 riw@cisco.com White, et. all [Page 8]