IPsec Imagen

PROTOCOLO DE SEGURIDAD PARA IP.

IPSEC.

Es un protocolo que brinda seguridad en la transmisión de información sensitiva sobre redes sin protección como la Internet. IPSec actua en la capa de red, protegiendo y autentificando los paquetes IP ente dispositivos que manejen IPSec(peers).

Mecanismos de seguridad sobre redes IP.

INTERNET emplea como protocolo a nivel de capa de red a IP (Internet Protocol), el cual define un formato de estructura estándar para la transmisión de información llamado datagrama. Estos datagramas se encuentran compuestos de datos de un protocolo de capa superior (TCP o UDP típicamente) mas un encabezado conteniendo las direcciones de emisor y receptor e información de control.

IP es un protocolo no orientado a la conexión: esto significa que cada datagrama es tratado como una unidad independiente y eventualmente puede recorrer trayectos diferentes entre emisor y destino. Esto puede conducir a datagramas que llegan fuera de secuencia al destino o a la pérdida de algunos datagramas. La solución de estos problemas no se encuentra dentro del ámbito de incumbencia del protocolo IP sino que generalmente queda a cargo de protocolos de capa superior como TCP. El rol del protocolo IP se reduce entonces a definir una estructura de datagrama y un mecanismo de ruteo para que dichos datagramas puedan encontrar su camino desde el nodo origen al nodo destino.

El protocolo IP carece de mecanismos de seguridad. Esto posibilita la existencia de una amplia gama de mecanismos de ataque entre los cuales el llamado "IP Spoofing" sea posiblemente el mas conocido. En un ataque de este tipo el intruso genera datagramas que contienen una dirección falsa de origen con el objeto de "personificar" a un determinado nodo de la red o lograr autenticarse en un sistema que reconoce a sus usuario por su dirección IP.

En 1994 el Internet Engineering Task Force inicia un proyecto cuyo objetivo consiste en dotar de mecanismos de seguridad al protocolo IP. El mecanismo a diseñar debía cumplir con dos premisas básicas:

* Compatibilidad con infraestructura existente, tanto a nivel de equipos intermedios como de aplicaciones.

* Compatibilidad con leyes de control de exportación de mecanismos de criptografía fuera del territorio de los Estados Unidos.

Este proyecto dio como resultado dos mecanismos de autenticación aplicables sobre el protocolo IP, uno de ellos llamado IP Autentication Header y el otro IP Encapsulation Security Payload. Los resultados de este proyecto se encuentran resumidos en tres documentos fundamentales: RFC 1825, donde se presentan los conceptos básicos de seguridad a nivel de IP y los RFC 1826 y 1827 donde se detallan cada uno de los mecanismos de seguridad en particular.

IPSec Figura 1

MODELO BASICO DE COMUNICACION ENTRE 2 HOSTS, UTILIZANDO LA SEGURIDAD PARA IP.

Divisiones del IP.

DESCRIPCION DEL IP Autentication Header.
El mecanismo IP Autentication Header brinda servicios de autenticación e integridad a los datagramas IP, pero sin confidencialidad o privacidad para datagramas transmitidos. Los nodos que emplean esta tecnología pueden garantizar que los datagramas no sufren alteraciones o modificaciones en su trayecto y al mismo tiempo la identidad de los nodos participantes en la transmisión. La falta de confidencialidad puede ser considerada como una característica que permite exportar este tipo de tecnología a cualquier país sin las restricciones legales vigentes sobre los sistemas de criptografía en Estados Unidos.

LO QUE HACE
IP Autentication Header provee un servicio de autenticación mediante el cual los nodos participantes de una comunicación dan prueba de su identidad mediante la posesión de una clave secreta.

La integridad del datagrama se ve protegida por medio de una firma digital o calculo de integridad que el emisor realiza sobre la parte estática del datagrama (no incluye en este calculo por ejemplo al TTL ya que este se modifica al pasar por cada router). Esta firma digital es empleada por el receptor para controlar que los datos recibidos no hayan sido modificados a lo largo de su trayecto desde el emisor. IP AH contempla la aplicación de diferentes mecanismos para el calculo de la firma digital, empleándose de modo mas frecuente por su alta performance Message Digest 5 (MD5).

El emisor genera la firma digital antes de enviar el datagrama. Los procesos de fragmentación ocurren luego del calculo de la firma para datagramas salientes de un equipo y antes de el procesamiento de la firma para datagramas entrantes a un equipo.

El generador y usuario de IP Autentication Header coordinan las selección y uso del algoritmo y claves por medio de una «security association».

Un ejemplo de un paquete AH en modo túnel es:

IPhdr
H
Iphdr2
TCPhdr
datos

 

IP Encapsulation Security Payload

Si es necesario mantener privacidad de la información transmitida el protocolo de seguridad a emplear es IP Encapsulation Security Payload (IP ESP). Este mecanismo brinda servicios de autenticación, integridad y privacidad a los datagramas traficados entre dos nodos.
Existen dos modos de encriptado de datagramas: encriptado por medio de un túnel y encriptado a nivel de transporte.

IPSec Figura 2

En el modo de encriptado por túnel el sistema toma al datagrama a transmitir completo y lo encripta, colocando al resultado dentro de un nuevo datagrama con un encabezado estándar sin encriptar. La dirección destino del nuevo datagrama puede o no coincidir con la dirección destino del datagrama original, dependiendo si se trabaja con encriptado entre nodos finales o si se está empleando un equipo que opera como gateway de seguridad.

El encriptado a nivel de transporte solo brinda confidencialidad a los datos de protocolo de capa superior (típicamente TCP o UDP) contenidos dentro del datagrama IP. El encriptado en este caso no se aplica al datagrama completo.

El tipo de algoritmo empleado para el encriptado es un derivado de DES (Data Encryption Standard).

Igual que en el caso del IP AH, IP ESP emplea el concepto de «security association» por medio del cual los nodos acuerdan algoritmo, claves y otros parámetros necesarios para la comunicación. El SPI (Security Parameter Index) que identifica una SA previamente establecida se coloca sin encriptar en el encabezado del IP ESP. Este campo es empleado por el receptor para localizar la información necesaria para «leer» el datagrama encriptado.

IPSec Figura 3

Manejo de claves

Las claves empleadas para el encriptado de la información pueden ser asignadas por nodo por usuario. Si la clave es definida por nodo todos los usuarios que trabajan en un mismo nodo comparten una misma «security association» con el nodo destino. Claves asignadas por usuario permiten el establecimiento de múltiples asociaciones de seguridad entre dos nodos, cada una de ellas perteneciente a un usuario en particular. Si las claves se manejan por nodo y no por usuario la privacidad de la información se encuentra comprometida.

Dado que el manejo de claves solo se encuentra enlazado con IP AH o IP ESP por medio del Security Parameters Index (SPI) es posible realizar una especificación completa de AH y ESP sin necesidad de definir los mecanismos de distribución de claves a emplear.

Hasta la fecha no se encuentra definido un estándar para la distribución de claves, siendo este aspecto resuelto de diferente modo por distintos fabricantes. Entre las alternativas posibles se encuentran los sistemas de claves compartidas, la distribución manual de claves o los sistemas de claves públicas y privadas por medio de tecnologías como RSA o DSA. El empleo de un sistema de seguridad a nivel de IP a gran escala requiere necesariamente de una infraestructura de administración y distribución de claves, generalmente basado en claves publicas y privadas.

En este aspecto la IETF se encuentra trabajando en la incorporación de la infraestructura de claves públicas dentro de la funcionalidad de Domain Name Service (DNS). De este modo será posible emplear a los servidores de DNS como repositorio de claves públicas empleadas por los mecanismos de autenticación de IP mencionados.

IPSec Figura 4

Apreciación global del sistema IPsec.

IPSec Desarrollo

La implementación de IPsec funciona en servidores o en un entorno seguro ofreciendo protección al tráfico IP. Esta protección está basada en requerimientos definidos por la política de seguridad en Bases de Datos (SPD), establecida y mantenida por el usuario y el administrador, o por las aplicaciones. Los paquetes se seleccionan por uno de los tres modos de procesamiento basado en la capa de transporte IP, correspondientes a cada entrada en la Base de Datos. Cada paquete recibe los servicios de seguridad ofrecidos por IPsec, de manera que este los deja pasar o los descarta.

Cómo trabaja IPsec?

IPSec utiliza dos protocolos para proveer al tráfico de seguridad:

Autenthification Header (AH)-- suministra integridad en la conexión, autentificación de los datos originales y un servicio opcional para repeler los mensajes de respuesta.

Encapsulating Security Payload (ESP)-- puede suministrar confidencialidad de los datos mediante la encriptación de los mismos, y limitar el flujo de tráfico confidencial. También proporciona integridad en la conexión y un servicio anti-repetición de mensajes.

Estos dos protocolos se dedican a controlar el acceso, y son los que distribuyen las claves criptográficas de la seguridad del flujo de tráfico. No pueden ser aplicados conjuntamente. Cada uno de los protocolos antes mencionados soportan dos modalidades de uso: modo transporte (transport mode) y modo túnel (tunnel mode).

IPsec permite al usuario o al sistema administrador controlar la granularidad del servicio que es prestado. Incorpora facilidades para la especificación de qué servicios de seguridad se quieren usar y en qué combinaciones, la granularidad que va a ser aplicada y los algoritmos para la encriptación.

Como estos servicios de seguridad usan claves compartidas, IPsec se vale de mecanismos adicionales para ponerlas en su sitio. Estas claves se usan para la autentificación de la integridad y la encriptación y desencriptación de los paquetes.

Dónde puede ser implementado IPsec?

Hay varias maneras en las que se puede implementar IPsec, en un servidor o en un router o un cortafuegos para proporcionar una pasarela segura. Las mas comunes son:

a. Integrar IPsec en la implementación nativa de IP --requiere tener acceso al código fuente de IP, y se puede aplicar tanto a servidores como a pasarelas.

b. "Bump In The Stack" (BITS) implementación -- donde IP está implementado oculto junto con una pila (por eso lo de stack), que se da entre los drivers de la máquina e IP.

c. "Bump In The Wire" (BITW) implementación -- utiliza un procesador de encriptación fuera de la máquina. Puede ofrecer servicios tanto a servidores como a pasarelas. Cuando atiende a un solo servidor, resulta igual a la implementación BITS, pero en un router o un cortafuegos se debe operar bajo una pasarela segura.

Definición y Alcance.

Una Asociación de Seguridad (SA) es una conexión unidireccional que aporta servicios de seguridad al tráfico que pasa por ella. Estos servicios de seguridad son ofrecidos a la SA por el uso de AH o ESP, pero nunca ambos juntos. Para obtener una comunicación bidireccional segura entre dos servidores o entre dos pasarelas una SA en cada extremo de la comunicación es imprescindible.

Para identificar una SA, existe un triple parámetro consistente en: una dirección IP, un parámetro índice (Security Parameter Index SPI)y el identificador del protocolo de seguridad (AH o ESP).

SA y Manejo de claves

IPsec soporta el manejo de claves automático y manual para SA y su encriptación. Los dos protocolos pertenecientes a IPsec son totalmente independientes de estas técnicas, aunque las técnicas invocadas pueden afectar a la seguridad ofrecida por ambos protocolos. Además, la granularidad de la distribución de claves empleada con IPsec determina la granularidad de la autentificación proporcionada.

En general, la autenfiticación de los datos originales en AH y ESP está limitada por los secretos del algoritmo de encriptación, y el manejo de claves, que son compartidas por múltiples fuentes.

Técnicas manuales.

Es la mas simple de las técnicas, en la que una persona configura manualmente cada sistema con claves y SA aplicables para asegurar la seguridad de comunicación con otros sistemas. Estas técnicas manuales se utilizan en entornos pequeños y estáticos. En estos sistemas, no todo el tráfico se puede proteger, cierto tráfico seleccionado será al que se le proporcione seguridad.Las técnicas manuales a menudo emplean configuraciones estáticas y claves simétricas.

SA automatizadas y el Manejo de claves.

Está muy extendido que para el manejo de IPsec se necesita un Internet estandarizado y automatizado y con protocolos manejadores de SA's. Este soporte se requiere para facilitar el anti-eco, rasgo característico de los protocolos AH y ESP, y la creación de SA's según la demanda.

El protocolo manejador de claves por defecto seleccionado cuando se usa IPsec es IKE, bajo el dominio de IPsec y su interpretación. Otros protocolos manejadores de claves pueden ser también empleados siempre que se ajusten a los requerimientos de IPsec.

Cuando un protocolo automático para manejar claves y SA está trabajando, la salida de este protocolo se suele usar para generar múltiples claves, que se necesitan porque:

a. los algoritmos de encriptación utilizan múltiples claves.
b. el algoritmo de autentificación utiliza múltiples claves.
c. juntos los puntos a y b se benefician de esta generación de múltiples claves.

Trafico procesado por IP.

Todos los algoritmos criptográficos usados en IPsec transmiten en un riguroso orden, y reciben en un orden estricto. Así todos los paquetes IP son transmitidos a la red en el mismo orden.

Tráfico entrante a IP.

Antes de ejecutar AH o ESP, se reagrupan todos los fragmentos del paquete IP. Cada datagrama IP entrante que necesita procesamiento IPsec, se identifica porque aparecen los valores de AH o ESP en el campo "IP Next Protocol" .

Procesamiento ICMP relativo a IPsec.

El tráfico ICMP no relativo a seguridad se debe tratar exáctamente igual a como se hacía anteriormente y puede ser protegido en una base "end-to-end" usando SAs como se ha ido haciendo hasta ahora. Un mensaje de error ICMP protegido por AH o ESP generado por un router debe ser procesado y dirigido a un túnel tipo SA. La política local debe determinar si va a ser subordinado a la dirección fuente detectada por el router. Cabe resaltar que si el router del fin del túnel que se está generando está conduciendo un mensaje ICMP de error de otro router, la comprobación de dirección fuente fallará. Un mensaje ICMP generado por un host debe ser comprobada en los "source IP address selectors" unidos al SA cuando el mensaje llega. Esto es así porque aunque se haya autentificando el origen del mensaje de error ICMP, la cabecera IP devuelta puede ser no válida.