Resurs Public Key Infrastructure
Resource Public Key Infrastructure ( RPKI ), även känd som Resource Certification , är ett specialiserat ramverk för offentlig nyckelinfrastruktur (PKI) för att stödja förbättrad säkerhet för Internets BGP - routningsinfrastruktur .
RPKI tillhandahåller ett sätt att ansluta Internetnummerresursinformation (som autonoma systemnummer och IP-adresser ) till ett förtroendeankare . Certifikatstrukturen speglar sättet på vilket Internetnummerresurser är fördelade. Det vill säga, resurser distribueras initialt av IANA till de regionala Internet-registren (RIR), som i sin tur distribuerar dem till lokala Internet-register (LIR), som sedan distribuerar resurserna till sina kunder. RPKI kan användas av de legitima innehavarna av resurserna för att kontrollera driften av Internet- routningsprotokoll för att förhindra ruttkapning och andra attacker. I synnerhet används RPKI för att säkra Border Gateway Protocol (BGP) genom BGP Route Origin Validation (ROV), samt Neighbour Discovery Protocol (ND) för IPv6 genom Secure Neighbor Discovery- protokollet (SEND).
RPKI-arkitekturen är dokumenterad i RFC 6480. RPKI-specifikationen är dokumenterad i en utbredd serie av RFC:er: RFC 6481, RFC 6482, RFC 6483, RFC 6484, RFC 6485, RFC 6486, RFC 6487, RFC 9, RFC 9, RFC 6490, RFC 6491, RFC 6492 och RFC 6493. SEND dokumenteras i RFC 6494 och RFC 6495. Dessa RFC:er är en produkt av IETF:s SIDR ("Secure Inter-Domain Routing") arbetsgrupp och är baserade på en hotanalys som dokumenterades i RFC 4593. Dessa standarder täcker BGP-ursprungsvalidering, medan sökvägsvalidering tillhandahålls av BGPsec , som har standardiserats separat i RFC 8205. Flera implementeringar för prefix-ursprungsvalidering finns redan.
Resurscertifikat och underordnade objekt
RPKI använder X.509 PKI-certifikat (RFC 5280) med tillägg för IP-adresser och AS-identifierare (RFC 3779). Det gör det möjligt för medlemmar i regionala internetregister , så kallade lokala internetregister (LIR), att få ett resurscertifikat som visar de internetnummerresurser de har. Detta ger dem validerbara bevis på innehav, även om certifikatet inte innehåller identitetsinformation. Med hjälp av resurscertifikatet kan LIR:er skapa kryptografiska intyg om ruttmeddelanden de godkänner att göras med prefixen de har. Dessa intyg, kallade Route Origination Authorizations (ROA), beskrivs nedan.
Ruttuppkomstbehörigheter
En Route Origination Authorization (ROA) anger vilket autonomt system (AS) som är auktoriserat att skapa vissa IP-prefix . Dessutom kan den bestämma den maximala längden på prefixet som AS är auktoriserat att marknadsföra.
Maximal prefixlängd
Den maximala prefixlängden är ett valfritt fält. När det inte är definierat är AS endast behörig att annonsera exakt det angivna prefixet. Alla mer specifika meddelanden om prefixet kommer att betraktas som ogiltiga. Detta är ett sätt att genomdriva aggregering och förhindra kapning genom tillkännagivandet av ett mer specifikt prefix.
När det finns anger detta längden på det mest specifika IP-prefixet som AS är auktoriserat att marknadsföra. Till exempel, om IP-adressprefixet är 10.0.0.0/16 och den maximala längden är 22, är AS auktoriserat att annonsera alla prefix under 10.0.0.0/16 , så länge det inte är mer specifikt än /22 . Så i det här exemplet skulle AS vara behörig att annonsera 10.0.0.0/16 , 10.0.128.0/20 eller 10.0.252.0/22 , men inte 10.0.255.0/24 .
Giltighet för RPKI-ruttmeddelande
När en ROA skapas för en viss kombination av ursprung AS och prefix kommer detta att ha en effekt på RPKI-giltigheten för ett eller flera ruttmeddelanden. De kan vara:
-
GILTIGT
- Rutmeddelandet täcks av minst en ROA
-
OGILTIG
- Prefixet meddelas från ett obehörigt AS. Detta betyder:
- Det finns en ROA för detta prefix för ett annat AS, men ingen ROA som godkänner detta AS; eller
- Detta kan vara ett kapningsförsök
- Meddelandet är mer specifikt än vad som är tillåtet av den maximala längden som anges i en ROA som matchar prefixet och AS
- Prefixet meddelas från ett obehörigt AS. Detta betyder:
-
OKÄNT
- Prefixet i detta tillkännagivande täcks inte (eller endast delvis) av en befintlig ROA
Observera att ogiltiga BGP-uppdateringar också kan bero på felaktigt konfigurerade ROA:er.
Förvaltning
Det finns verktyg med öppen källkod tillgängliga för att köra certifikatutfärdaren och hantera resurscertifikatet och underordnade objekt som ROA. Dessutom har RIR:erna en värdbaserad RPKI-plattform tillgänglig i deras medlemsportaler. Detta gör att LIR:er kan välja att förlita sig på ett värdsystem eller köra sin egen programvara.
Offentliggörande
Systemet använder inte en enda förvarspubliceringspunkt för att publicera RPKI-objekt. Istället består RPKI-förvarssystemet av flera distribuerade och delegerade publiceringspunkter för förvar. Varje förvars publiceringspunkt är associerad med en eller flera RPKI-certifikats publiceringspunkter. I praktiken innebär detta att när en certifikatutfärdare driver en LIR kan de antingen publicera allt kryptografiskt material själva, eller så kan de lita på en tredje part för publicering. När en LIR väljer att använda det värdsystem som tillhandahålls av RIR sker publicering i princip i RIR-förvaret.
Godkännande
Programvara från förlitande parter hämtar, cachelagrar och validerar förvarsdata med hjälp av rsync eller RPKI Repository Delta Protocol (RFC 8182). Det är viktigt för en förtroende part att regelbundet synkronisera med alla publiceringspunkter för att upprätthålla en fullständig och aktuell översikt över förvarsdata. Ofullständiga eller inaktuella data kan leda till felaktiga routingbeslut.
Routing beslut
Efter validering av ROA:er kan intygen jämföras med BGP-routing och hjälpa nätverksoperatörer i deras beslutsprocess. Detta kan göras manuellt, men de validerade prefixets ursprungsdata kan också skickas till en router som stöds med hjälp av RPKI to Router Protocol (RFC 6810), Cisco Systems erbjuder inbyggt stöd på många plattformar för att hämta RPKI-datauppsättningen och använda den i routerkonfiguration. Juniper erbjuder support på alla plattformar som kör version 12.2 eller senare. Quagga får denna funktionalitet genom BGP Secure Routing Extensions (BGP-SRx) eller en RPKI-implementering helt RFC-kompatibel baserad på RTRlib. RTRlib tillhandahåller en öppen källkod C-implementering av RTR-protokollet och prefixursprungsverifiering. Biblioteket är användbart för utvecklare av routingprogramvara men också för nätverksoperatörer. Utvecklare kan integrera RTRlib i BGP-demonen för att utöka deras implementering mot RPKI. Nätverksoperatörer kan använda RTRlib för att utveckla övervakningsverktyg (t.ex. för att kontrollera att cacharna fungerar korrekt eller för att utvärdera deras prestanda).
RFC 6494 uppdaterar certifikatvalideringsmetoden för Secure Neighbor Discovery Protocol (SEND) säkerhetsmekanismer för Neighbor Discovery Protocol (ND) för att använda RPKI för användning i IPv6. Den definierar en SEND-certifikatprofil som använder en modifierad RFC 6487 RPKI-certifikatprofil som måste inkludera en enda RFC 3779 IP-adressdelegeringstillägg.
externa länkar
- Verktyg tillhandahållet av Cloudflare för att testa om ISP gör RPKI-validering
- Verktyg från Cloudflare för att utforska RPKI
- RPKI-dokumentation med öppen källkod
- IETF Journal - Säkra BGP och SIDR
- En öppen källkodimplementering av den kompletta uppsättningen RPKI-protokoll och verktyg
- RTRlib - Open source RPKI-Router Client C Library
- NLnet Labs RPKI-verktyg med öppen källkod utvecklade i Rust
- Implementering av Quagga RPKI
- BGP-SrX - Quagga-routerimplementering av RPKI-baserad ursprungs- och sökvägsvalidering.
- RPKI-Monitor - Global och regional övervakning och analys av RPKI-distribution och användning.
- RPKI-distributionsstatistik för alla RIR
- Värmekarta för global ROA-distribution
- EuroTransit GmbH RPKI Testbädd
- BGPMON - Validerar BGP-meddelande med RPKI
- En APNIC-primer på RPKI
- Information om RIPE NCC Resource Certification (RPKI).
- LACNIC RPKI Information
- ARIN RPKI Information
- NRO uttalande om RPKI
- Internet Architecture Board uttalande om RPKI
- Bygga en ny styrningshierarki: RPKI och framtiden för Internet routing och adressering
- Secure Border Gateway Protocol (Secure-BGP)
- RPKI-routerimplementeringsrapport