Cada vez aparecen más noticias relacionadas con la escasez de nuevas direcciones IP (IPv4) y el problema es que todavía no es posible prescindir de ellas porque seguimos en la etapa de ‘transición’ a la siguiente generación, IPV6.

Columna de Luis del Ser, Co-Fundador de Movilok.

Todos los dispositivos que son accesibles desde Internet están identificados por su dirección IP, un número identificativo único, que permite dirigir las peticiones que se generan desde cualquier otro dispositivo que está conectado a esa red.

Cuando nació Internet, se decidió que para representar la dirección (dirección IPv4) de cada dispositivo en esa red se utilizara un número de 32 bits.  Esto permite disponer de cerca de 4.300 millones de direcciones y, en aquellos momentos, esto parecía ser un número suficientemente alto de alcanzar. Nada hacía pensar que la demanda de dispositivos conectados podía llegar a crecer hasta las dimensiones actuales en las que tenemos millones de teléfonos móviles y otros dispositivos IoT conectados a Internet.

Este problema de escasez no se percibe al hacer uso de Internet accediendo a servicios con aplicaciones o desde el navegador. Sin embargo, cuando queremos hacer público en internet un nuevo dispositivo o dar de alta un servicio on-line el problema comienza a ser visible.  Es en estos casos donde se hace necesario aplicar alguna estrategia de aprovechamiento eficiente de estas direcciones. Las alternativas para hacerlo han ido variando con el tiempo y también han afectado de forma distinta a aspectos relacionados con la seguridad de la información.  

Internet está formada por una amalgama de tecnologías y dispositivos que no se renuevan ni actualizan a una única velocidad; por eso muchas de las técnicas siguen estando presentes y coexisten con las demás. 

Servicios HTTP

Luis del Ser, Co-Fundador de Movilok

Inicialmente, un procedimiento habitual para publicar un nuevo servicio en Internet, como por ejemplo una página web, era disponer de un nombre de dominio y de una dirección IP pública que se asociaba a una máquina servidora física. La asociación entre ambos se mantiene mediante un elemento que forma parte de la infraestructura de Internet, los Servidores de Dominio (DNS), que actúan a modo de base de datos que relaciona nombres de dominio con direcciones IP.  

Por ejemplo, para intentar acceder a esa página web un navegador, primero éste realiza una petición al servidor de DNS para obtener la dirección IP del servidor. Con la dirección IP, el navegador se dirige directamente al servidor intercambiando mensajes de acuerdo a protocolo de comunicación HTTP. El resultado de la respuesta es la página presentada en el navegador.

Un mismo servidor puede tener asignada más de una dirección IP. Esto permitió compartir el servidor, que era el recurso más escaso y costoso en esos momentos, para ofrecer servicios web de distintos dominios.

Servidores Virtuales basados en IP y en Nombre

Como evolución, pronto comenzó a utilizarse el concepto de ‘servidor virtual’ que actúa como un nivel adicional de separación entre Internet y otras máquinas internas de una red. Los servidores virtuales responden por las direcciones IP públicas y son los encargados de distribuir las peticiones hacia los servidores internos responsables de cada servicio.  Este funcionamiento es lo que se denomina en inglés ‘IP-based Virtual Hosting’.

Como las peticiones y respuestas de las comunicaciones en HTTP se envían en texto no cifrado, el servidor (y cualquiera que pueda interceptar esa comunicación) es capaz también de leer otra información que se envía como parte de cada petición:  el nombre de la página y servidor destino.

Un servidor virtual puede configurarse para utilizar esta información del nombre a la hora de identificar y redirigir la petición al servidor interno. Al utilizar el nombre del dominio en lugar de la dirección IP hay más flexibilidad, puesto que varios nombres de dominio pueden estar asociados a una misma dirección IP.  

Este funcionamiento del servidor virtual basado en nombres se denomina ‘Name-Based Virtual Hosting’ y permite ir incorporando nuevos servicios a Internet sin consumir necesariamente nuevas direcciones IP.

Estas dos estrategias eran las más habituales en el momento en el que aparecieron los primeros móviles con navegador. En aquellos momentos Internet estaba basada en su mayoría en HTTP y todo lo relacionado con seguridad y privacidad no era tan relevante como ahora.

Comunicaciones cifradas con HTTPS

Con el crecimiento de servicios en Internet, la seguridad de la información ha pasado a tener un papel central, y el uso de HTTP ha sido desplazado por su evolución segura, HTTPS, que utiliza una capa adicional para cifrar la comunicación entre los dos extremos de la comunicación. El cifrado se apoya en un certificado de cada dominio que está emitido por una Entidad Certificadora con reconocimiento y que proporciona características de seguridad en el ámbito de la integridad, autenticación y confidencialidad.

El proceso de comunicación con HTTPS es un poco más complicado porque existe un paso previo en el que el navegador solicita el certificado digital a la IP del servidor; en el momento de esa petición, el servidor todavía desconoce la página que está intentando buscar el navegador.   

El navegador compara el nombre que aparece en el certificado que le ha proporcionado el servidor con el nombre de la página con la que intenta conectarse. Si los nombres coinciden, la comunicación continúa como se hacía en HTTP. Si los nombres no coinciden, el visitante no verá el sitio web sino un mensaje de advertencia, posiblemente seguido de una desconexión del sitio web, esto es así puesto que la conexión fallida podría indicar un ataque de tipo man-in-the-middle.

La comunicación para intercambiar los certificados se ha realizado mediante TLS, uno de los protocolos que forma parte de HTTPS, pero TLS únicamente sabe de direcciones IP, no de nombres.  Como consecuencia, cada certificado debe tener asociada una dirección IP propia con lo que ya solo es posible utilizar la estrategia de ‘IP-based Virtual Hosting’. 

El resultado es que se ha pasado a un escenario mucho más seguro, pero a cambio de desaprovechar de nuevo las direcciones IPV4.

SNI y la privacidad 

Server Name Indication (SNI) es una extensión de TLS que aborda este problema haciendo que se incluya el nombre del dominio dentro del proceso de negociación del cifrado del canal.  Esto permite volver a una estrategia de ‘‘Name-Based Virtual Hosting’ que aprovecha de nuevo una misma IP con varios certificados de diferentes dominios.

El nombre utilizado por SNI lo incluye el navegador y lo utiliza el servidor, con lo que es necesario que los dos extremos de la comunicación (cliente y servidor) tengan activado SNI. 

Es sencillo habilitar SNI en las versiones recientes de los servidores web. En el otro extremo, el navegador, hay menos capacidad de control, porque depende de la actualización en el dispositivo y por parte de los usuarios. Todavía se estima que hay un porcentaje cercano al 10% de navegadores que no soportan SNI. La mayoría están en navegadores de móviles antiguos (Android 2.3 o anteriores, Nokia con Symbian, algunas versiones de navegador de BlackBerry y Windows Mobile) o Internet Explorer 8 sobre Windows XP.  

En estos casos cuando los navegadores acceden al servidor, éste les devuelve el certificado que tengan configurado por defecto. Si no es el esperado, no conseguirán conectarse a la página o al servicio.

El uso de SNI deja sin embargo otra puerta abierta: el propio SNI no va cifrado y el nombre del servidor de destino se envía en claro en las comunicaciones TLS.  Esto significa que es técnicamente posible monitorizar la comunicación a ese nivel de protocolo y conocer el servidor al que se desea navegar. 

Esto hace que sea posible recolectar información de los sitios a los que se navega, filtrar o incluso censurar el acceso a determinados servicios si se tiene acceso a la infraestructura de red desde la que el usuario accede a Internet.  Todo ello a pesar de estar utilizando HTTPS.

Este agujero de privacidad no está todavía cerrado, pero se está desarrollando un nuevo estándar de SNI-cifrado que se denomina ESNI (de ‘encrypted’ SNI), que cifra también el intercambio del nombre. 

SNI no es la única solución y existen otras alternativas que abordan parcialmente el problema como el uso de certificados ‘wildcard’ (comodín), que permite que un único certificado sea válido para un dominio y sus subdominios; también existen certificados multidominio que son aplicables en servidores con algunas restricciones y limitaciones por lo que no son tampoco una solución de futuro.

IPv6

El problema de agotamiento de direcciones de IPv4 está identificado desde hace bastantes años, y por eso surgió la especificación de IPv6, una nueva generación de protocolos para internet con un espacio de direcciones mucho mayor, pasando de 32 a 128 bits.  

Este cambio del número de bits es suficiente para direccionar tantos dispositivos como átomos hay en la tierra con lo que cada dispositivo podría utilizar una dirección IP propia y estar accesible desde Internet con un protocolo cifrado de extremo a extremo. 

Cuando la mayoría de Internet se base en IPv6, parece que el problema de las direcciones y la privacidad puede quedar despejado otra vez durante bastante tiempo. 

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

TE PUEDE GUSTAR

RECIBE LA NEWSLETTER

*Email: *Nombre apellidos: *Empresa: Cargo: Sector:

 
Please don't insert text in the box below!

ARTÍCULOS MÁS RECIENTES

ESCUCHA NUESTRO PODCAST

SÍGUENOS EN RRSS

MÁS COMENTADOS

Ir arriba