In der Kürze liegt die Würze: RPKI ROAs laufen immer wieder schnell ab
Vor Kurzem haben wir die Resource Public Key Infrastructure (RPKI) vorgestellt, einen Mechanismus zur Sicherstellung der Korrektheit des Border Gateway Protocol (BGP), dem Protokoll, das die „Zustellung“ von Internet-Traffic regelt. In diesem Blogpost werfen Job Snijders von Fastly und Doug Madory von Kentik gemeinsam einen weiteren Blick auf die RPKI.
In einem vorangegangenen Gemeinschaftsprojekt zur RPKI haben wir den jüngsten Erfolg bei der Einführung der RPKI ROV (Route Origin Validation) gefeiert: mehr als 50 % der IPv4-Routen verwenden nun Route Origin Authorizations (ROAs). Heute beschäftigen wir uns eingehender mit der Funktionsweise der RPKI, um zu verstehen, wie die kryptografische Kette das effektive Ablaufdatum einer ROA beeinflusst.
Eine ROA ist ein im Rahmen der RPKI kryptographisch signierter Datensatz, der die autonome Systemnummer (ASN) speichert, die zur Generierung eines IP-Adressspektrums im BGP autorisiert ist. Neben der ASN und einem oder mehreren IP-Adress-Präfixen enthält die ROA auch ein X.509-End-Entity-Zertifikat, das (unter anderem) den zeitlichen Gültigkeitsbereich angibt, also die beiden Zeitstempel, innerhalb derer eine ROA gültig ist.
Während die zeitlichen Gültigkeitsbereiche einzelner ROAs möglicherweise auf ein Jahr ausgestellt sind, liegen die von den RPKI-Prüfern verwendeten effektiven Ablaufdaten in der Regel nur ein paar Stunden oder Tage in der Zukunft. Dies liegt daran, dass diese effektiven Ablaufdaten transitiv sind, d. h. sie richten sich nach dem jeweils kürzesten Gültigkeitsbereich der Glieder in der kryptografischen Kette.
Funktionsweise
Um zu verstehen, wie das genau funktioniert, müssen wir uns mit dem zuvor erwähnten kryptografisch signierten Aspekt einer ROA beschäftigen.
Unter Verwendung von Jobs rpki-client Console Utility können wir die ROA für 151.101.8.0/22 untersuchen, die besagt, dass AS54113 autorisiert ist, das folgende IPv4-Präfix zu vergeben:
asID: 54113
IP address blocks: 151.101.8.0/22 maxlen: 22
In diesem ersten IP-Adressblock sind auch die ersten Daten enthalten, die den Gültigkeitsbereich dieser ROA festlegen.
Signing time: Sat 11 May 2024 01:00:27 +0000
ROA not before: Sat 11 May 2024 01:00:27 +0000
ROA not after: Fri 09 Aug 2024 01:00:27 +0000
Diese ROA ist also bis Mai 2024 gültig, sofern alle anderen Glieder in dieser Kette mindestens bis August 2024 gültig sind. An dieser Stelle kommt der nächste Signature Path ins Spiel.
Validation: OK
Signature path: rsync://rpki.arin.net/repository/arin-rpki-ta/5e4a23ea-e80a-403e-b08c-2171da2157d3/871da40f-793a-4a45-a0a9-978148321a07/e605f279-55f4-48ec-ba13-4845c0973a63/e605f279-55f4-48ec-ba13-4845c0973a63.crl
rsync://rpki.arin.net/repository/arin-rpki-ta/5e4a23ea-e80a-403e-b08c-2171da2157d3/871da40f-793a-4a45-a0a9-978148321a07/e605f279-55f4-48ec-ba13-4845c0973a63/e605f279-55f4-48ec-ba13-4845c0973a63.mft
rsync://rpki.arin.net/repository/arin-rpki-ta/5e4a23ea-e80a-403e-b08c-2171da2157d3/871da40f-793a-4a45-a0a9-978148321a07/e605f279-55f4-48ec-ba13-4845c0973a63.cer
rsync://rpki.arin.net/repository/arin-rpki-ta/5e4a23ea-e80a-403e-b08c-2171da2157d3/871da40f-793a-4a45-a0a9-978148321a07/871da40f-793a-4a45-a0a9-978148321a07.crl
rsync://rpki.arin.net/repository/arin-rpki-ta/5e4a23ea-e80a-403e-b08c-2171da2157d3/871da40f-793a-4a45-a0a9-978148321a07/871da40f-793a-4a45-a0a9-978148321a07.mft
rsync://rpki.arin.net/repository/arin-rpki-ta/5e4a23ea-e80a-403e-b08c-2171da2157d3/871da40f-793a-4a45-a0a9-978148321a07.cer
rsync://rpki.arin.net/repository/arin-rpki-ta/5e4a23ea-e80a-403e-b08c-2171da2157d3/5e4a23ea-e80a-403e-b08c-2171da2157d3.crl
rsync://rpki.arin.net/repository/arin-rpki-ta/5e4a23ea-e80a-403e-b08c-2171da2157d3/5e4a23ea-e80a-403e-b08c-2171da2157d3.mft
rsync://rpki.arin.net/repository/arin-rpki-ta/5e4a23ea-e80a-403e-b08c-2171da2157d3.cer
rsync://rpki.arin.net/repository/arin-rpki-ta/arin-rpki-ta.crl
rsync://rpki.arin.net/repository/arin-rpki-ta/arin-rpki-ta.mft
rsync://rpki.arin.net/repository/arin-rpki-ta.cer
Signature path expires: Fri 31 May 2024 14:00:00 +0000
Der obige Signature Path (auch als „Zertifizierungspfad“ bezeichnet) umreißt den mehrstufigen kryptografischen Signaturvalidierungsprozess, der notwendig war, um von dieser ROA zum Vertrauensanker („Trust Anchor“, in diesem Fall ARIN) zu gelangen. Jedes Glied dieser Kette hat ein eigenes Ablaufdatum. Das am weitesten in der Zukunft liegende scheint ein Datum im Jahr 2025 zu sein. Allerdings ist es das am schnellsten ablaufende Glied, das den Gültigkeitsbereich für den gesamten Signature Path und damit das effektive Ablaufdatum der ROA bestimmt.
In der Console Utility sind drei unterschiedliche Dateitypen verlinkt: Manifests (.mft), Certificate Revocation Lists (.crl) und Certificates (.cer).
Glossar |
---|
Manifests definieren den Inhalt eines RPKI Repository und verweisen auf die aktuelle CRL und ROAs. Sie sind immer bis zur nächsten Aktualisierungszeit gültig. Wenn mehrere gültige Versionen eines Manifest vorliegen, entscheiden RPKI-Prüfer anhand einer monoton steigenden Seriennummer innerhalb der Manifest Nutzlast, welche Version des Manifest zu verwenden ist. |
Certificate Revocation Lists (CRLs) enthalten die Liste der Seriennummern von Zertifikaten, die von der ausstellenden Certification Authority (CA) vor ihrem planmäßig vorgesehenen Ablaufdatum widerrufen wurden. Um ein ROA zu deaktivieren, würde eine CA den ROA-Dateinamen aus dem Manifest streichen und die Seriennummer des ROA-End-Entity-Zertifikats zur CRL hinzufügen. CRLs sind immer bis zur nächsten Aktualisierungszeit gültig. |
Zertifikate werden verwendet, um die Gültigkeit von öffentlichen Schlüsseln (Public Keys) zu belegen. RPKI-Zertifikate sind nach dem X.509-Standard definiert. Jedes Zertifikat enthält einen zeitlichen Gültigkeitsbereich, einen öffentlichen Schlüssel, Verweise auf den Netzwerkstandort des Repository und einige zusätzliche Metadaten. RPKI-Prüfer nutzen den öffentlichen Schlüssel, um das Manifest, die CRL und die ROAs am Repository-Standort zu validieren. Die Inhalte eines Zertifikats sind wiederum durch die kryptografische Signatur eines übergeordneten Prüfers geschützt. In der RPKI ist das „Root Certificate“ als Trust Anchor bekannt. Dabei handelt es sich um ein automatisch signiertes Zertifikat, das mit Hilfe eines Trust Anchor Locator validiert werden kann. |
Folgt man den Links, so kann man die nachstehende Liste an Ablaufdaten für diesen Signature Path konstruieren:
Signature path: Fri 31 May 2024 23:00:00 rsync://rpki.arin.net/repository/arin-rpki-ta/5e4a23ea-e80a-403e-b08c-2171da2157d3/871da40f-793a-4a45-a0a9-978148321a07/e605f279-55f4-48ec-ba13-4845c0973a63/e605f279-55f4-48ec-ba13-4845c0973a63.crl
Fri 31 May 2024 23:00:00 rsync://rpki.arin.net/repository/arin-rpki-ta/5e4a23ea-e80a-403e-b08c-2171da2157d3/871da40f-793a-4a45-a0a9-978148321a07/e605f279-55f4-48ec-ba13-4845c0973a63/e605f279-55f4-48ec-ba13-4845c0973a63.mft
Mon 13 Apr 2026 22:13:58 rsync://rpki.arin.net/repository/arin-rpki-ta/5e4a23ea-e80a-403e-b08c-2171da2157d3/871da40f-793a-4a45-a0a9-978148321a07/e605f279-55f4-48ec-ba13-4845c0973a63.cer
Sat 01 Jun 2024 13:00:00 rsync://rpki.arin.net/repository/arin-rpki-ta/5e4a23ea-e80a-403e-b08c-2171da2157d3/871da40f-793a-4a45-a0a9-978148321a07/871da40f-793a-4a45-a0a9-978148321a07.crl
Sat 01 Jun 2024 13:00:00 rsync://rpki.arin.net/repository/arin-rpki-ta/5e4a23ea-e80a-403e-b08c-2171da2157d3/871da40f-793a-4a45-a0a9-978148321a07/871da40f-793a-4a45-a0a9-978148321a07.mft
Thu 25 Dec 2025 14:09:41 rsync://rpki.arin.net/repository/arin-rpki-ta/5e4a23ea-e80a-403e-b08c-2171da2157d3/871da40f-793a-4a45-a0a9-978148321a07.cer
Wed 31 May 2024 14:00:00 rsync://rpki.arin.net/repository/arin-rpki-ta/5e4a23ea-e80a-403e-b08c-2171da2157d3/5e4a23ea-e80a-403e-b08c-2171da2157d3.crl
Wed 31 May 2024 14:00:00 rsync://rpki.arin.net/repository/arin-rpki-ta/5e4a23ea-e80a-403e-b08c-2171da2157d3/5e4a23ea-e80a-403e-b08c-2171da2157d3.mft
Mon 04 May 2026 15:17:49 rsync://rpki.arin.net/repository/arin-rpki-ta/5e4a23ea-e80a-403e-b08c-2171da2157d3.cer
Mon 30 Sep 2024 15:17:49 rsync://rpki.arin.net/repository/arin-rpki-ta/arin-rpki-ta.crl
Mon 30 Sep 2024 15:17:49 rsync://rpki.arin.net/repository/arin-rpki-ta/arin-rpki-ta.mft
Mon 03 Nov 2025 rsync://rpki.arin.net/repository/arin-rpki-ta.cer
Signature path expires: Fri 31 May 2024 14:00:00 +0000
Warum es wünschenswert ist, dass ROAs immer wieder schnell ablaufen
Viele der Glieder des oben genannten Zertifizierungspfads scheinen zeitlich relativ kurze Gültigkeitsbereiche zu haben (nur ein paar Stunden oder Tage). Diese kurzen effektiven Ablaufdaten dienen einem bestimmten Zweck.
Sie verhindern, dass eines der Glieder in der kryptografischen Kette ausfällt, d. h., dass der rsync- oder rrdp-Server offline geht und neue Informationen nicht abgerufen werden können. Denn das würde dazu folgen, dass ROAs in ihrem letzten Zustand stecken bleiben.
Hätte beispielsweise eine falsch konfigurierte ROA den Ausfall bedingt, wäre ein manueller Eingriff zur Behebung des Missstandes erforderlich. In diesem Fall würde der Ausfall die Verwendung der CRL zum Widerruf einer problematischen ROA verhindern.
Bei kurzen effektiven Ablaufdaten läuft die falsch konfigurierte ROA irgendwann automatisch ab, wodurch der Internet-Weiterleitungspfad zum Veröffentlichungspunkt der ROA freigegeben werden kann.
Neuausstellung erfolgt lange vor Ablauf des Gültigkeitsbereichs
Die Aussteller von ROAs, Manifests, CRLs und Zertifikaten warten nicht müßig darauf, dass ein kryptografisch signiertes Produkt abläuft, bevor sie eine neue Version ausstellen.
Einige Aussteller vergeben Manifests und CRLs beispielsweise stündlich neu (mit einem Ablaufdatum acht Stunden in der Zukunft) und gewährleisten somit, dass die Daten weitere acht Stunden lang gültig sind. Durch eine häufige Neuausstellung kann vorübergehenden Netzwerkproblemen zwischen dem ROA-Veröffentlichungspunkt und den RPKI-Prüfern, die in den Netzen der Internetanbieter eingesetzt werden, vorgebeugt werden.
RPKI-Prüfer greifen entweder solange auf lokal zwischengespeicherte Versionen von Objekten zurück, bis diese ungültig werden, oder ersetzen sie durch Nachfolgeobjekte aus einer erfolgreichen Synchronisierung mit dem Veröffentlichungspunkt.
Dieses Verhalten entspricht den DNS Time-to-Live (TTL)-Einstellungen. Kurze TTLs ermöglichen es DNS-Betreibern, Traffic bei Bedarf schnell umzuverteilen oder einen DNS-Eintrag aus den Caches zu löschen, um zu verhindern, dass ein veralteter Eintrag den Traffic steuert.
Analyse des effektiven Ablaufdatums einer ROA
Mithilfe von rpkiviews.org lässt sich eine aktuelle Übersicht über die rund 528.000 derzeit verwendeten ROAs erstellen. Im CSV-Format sieht der Inhalt dann folgendermaßen aus:
ASN,IP Prefix,Max Length,Trust Anchor,Expires
AS13335,1.0.0.0/24,24,apnic,1712499475
AS38803,1.0.4.0/24,24,apnic,1712532668
AS38803,1.0.4.0/22,22,apnic,1712532668
AS38803,1.0.5.0/24,24,apnic,1712532668
AS38803,1.0.6.0/24,24,apnic,1712532668
AS38803,1.0.7.0/24,24,apnic,1712532668
AS18144,1.0.64.0/18,18,apnic,1712358404
AS13335,1.1.1.0/24,24,apnic,1712499475
AS4134,1.1.4.0/22,22,apnic,1712508843
…
Die fünfte und letzte Spalte gibt die effektiven Ablaufdaten im Epochenformat an. Fasst man diese Zeitstempel in einstündige Intervalle zusammen und veranschaulicht die Anzahl im Zeitverlauf, so ergibt sich das folgende Diagramm, auf dem mehrere Spitzenwerte zu erkennen sind.
Dabei entspricht jeder ROA-Spitzenwert einer anderen Regional Internet Registry (RIR). Diese Darstellung zeigt, welche Auswirkungen die unterschiedlichen kryptografischen Ketten, die von den einzelnen RIRs verwendet werden, haben können.
Wir sprechen hier jedoch lediglich von einer Momentaufnahme. Um zu verstehen, wie sich die effektiven Ablaufdaten im Laufe der Zeit verändern, sollten wir uns die folgende Animation ansehen:
Wie bereits erwähnt, entspricht jeder Spitzenwert einer anderen RIR, und wie sich die Darstellung im Laufe der Zeit entwickelt, hängt von der zur Verwaltung der ROAs verwendeten Software ab.
Da sich ein bewegliches Ziel nur schwer analysieren lässt, sehen wir uns eine statische Darstellung dieser effektiven Ablaufdaten im Zeitverlauf an. In den nachstehenden Diagrammen entspricht die x-Achse dem Zeitpunkt der Momentaufnahme und die y-Achse den Spitzenwerten der effektiven Ablaufdaten. Die einzelnen RIRs sind farblich hervorgehoben.
Das erste Diagramm zeigt, wie sich die effektiven Ablaufdaten von ROAs (y-Achse) im Laufe der Zeit (x-Achse) verändern. Die Gültigkeitsbereiche wurden auf die vorherige 15-Minuten-Markierung gerundet. Um die Interpretation zu erleichtern, haben wir zwei Punkte im Diagramm eingezeichnet (A und B). Beide stellen die von RIPE (blau) veröffentlichten ROAs dar, die um 23:00 Uhr UTC am 13. April 2024 (y-Achse) ablaufen. Punkt A repräsentiert 2.165, Punkt B 15.852 ROAs mit diesem Ablaufdatum. Letzterer ist farblich etwas dunkler dargestellt, was die größere Anzahl von ROAs widerspiegeln soll.
Punkt A | Punkt B | |
---|---|---|
RIR | RIPE (blau) | RIPE (blau) |
Momentaufnahme | 2024-04-10 22:56:22 | 2024-04-11 07:12:18 |
Ablaufdatum | 2024-04-13 23:00:00 | 2024-04-13 23:00:00 |
Anzahl | 2.165 | 15.852 |
Führt man das Diagramm über mehrere Tage fort, wird deutlich, wie sich die effektiven Ablaufdaten von ROAs im Zeitverlauf verändern. Jede RIR weist in Abhängigkeit der verwendeten Software ein individuelles Verlängerungsverhalten auf.
Lassen Sie uns in einem nächsten Schritt ein paar der RIRs genauer unter die Lupe nehmen.
ARIN
Isoliert man die effektiven Ablaufdaten der von ARIN veröffentlichten ROAs, so werden zwei unterschiedliche Verhaltensweisen deutlich: Zum einen eine schwächere Ansammlung von Ablaufdaten, die zwischen 8 und 24 Stunden in der Zukunft liegen. In dieser Gruppe werden die Ablaufdaten auf 24 Stunden in der Zukunft verlängert, sobald sie sich 8 Stunden in der Zukunft nähern.
Zum anderen eine größere Ansammlung von Ablaufdaten, die treppenförmig aufgebaut ist. In dieser Gruppe werden alle Ablaufdaten, die sich 24 Stunden in der Zukunft nähern, auf 24 bis 48 Stunden in der Zukunft verlängert. Dieser Verlängerungsprozess setzt sich stetig fort, überschreitet jedoch nie die vorherige Obergrenze für die Ablaufdaten, da diese alle 48 Stunden zurückgesetzt wird. Das erzeugt in Summe den treppenförmigen Graphen.
RIPE
Im Gegensatz zu ARIN werden die effektiven Ablaufdaten von RIPE auf einen Zeitpunkt zwischen 8 und 18 Stunden in der Zukunft aktualisiert, sobald sie sich 8 Stunden in der Zukunft nähern. Die Ablaufdaten von RIPE liegen nie mehr als 24 Stunden in der Zukunft. Dadurch entsteht eine dichtere Verteilung, wie im folgenden Diagramm dargestellt.
APNIC
Die effektiven Ablaufdaten der ROAs von APNIC fallen in zwei Kategorien. Eine kleine Anzahl von Ablaufdaten (schwacher unterer Graph) liegt zwischen 8 und 24 Stunden in der Zukunft. Genau wie beim schwächeren unteren Graphen von ARIN werden auch diese Ablaufdaten auf 24 Stunden in der Zukunft verlängert, sobald sie sich 8 Stunden in der Zukunft nähern.
Ansonsten weisen die meisten der von APNIC veröffentlichten ROAs die längsten effektiven Ablaufdaten unter allen RIRs auf. Sie liegen mindestens fünf Tage in der Zukunft. Sobald diese Frist erreicht wird, werden sie auf sechs Tage in der Zukunft verlängert.
LACNIC
In der ersten Aprilhälfte verhielten sich die effektiven Ablaufdaten der ROAs von LACNIC ähnlich wie die von RIPE, allerdings wechselte LACNIC am 15. April zur RPKI-Management-Software Krill. Nach dem 15. April glichen die LACNIC Ablaufdaten zunehmend der 48-Stunden-Treppenform von ARIN.
AFRINIC
Sobald sich die effektiven Ablaufdaten von AFRINIC 24 Stunden in der Zukunft nähern, werden sie um weitere 24 Stunden verlängert. Bei den meisten ROAs erfolgt diese Aktualisierung täglich um Mitternacht UTC.
Fazit
Wie Sie wahrscheinlich bereits wissen, gilt RPKI ROV weiterhin als die beste Verteidigung gegen unbeabsichtigtes BGP-Hijacking und Leaks am Origin, welche die Grundlage für zahlreiche Störungen bilden. Diese Technologie verzeichnete kürzlich einen bedeutenden Erfolg, als der Prozentsatz der in der globalen Routing-Tabelle verwendeten IPv4-Routen mit ROAs am 1. Mai 2024 die 50-Prozent-Marke überschritt (IPv6 erreichte dies letztes Jahr).
ROV baut darauf auf, dass die in den ROAs enthaltenen Informationen über eine kryptografische Kette korrekt an die Prüfer übermittelt werden, damit diese die eingehenden BGP-Ankündigungen überprüfen können. Folglich sind für ROAs zwei Ablaufdaten zu berücksichtigen: Auf der einen Seite der in der ROA selbst festgelegte zeitliche Gültigkeitsbereich; auf der anderen Seite das vom Prüfer aus gesehene Ablaufdatum, das wir effektives Ablaufdatum nennen und das sich am jeweils kürzesten Gültigkeitsbereich der Glieder in der kryptografischen Kette orientiert. Beide Typen lassen sich mit Open-Source-Tools wie BGPAlerter überwachen.
Diese kurzen effektiven Ablaufdaten (oft nur Stunden gültig) sind eine Besonderheit, mit der verhindert wird, dass Prüfer im Falle eines Ausfalls auf veralteten Informationen sitzen bleiben. Faszinierend ist, wie unterschiedlich die einzelnen RIRs mit diesen Ablaufdaten, die von einigen Stunden (RIPE) zu mehreren Tagen (APNIC) in der Zukunft reichen, umgehen.