Podcast de Redes de Eduardo Collado

Podcast de Redes de Eduardo Collado


Resource Public Key Infrastructure (RPKI)

September 07, 2020

RPKI permite a los titulares de direccionamiento público IP declarar sus recursos de forma verificada gracias a una cadena de certificados.

El motivo de utilizar RPKI es conseguir que el encaminamiento en Internet sea más seguro.

RPKI está siendo promovido por mucha gente, desde desarrolladores de software libre, proveedores de hardware, podcasters, ¿verdad que sí?, y por supuesto los cinto RIR (Registros Regionales de Internet): ARIN, APNIC, AFRINIC, LACNIC y por supuesto nuestro RIPE NCC

Actualmente, RPKI se utiliza para permitir que el titular legítimo de un bloque de direccionamiento IP haga una declaración autorizada sobre qué AS está autorizado para originar su prefijo en BGP. Además, todo el Mundo puede descargar y validar estas declaraciones y tomar decisiones de enrutamiento basadas en ellas. Este proceso se conoce como validación del origen de la ruta (ROV – Route Origin Validator).

El objetivo final de RPKI no es más que proporcionar la validación de los prefijos en Internet.

ROA

Antes de nada tenemos que saber qué es el ROA (Route Origin Authorization). Una ROA es una declaración firmada que consta de un prefijo, una longitud máxima de prefijo y un ASN de origen.

Porción de la lista de ROAs de Tecnocrática en el Lir Portal de RIPE NCC

Por cada prefijo podemos tener el ROA en tres posibles estados:

* Desconocido* Inválido* Válido

Una vez que ya sabemos lo que es el ROA ya podemos empezar con RPKI. En RPKI, los certificados de los recursos dan fe de la asignación por parte del emisor de direcciones IP o números de AS al usuario final.

Jerarquía RIR y certificados

Como resultado, la jerarquía de certificados en RPKI sigue la misma estructura que la jerarquía de asignación de recursos de números de Internet, con la excepción del nivel IANA porque claro, IANA en el tema de RPKI está fuera.

En cambio, cada uno de los cinco RIR ofrece un CA raíz del que se deriva una cadena de confianza para los recursos que administra cada uno de ellos.

Sistema de CA raíz para los RPKI

Algo más que tenemos que saber es que los certificados digitales utilizados en RPKI están basados ​​en X.509,

Algo que podría alguien decir es que los certificados X.509 se utilizan para autenticar individuos o webs y claro, en RPKI los certificados no tienen información de identidad.

BGP y RPKI

Otro tema a saber cuando se habla de RPKI es BGP, nuestro protocolo de routing favorito, pero como ya hemos hablado bastante de BGP no vamos a volver a liarnos la manta a la cabeza.

Llegados a este punto tenemos que pensar en cómo vamos a securizar BGP, porque RPKI nos va a servir básicamente para validar si una ruta es de quien dice ser o no, para evitar entre otras cosas secuestro de prefijos BGP o BGP hijacking.

Vamos a imaginar que hemos recibido el prefijo 217.18.32.0/22 generado en el AS15954, es decir Tecnocrática.

Pues vamos a ver el ROA y el ROA nos dice que ese rango se tiene que generar en el AS que hemos dicho, pero el most specific length allowed es de 20 y en el prefijo recibido es de 22, así que tendríamos un problema porque el prefijo no coincidiría con la información del ROA con lo cual la ruta sería invalida.