@@ -24,7 +24,7 @@ end-systems connected to the Internet and on securing communication
2424between parties as their traffic traverses the Internet. But the
2525Internet itself consists of infrastructure, such as routers, that must
2626also be defended against attacks. Two areas of particular concern are
27- the interdomain routing system and the domain name system. Both
27+ the interdomain routing system and the domain name system (DNS) . Both
2828systems routinely come under attack. There are efforts under way to
2929make them more resistant to attacks as we discuss in the following
3030sections.
@@ -41,7 +41,7 @@ multi-factor authentication, using access control lists and firewalls,
4141etc. That is only a starting point, however, because the actual
4242routing protocols themselves represent an opportunity for attack. BGP,
4343the Border Gateway Protocol, is vulnerable to a wide range of
44- attacks, and is the only protocol that is expected to cross the
44+ attacks, and is the only routing protocol that is expected to cross the
4545boundaries of a single administrative domain, so we focus our
4646attention here.
4747
@@ -53,7 +53,7 @@ web site we wanted to connect to? But there are multiple levels to
5353this problem when it comes to inter-domain routing. When you have a
5454secure, encrypted connection to your bank, you probably trust them to
5555show you accurate information about your account (mostly-banks do make
56- mistakes on occasions) and the secure connection protects if from
56+ mistakes on occasions) and the secure connection protects it from
5757modification by an attacker. A secure, encrypted connection to the
5858website of the New York Times, however, doesn't mean you should
5959believe every word published by the New York Times. Similarly, a
@@ -138,7 +138,8 @@ advertisement that just authenticating the messages from a peer.
138138When BGP was being developed in the 1980s and 1990s, TLS was still far
139139in the future, and packet encryption and decryption operations were
140140generally quite computationally expensive. So it made sense that the
141- initial focus was on authenticating messages rather than providing the
141+ initial focus was on authenticating messages, first using MD5 and then
142+ with updated algorithms, rather than providing the
142143greater protection of encryption that TLS offers.
143144
144145With this background, the idea of running BGP over TLS is an area of
@@ -157,8 +158,8 @@ Whether TLS or a more basic authentication mechanism is used, the
157158effect is only to verify that the information came from the intended
158159peer and has not been modified in transit. The much more challenging
159160part of Internet routing security is in the validation of the routing
160- information itself. When a peer announces that they have a path to a
161- certain prefix, how do we know that they really do have this path?
161+ information itself. When a peer announces a path to a
162+ certain prefix, how do we know that they really have this path?
162163
163164
164165.. _reading_BGPTLS :
@@ -177,7 +178,8 @@ certain prefix, how do we know that they really do have this path?
177178~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
178179
179180When a BGP speaker announces a path to a particular prefix, how do we
180- know that they really have such a path? The short answer is that we
181+ know that they really have such a path? And do we know that they will
182+ use the path if asked to do so? The short answer to both questions is that we
181183don't, but there has been a multi-decade quest to build mechanisms that
182184enable greater confidence in the correctness of such
183185announcements. This quest, and the slowness of its progress, was well
@@ -234,7 +236,7 @@ incorrect that could be advertised. The set of rules that need to be
234236configured on a BGP router for an ISP that carries hundreds of
235237thousands of routes can also get very large.
236238
237- Furthermore, as noted by Sharon Goldberg in her article "*Why Is It
239+ Furthermore, as noted by in the article "*Why Is It
238240Taking So Long to Secure Internet Routing? *", the incentives for
239241prefix filtering are somewhat misaligned. The cost of filtering falls
240242on the AS that is immediately upstream of the misbehaving ISP, while
@@ -248,24 +250,33 @@ particular prefix. This technology behind this is referred to as RPKI:
248250Resource Public Key Infrastructure.
249251
250252RPKI provides a means by which entities involved in routing, such as
251- the operator of an AS, can prove that they are authorized to advertise
252- routing information such as address prefixes. A Route Origin
253- Authorization (ROA), for example, contains a certificate, an AS
254- number, and a set of prefixes that the AS is authorized to
253+ the operator of an AS, can make assertions about information that is
254+ related to the advertisement of routes. These assertions take various
255+ forms depending on which part of the problem they aim to solve. We
256+ describe three different uses of the RPKI in the following sections.
257+
258+ 8.1.3 Route Origin Validation (ROV)
259+ ---------------------------------------------
260+
261+ The first use of RPKI is to allow an AS to prove that it is authorized
262+ to originate routing advertisements to specific address prefixes. A
263+ Route Origin Authorization (ROA) contains a certificate,
264+ an AS number, and a set of prefixes that the AS is authorized to
255265advertise. The ROA is cryptographically signed by an entity that is
256266itself trusted to provide this authorization, generally the AS to
257267which this address prefix has been allocated.
258268
259- Because Regional Internet Registries (RIRs) are at the top of the hierarchy
260- for address allocation, they are a logical place to place the root of
261- trust, known as a trust anchor, for the
262- RPKI. There are five RIRs globally and each has a root certificate in
263- the RPKI.
269+ Address allocation is a hierarchical process. Because Regional
270+ Internet Registries (RIRs) are at the top of the hierarchy for address
271+ allocation, they are a logical place to place the root of trust, known
272+ as a trust anchor, for the RPKI. There are five RIRs globally and each
273+ has a root certificate in the RPKI.
264274
265- Address allocation is a hierarchical process. For example, an RIR can
275+ Hierarchical address allocation operates in the following manner. An RIR can
266276allocate a chunk of address space to an ISP, and the ISP can
267- sub-allocate from that chunk to one of its customers. A hierarchy of
268- certificates can be used that follows this hierarchy of address
277+ sub-allocate from that chunk to one of its customers. There can be
278+ multiple layers in this hierarchy. A hierarchy of
279+ certificates can be created to follow this hierarchy of address
269280allocation. The RIRs form trust anchors from which chains of trust
270281can be built, much the way a modern browser comes with a set of
271282trusted root certification authorities (CAs) so that the certificates
@@ -274,12 +285,13 @@ issued by web sites, which are signed by CAs, can be checked for validity.
274285A key distinction between RPKI and the certificates that we are
275286familiar with from TLS is this: the certificates in TLS are used to
276287validate the *identity * of a web site (e.g., a certificate for cnn.com
277- tells your browser that it is actually talking to cnn.com), whereas
278- RPKI certificates are used to validate the *resources * allocated to an
279- entity such as an ISP or an end customer. The resources in particular
280- include IP address prefixes. As IP address allocation starts with the RIRs
281- and proceeds down through ISPs to end customers, resource certificates
282- are generated at each level in the hierarchy.
288+ tells your browser that it is actually talking to the entity that
289+ operates cnn.com), whereas RPKI certificates are used to validate the
290+ *resources * allocated to an entity such as an ISP or an end
291+ customer. The resources in the case of ROA certificates are IP address
292+ prefixes. As IP address allocation starts with the RIRs and proceeds down
293+ through ISPs to end customers, resource certificates are
294+ generated at each level in the hierarchy.
283295
284296.. _fig-rpki :
285297.. figure :: figures/rpki.png
@@ -355,22 +367,37 @@ detected as false information and discarded by any router receiving
355367such an advertisement, not just the neighbors of the offending ISP.
356368
357369While there are many forms of attack or misconfiguration that would
358- not be caught by ROV (such as an AS falsely claiming a shorter path that
359- doesn't actually exist, or a BGP speaker falsely claiming an AS number
360- not allocated to it) it does prevent a large number of issues,
370+ not be caught by ROV (particularly an AS falsely advertising a path that
371+ doesn't actually exist to a valid AS) it does prevent a large number of issues,
361372especially those caused by misconfiguration. To more fully combat the
362373advertisement of false information in BGP, it is necessary to adopt
363374some sort of path validation, as discussed below.
364375
365376The adoption of RPKI for route origin validation has been moving along
366- steadily for many years now. According to monitoring performed by
367- NIST, more than 55% of IPv4 prefixes advertised in the Internet (as
368- of the time of writing in 2025) have
369- a validated route origin. Just over 1% are invalid with the remainder
370- (43%) are not found, i.e., no ROA is found in the repository for those
371- prefixes.
377+ steadily for several years now. The deployment of ROV is tracked by
378+ NIST (the National Institute of Standards and Technology in the
379+ U.S.)—see the Further Reading section. At the time of writing, the
380+ NIST RPKI monitor indicates that of the one-million-plus routes
381+ advertised globally in BGP, about 56% carry valid ROA information. Less than 2%
382+ are detected as invalid (the ROV check fails) while the remaining 42%
383+ do not contain ROA information. Looking at the deployment over time
384+ we can see a steady increase in valid ROV and a corresponding decrease
385+ in the "not found" group—the advertisements with no ROA. While 56% is
386+ a long way from 100%, this level of penetration is a significant
387+ accomplishment—especially given the historical difficulty of making
388+ changes to Internet routing and the "core" of the Internet.
389+
390+ One final point of note about the RPKI is that, just like other forms
391+ of certificate infrastructure, it relies on Certificate Revocation
392+ Lists (CRLs) to revoke certificates. This is important for handling
393+ cases such as the re-allocation of an address prefix from one provider
394+ to another. The good news is that CRLs can be readily distributed from
395+ the RPKI repositories just like other objects in the RPKI.
396+
397+
398+ 8.1.4 Path Validation
399+ ---------------------------------
372400
373- .. rubric :: path validation
374401
375402Route origin validation only tackles part of the problem with BGP
376403security. Even if the originating AS can be shown to be valid, what do
@@ -379,20 +406,21 @@ has a valid path to a certain prefix that traverses five ASes, but
379406chooses to falsely advertise that it can reach that prefix in two AS
380407hops, it is likely to attract traffic destined for that
381408prefix. Whatever the motive for such a step may be (e.g., to increase
382- revenue or to censor certain traffic, or even simple misconfiguration) it clearly undermines the
383- correct operation of Internet routing. The solution to such attacks is
384- to validate not just the originator of a prefix but the entire
385- path. It turns out this is a considerably harder problem to solve than ROV.
409+ revenue or to censor certain traffic, or even simple misconfiguration)
410+ it clearly undermines the correct operation of Internet routing. The
411+ solution to such attacks is to validate not just the originator of a
412+ prefix but the entire path. It turns out this is a considerably harder
413+ problem to solve than ROV.
386414
387415There are a few different proposals for how to securely validate
388416paths. We focus here on the BGPsec standard from the IETF which
389417illustrates the overall approach and the challenges with achieving
390418widespread deployment.
391419
392- In contrast to ROV, BGP path validation relies on cryptographic
420+ In contrast to ROV, BGPsec path validation relies on cryptographic
393421operations being adopted as part of BGP itself. Leveraging the RPKI,
394422BGP speakers (routers) taking part in path validation sign their BGP announcements
395- using private key associated with the AS in which the speaker is
423+ using a private key associated with the AS in which the speaker is
396424located. Thus, anyone receiving such an announcement can verify that
397425it came from the AS that it claims to represent, and that it has not
398426been modified in transit. The RPKI enables the recipient to obtain the
@@ -436,7 +464,7 @@ Including the target AS in the material that is signed is essential to
436464the correct operation of BGPsec. Suppose that, for example, AS3 tries
437465to lie about the path it has to AS1, claiming that the path <AS3,AS1>
438466is valid (skipping over AS2). It can't construct a valid message to
439- make this claim this with the information that it received from
467+ make this claim with the information that it received from
440468AS2, because of the fact that AS2 is the target given by AS1. An
441469attempt to create a signed path <AS3,AS1> could be detected as
442470invalid, because the signed statement from AS1 includes the fact that
@@ -449,12 +477,89 @@ destination. While this still does not prove that the path to the
449477destination will actually be able to carry data, it does prove that a
450478set of announcements made their way along the stated path. It remains
451479a possibility that some AS might have advertised a path that it will
452- not honor—AS2, for example, might refuse to forward traffic from AS3
453- to AS1 in spite of having advertised the path—but at least it is not
454- possible for a non-existent path, such as <AS3,AS1>, to be advertised.
480+ not honor—AS2, for example, might refuse (or be unable) to forward
481+ traffic from AS3 to AS1 in spite of having advertised the path. A
482+ particular concern is route leaks, in which misconfiguration causes an
483+ AS to advertise a route by mistake, with no intention of attracting
484+ traffic to that prefix. When such traffic arrives it might overwhelm
485+ the resources of the AS that accidentally advertised the route,
486+ causing traffic to be dropped.
487+
488+ Compared to ROV, the deployment story for path validation using BGPsec
489+ is disappointing. We've only described one of several proposals to
490+ cryptographically validate the paths advertised in BGP, but the sad
491+ fact is that there is little to no deployment of any of them. There
492+ are at least two challenges with path validation that contribute to
493+ this situation. One is that it is relatively costly to start
494+ performing cryptographic operations as part of BGP (in contrast to
495+ ROV, where cryptographic operations happen separately from the
496+ validation of BGP messages). The second is a "collective action
497+ problem": when a single ISP pays the cost of implementing BGPsec, it
498+ does little if anything to improve the situation for that ISP. Only
499+ when a critical mass of ISPs are using BGPsec does it start to provide
500+ significant incremental benefits over ROV. This unfortunate situation
501+ is captured in the paper "BGP Security in Partial Deployment". An
502+ approach that holds promise to address both these issues is described
503+ in the following section.
504+
505+ 8.1.5 AS Provider Authorization (ASPA)
506+ ----------------------------------------
507+
508+ At the time of writing, there is an effort underway at the IETF to
509+ standardize an approach to path validation known as ASPA (AS Provider
510+ Authorization). The idea is to use a new set of objects in the RPKI to
511+ capture the relationships among ASes, and then use that information to
512+ check the validity of BGP advertisements as they are received.
513+
514+ ASPA shares an attractive property with ROV: no cryptographic
515+ operations are added to BGP itself. Just as ROV builds a database (in
516+ the RPKI) of who is allowed to originate an advertisement, ASPA builds
517+ a database showing which ASes provide transit to other ASes. This,
518+ too, uses the RPKI, but with different types of certificates.
519+
520+ An important ingredient in ASPA is the insight that the relationships
521+ between ASes can be placed into a small set of categories. First, if there is
522+ no BGP connection between a pair of ASes, they have no relationship—and
523+ hence we should never see this pair of ASes next to each other in an
524+ advertised path. For any pair of ASes that do interconnect, the
525+ relationship can normally be classified as customer-to-provider, or
526+ peer-to-peer. A customer depends on a provider to deliver traffic to
527+ and from their AS, and that means that it is expected that the
528+ provider's AS number will appear in routing advertisements to reach
529+ the customer AS. Customer ASes, on the other hand, only deliver
530+ traffic to their provider ASes if it originates in the customer AS itself or
531+ comes from the customer's customers.
532+
533+ The relationship between customers and providers is normally capture
534+ visually as "valley-free" routing. Routing advertisements flow "up" from customers
535+ to providers, then (optionally) across between peers, then down from
536+ providers to customers, as depicted in :numref: `Figure %s
537+ <fig-valleyfree>`. In this figure, customer ASes are depicted below
538+ their provider AS, while the two ASes at the top have a peer-to-peer
539+ relationship. Valley-free routes have the property that they never
540+ start to go down (towards customers) and then head up again towards
541+ providers. The appearance of a valley is a strong indication of a
542+ route leak. A database that establishes the customer-to-provider
543+ relationships gives us the ability to detect such anomalies.
544+
545+
546+ .. _fig-valleyfree :
547+ .. figure :: figures/valleyfree.png
548+ :width: 500px
549+ :align: center
550+
551+ Valley-free topology of Autonomous Systems
552+
553+
554+ Suppose there is an ASPA object asserting that AS X is a provider for
555+ AS Y, and not vice versa. If a router receives an advertisement in
556+ which Y appears to be a provider for X, this is clearly wrong and the
557+ router drops the advertisement. Notably, ASPA catches some
558+ routing problems (such as accidental leakage of routes) that are not
559+ caught by BGPsec. This is because BGPsec shows that ASes are connected
560+ to each other but does not capture the customer-provider
561+ relationships.
455562
456- Deployment
457- ~~~~~~~~~~
458563
459564
460565
@@ -465,6 +570,15 @@ Deployment
465570 Routing? <https://dl.acm.org/doi/pdf/10.1145/2668152.2668966/> `__.
466571 ACM Queue, August 2014.
467572
573+ NIST. `RPKI Monitor <https://rpki-monitor.antd.nist.gov/ROV >`__.
574+
575+ Robert Lychev, Sharon Goldberg and Michael Schapira. `BGP security
576+ in partial deployment: is the juice worth the squeeze?
577+ <https://dl.acm.org/doi/10.1145/2534169.2486010> `__ ACM
578+ SIGCOMM, August 2013.
579+
580+
581+
4685828.2 DNS
469583----------
470584
0 commit comments