RPKI-credentials in eigen beheer; publicatie door de RIR

Hybrid RPKI inmiddels ondersteund door 3 van de 5 RIR's

Illustratie van een hangslot op een printplaat

Wie zijn IP-prefixen wil beschermen met RPKI/ROV kan daarvoor zijn eigen CA-server opzetten of de hele boel laten hosten door zijn RIR. Recent is daar met Hybrid RPKI een derde tussenvorm bijgekomen. Daarbij neem je zelf de ondertekening en het beheer van de ROA's voor je rekening, maar laat je de internetbrede publicatie door een Regional Internet Registry (RIR) verzorgen. Deze opzet wordt al volledig ondersteund door de Krill-software en onze RIR RIPE NCC.

Internetroutering, BGP en RPKI

RPKILink opent in een nieuwe browsertab is een raamwerk voor de cryptografische beveiliging van het internetrouteringssysteem BGPLink opent in een nieuwe browsertab. Daarmee wordt het voor kwaadwillenden veel moeilijker om valse routeinformatie in het systeem in te brengen, om op die manier IP-adressen te kapen of internetverkeer om te leiden. En minstens net zo belangrijk: RPKI voorkomt dat vergissingen van netwerkbeheerders verder propageren en belangrijke onderdelen en diensten afkoppelen. We bespreken internetroutering, BGP en RPKI uitgebreid in dit artikel.

RPKI maakt gebruik van een wereldwijde, gedistribueerde Public-Key Infrastructuur (PKILink opent in een nieuwe browsertab) voor de bescherming van internetresources (IP-adressen en AS-nummersLink opent in een nieuwe browsertab). Op dit moment is Route Origin Validation (ROV) de meest gebruikte RPKI-toepassing. Daarbij worden route-aankondigingen aan een AS-nummer gekoppeld in een Route Origin Authorisation (ROA-record) voorzien van een digitale handtekening. Die ondertekening wordt uitgevoerd door de Certificate Authorities (CLink opent in een nieuwe browsertabALink opent in een nieuwe browsertab'Link opent in een nieuwe browsertabsLink opent in een nieuwe browsertab); validatie aan afnemerszijde wordt gedaan door een RPKI-validator (de zogenaamde Relying Parties). Zo worden alleen nog valide aankondigingen aan de routers doorgegeven.

ROV biedt vooral bescherming tegen configuratiefouten; kwaadwillenden kunnen immers nog steeds het AS-pad vervalsen. In de nabije toekomst zal een aanvullende RPKI-toepassing, Autonomous System Provider Authorization (ASPA), ook de padinformatie beschermen. Door vast te leggen welke AS-nummers route-aankondigingen van een bepaald AS-nummer mogen propageren, wordt het veel moeilijker om een (plausibel) pad te vervalsen. Daarnaast biedt ASPA bescherming tegen een aantal vormen van onbedoelde routelekken.

Route Origin Validation

Op dit moment (november 2023) wordt 84 procent van de Nederlandse IPv4-adresruimte beschermd door RPKI/ROV. In totaal gaat het om 8050 VRP'sLink opent in een nieuwe browsertab (gevalideerde autorisaties voor route-aankondigingen) voor IPv4 en 3403 VRP's voor IPv6.

Nederlandse VRP's voor IPv4

Figuur 1: Nederlandse VRP's voor IPv4. Bron: RIPE NCCLink opent in een nieuwe browsertab.

Nederlandse VRP's voor IPv6

Figuur 2: Nederlandse VRP's voor IPv6. Bron: RIPE NCCLink opent in een nieuwe browsertab.

ROV in het .nl-domein

Onze eigen statistiekenLink opent in een nieuwe browsertab laten een vergelijkbaar beeld zien: ongeveer 85 procent van de websites onder het .nl-domein is via RPKI/ROV beveiligd.

Grafiek van stats.sidnlabs.nl die de toepassing van RPKI in de .nl-zone laat zien.

Andere Europese landen

Zoals onderstaande tabel laat zien, is de adoptie van RPKI/Link opent in een nieuwe browsertabROVLink opent in een nieuwe browsertab in NederlandLink opent in een nieuwe browsertab vergelijkbaar met die in de landen om ons heenLink opent in een nieuwe browsertab. De Verenigde Staten hebben nog een achterstand, maar lopen die nu in.

"De kinderziekten zijn er inmiddels wel uit," zegt Tim BruijnzeelsLink opent in een nieuwe browsertab, lead developer van de Krill CA-softwareLink opent in een nieuwe browsertab bij NLnet Labs. "Ook de kwaliteit van de data is de afgelopen jaren sterk verbeterd. Die ROA's moet je nu echt goed bijhouden, anders worden je routes niet meer geaccepteerd door validerende RTR-systemen."

IPv4-adresruimte beschermd met RPKI/ROV

Figuur 4: IPv4-adresruimte beschermd met RPKI/ROV. Bron: RIPE NCCLink opent in een nieuwe browsertab.

Land

Adoptiepercentage

Portugal

98%

Frankrijk

90%

Denemarken

88%

Nederland

84%

Ierland

84%

Duitsland

81%

België

81%

Finland

79%

Zweden

77%

Zwitserland

75%

Engeland

57%

Noorwegen

57%

Spanje

41%

Italië

33%

Delegated, Hosted en Hybrid RPKI

De hoge adoptie van RPKI/ROV – een relatief nieuwe internetbeveiligingsstandaard – heeft alles te maken met de brede verscheidenheid aan configuratieset-ups. Je kunt de routeinformatie voor je prefixen zelf ondertekenen en die handtekeningen (ROA's) zelf publiceren. Daarvoor laat je de RIRLink opent in een nieuwe browsertab naar je eigen infrastructuur verwijzen, waarmee de certificaatketenLink opent in een nieuwe browsertab (volgens RFC 6492Link opent in een nieuwe browsertab) naar jouw systemen wordt uitgebreid (Delegated RPKILink opent in een nieuwe browsertab).

Een andere mogelijkheid is om de ROA's volledig door de RIR te laten genereren en publiceren (Hosted RPKILink opent in een nieuwe browsertab). Alle 5 RIR's bieden een dergelijke dienst aan. Dat betekent dat bijvoorbeeld kleinere LIR'sLink opent in een nieuwe browsertab die maar één RIR gebruiken zelf geen CA-server hoeven draaien.

Hybrid RPKI zit – zoals de naam al aangeeft – ertussenin: daarbij draai je zelf een complete CA/RPKI-server (het provisioninggedeelte), maar wordt de data door de RIR overgenomen (volgens RFC 8181Link opent in een nieuwe browsertab) voor publicatie aldaar (het publicationgedeelte). RPKI-validators hoeven dan bij het verzamelen van alle certificaten en ROA's (iets dat ze typisch elk uur opnieuw doen) niet af te dalen naar de afzonderlijke repository’s.

Cruciaal verschil voor de LIR's is dat zij in deze opzet de cryptografische sleutels zelf in beheer hebben. Bovendien kan de LIR nog steeds onderdelen van zijn adresruimte naar andere CA/RPKI-servers delegeren. Maar het belangrijkste voordeel van Hybrid RPKI bevindt zich op operationeel niveau: in deze opzet hoeft een LIR geen volwaardige publieke internetdienst op te tuigen met alle daarbij behorende eisen betreffende schaalbaarheid en beschikbaarheid. Daarnaast hoeft hij alleen verbinding te maken met één van zijn RIR's, waar hij tegelijkertijd ook de ROA's behorend bij een andere parent RIR kan laten publiceren.

Voordeel voor het RPKI-systeem als geheel is dat het aantal publication points op deze manier beperkt blijft.

Ondersteuning Hybrid RPKI

Onze RIR RIPE NCCLink opent in een nieuwe browsertab ondersteunt Hybrid RPKI (in bèta) sinds december 2022Link opent in een nieuwe browsertab. In februari van dit jaar kwam hun 'RPKI Publication as a Service'-dienst voor al hun LIR's beschikbaar.

Waar Hosted RPKI inmiddels bij alle 5 RIR's beschikbaar is, geldt dat nog niet voor Hybrid RPKI. ARINLink opent in een nieuwe browsertab en APNICLink opent in een nieuwe browsertab bieden een vergelijkbare dienst aan als RIPE NCC. Alle 3 RIR's beschrijven op hun website hoe je Krill voor hun Hybrid RPKI configureert [RIPE NCCLink opent in een nieuwe browsertab, ARINLink opent in een nieuwe browsertab, APNICLink opent in een nieuwe browsertab].

De overige 2 RIR's, AFRINICLink opent in een nieuwe browsertab en LACNICLink opent in een nieuwe browsertab, ondersteunen deze mogelijkheid op dit moment nog niet. Maar omdat elke RIR ook de repository’s van de andere RIR's publiceert, maakt het in principe niet uit welke RIR je als ingang neemt voor je 'Hybrid RPKI'-setup (je moet natuurlijk wel lid zijn van de RIR die je voor publicatie wilt gebruiken).

De Krill CA/RPKI-server

Op dit moment is KrillLink opent in een nieuwe browsertab de enige praktisch inzetbare CA/RPKI-server. De softwareLink opent in een nieuwe browsertab wordt ontwikkeld door NLnet LabsLink opent in een nieuwe browsertab en is geschreven in de moderne programmeertaal RustLink opent in een nieuwe browsertab. Krill laat je ROA's genereren uit prefix-ASN-combinaties, die je vervolgens zelf kunt publiceren (Delegated RPKI) of kunt laten ophalen voor publicatie door een RIR (Hybrid RPKI). In het eerste geval fungeert Krill als een zogeheten publication point, een zelfstandig repository-onderdeel van de RPKI-boom. De ROA's worden bij de Publication Server opgehaald door validators via het RRDP-protocol [RFC 8182Link opent in een nieuwe browsertab] (daarnaast moet de content voor recursieve fetches altijd bereikbaar zijn via rsyncLink opent in een nieuwe browsertab). In het tweede geval zijn de ROA's alleen beschikbaar voor de RIR voor opname en publicatie in zijn eigen repository. De Publication Server hoef je in dit geval niet op te zetten.

Krill kan dit voor meerdere LIR's tegelijk, en voor meerdere RIR's. Eventueel kun je prefixen weer verder delegeren naar klanten of andere gebruikers die hun eigen instantie van Krill draaien. Doe je dit in 'Hybrid RPKI'-modus, dan kunnen ook deze gebruikers volstaan met een eenvoudige setup en worden hun repository’s via jouw Krill-systeem naar de RIR gestuurd.

Zowel RIPE NCC [1Link opent in een nieuwe browsertab] als NLnet Labs [1Link opent in een nieuwe browsertab] bieden een testomgeving die je voor experimenten en tijdens de configuratie van RPKI kunt gebruiken.

Screenshot van testomgeving die NLnet Labs biedt, die je voor experimenten en tijdens de configuratie van RPKI kunt gebruiken.

Een alternatief is de RPKI toolkit van Dragon Research LabsLink opent in een nieuwe browsertab, maar die wordt allang niet meer onderhouden. "Hun rpkid werkt nog wel, maar is sterk verouderd," aldus Bruijnzeels. "De software is geschreven in Python 2 en ondersteunt geen nieuwere RPKI-onderdelen zoals ASPA.

Daarnaast publiceert ook RIPE NCC zijn RPKI-softwareLink opent in een nieuwe browsertab als open source, maar dat is eerder vanuit oogpunt van transparantie dan om daadwerkelijk zelf te gebruiken. Deze software vormt wel weer de basis onder de (proprietary) RPKI-software die Amazon op het moment voor zijn clouddienst ontwikkelt.

Praktisch gezien is Krill nu de enige CA-server, wat betekent dat het RPKI-ecosysteem zich echt nog moet ontwikkelen."

Meer RPKI

De beveiliging van je prefixen met RPKI/ROV en het valideren van de ROA's zijn onafhankelijk van elkaar, en kunnen los van elkaar opgezet worden (het validatiegedeelte bijvoorbeeld met de Routinator validatorLink opent in een nieuwe browsertab). Daarmee heb je dan het RPKI-onderdeel dat de bron van route-aankondigingen vastlegt en valideert compleet, waarmee route hijackingLink opent in een nieuwe browsertab maar vooral de propagatie van fouten en vergissingen wordt voorkomen.

Bruijnzeels raadt netwerkbeheerders die met RPKI aan de slag gaan aan om hun huiswerk goed te doen. Daarvoor verwijst hij naar de documentatie van RPKILink opent in een nieuwe browsertab, die van de RoutinatorLink opent in een nieuwe browsertab, en naar de 'Link opent in een nieuwe browsertabRPKI CommunityLink opent in een nieuwe browsertab'Link opent in een nieuwe browsertabDiscord-serverLink opent in een nieuwe browsertab. Bovendien raadt hij aan om ongeldige aankondigingen niet gelijk te droppen, maar te beginnen met het loggen ervan.

Om BGP ook tegen aanvallen van kwaadwillenden te beschermen heb je ASPA nodig, een complementaire RPKI-toepassing die ook de onderdelen van de routes zelf van een digitale handtekening voorziet. Deze technologie wordt wel al ondersteund door Krill, maar is nog niet uitontwikkeld.

Voor meer informatie over de beveiliging van prefixen en routes verwijzen we je naar dit artikel waarin we RPKI, ROV, ASAP en gerelateerde beveiligingstechnologieën uitgebreider bespreken.

Wil je weten of de IP-adressen achter een specifieke domeinnaam met RPKI beschermd zijn, dan kun je daarvoor naar de Internet.nl-testportaalLink opent in een nieuwe browsertab. Naast een heleboel andere moderne internetstandaarden test deze sinds augustus 2022 ook op RPKI/ROV-ondersteuning voor web en mail.