UNIVERSIDAD DE PAMPLONA FACULTAD DE INGENIERIAS Y ARQUITECTURA DEPARTAMENTO DE INGENIERIA ELECTRONICA, ELECTRICA, TELECOMUNICACIONES Y SISTEMAS



Documentos relacionados
CONTENIDO. 10. Protocolo RIPng 11. Direcciones IPv6

IPSEC. dit. Objetivo: proporcionar a IP (IPv4( IPv4, IPv6) ) mecanismos de seguridad. Servicios de Seguridad

TELECOMUNICACIONES Y REDES

Semana 11: Fir Fir w e a w lls

IP v6. :: Redes :: Redes : : IP v6. transporte. red. enlace. física. aplicación. Versión 28/02/11

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

ipsec Qué es ipsec? IPSec: seguridad en Internet

CRIPTOGRAFÍA SIMÉTRICA Y ASIMÉTRICA

REDES INFORMATICAS: Protocolo IP

Presentado a: Milton García. Presentado por: Paula Díaz Heidy solano Wilmar Albarracín

IP versión 6 TRABAJO DE INVESTIGACIÓN CARLOS ITURRIETA

Introducción a la Firma Electrónica en MIDAS

Capítulo 5. Recomendaciones

Introducción. Algoritmos

(decimal) (hexadecimal) 80.0A.02.1E (binario)

Capas del Modelo ISO/OSI

DIRECCIONAMIENTO IPv4

GLOSARIO. Backbone.- Nivel más alto en una red jerárquica, generalmente el más rápido y capaz de transportar la mayoría del tráfico en una red.

Bloque IV: El nivel de red. Tema 10: Enrutamiento IP básico

Direcciones IP IMPLANTACIÓN DE SISTEMAS OPERATIVOS 1º ASIR. En redes IPv4.

CFGM. Servicios en red. Unidad 2. El servicio DHCP. 2º SMR Servicios en Red

BREVE INTRODUCCIÓN A IPSEC

La vida en un mundo centrado en la red

Arquitectura de seguridad OSI (ISO )

UNIDADES DE ALMACENAMIENTO DE DATOS

UNLaM REDES Y SUBREDES DIRECCIONES IP Y CLASES DE REDES:

CRIPTOGRAFIA. Qué es, usos y beneficios de su utilización. Universidad Nacional del Comahue

Capítulo 8, Sección 8.6: IPsec

EL MODELO DE ESTRATIFICACIÓN POR CAPAS DE TCP/IP DE INTERNET

Resumen del trabajo sobre DNSSEC

Práctica 5. Curso

Seguridad en el nivel de Red. Arquitectura de seguridad IPSEC. José María Sierra

Componentes de Integración entre Plataformas Información Detallada

Introducción a la Administración de una Red bajo IP

Semana 13: Encriptación. Cifrado simétrico

DIPLOMADO EN SEGURIDAD INFORMATICA

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED

Redes Privadas Virtuales Virtual Private Networks

Arquitectura de Redes y Comunicaciones

Ayuda de Symantec pcanywhere Web Remote

Una ACL es una lista secuencial de sentencias de permiso o denegación que se aplican a direcciones IP o protocolos de capa superior.

VPN RED PRIVADA VIRTUAL INTEGRANTES: ALEXANDER BERNAL RAMIREZ CARLOS TRANCA JOSUE FLORES MIGUEL ANGEL VILLANUEVA

Encriptación en Redes

Seguridad en Redes Protocolos Seguros

Informàtica i Comunicacions Plaça Prnt. Tarradellas, FIGUERES (Girona) Tel Fax

CONVERSIÓN DE UN NÚMERO EN BINARIO A DECIMAL Y VICEVERSA

Gran número de usuarios accediendo a un único servicio y con un único protocolo. Servidores y clientes con distintos protocolos.


Como sabemos, en un Sistema de Comunicación de Datos, es de vital importancia

OBJETIVOS DE APRENDIZAJE

Funciones Avanzadas de los Firewalls. Ing. Camilo Zapata Universidad de Antioquia

Ing. Cynthia Zúñiga Ramos

TEMA: PROTOCOLOS TCP/IP

Unidad I: La capa de Red

7. VLSM. IST La Recoleta

FUNDAMENTOS DE REDES CONCEPTOS DE LA CAPA DE RED

El Protocolo IP. Tema 3. Servicio y Protocolo IP. Aplicaciones en Redes Locales 05/06

Seguridad de la información: ARP Spoofing

MANUAL DE USUARIO DE OFICINA CONECTADA

8 Conjunto de protocolos TCP/IP y direccionamiento IP

Univ. de Concepción del Uruguay Facultad de Ciencias Agrarias Ingeniería Agrónoma

MANUAL COPIAS DE SEGURIDAD

Instalación y mantenimiento de servicios de Internet. U.T.3.- Servicio DNS

Departamento CERES Área de Tarjetas Inteligentes Manual de Usuario

Fundación Universitaria San. Direccionamiento IP

Activación de un Escritorio Remoto

Capa de red de OSI. Semestre 1 Capítulo 5 Universidad Cesar Vallejo Edwin Mendoza emendozatorres@gmail.com

CONFIGURACIÓN DEL ADAPTADOR DE RED EN LINUX

Semana 14: Encriptación. Cifrado asimétrico

Clase 26 Soluciones al problema de direccionamiento Tema 7.- Ampliación de temas

3.INSTALACIÓN Y CONFIGURACIÓN DE LOS EQUIPOS DE RED

Capa de TRANSPORTE. Ing. José Martín Calixto Cely Original: Galo Valencia P.

Protocolos y técnicas alternativas al WEP. En este capítulo se presentan algunos protocolos y técnicas que ofrecen mayores

Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas. Capa de Red. Mérida - Venezuela Prof. Gilberto Díaz

Mecanismos de protección. Xavier Perramon

LINEAMIENTOS DE ESQUEMAS DE SEGURIDAD DE LA INFORMACIÓN

Roles y Características

Introducción a la Seguridad con IP Seguro en Internet (IPSec)

Examen Cisco Online CCNA4 V4.0 - Capitulo 7. By Alen.-

DIRECCIONAMIENTO DE RED. Direcciones IPv4

SISTEMAS DE NOMBRES DE DOMINIO

Dispositivos de Red Hub Switch

cambiar la dirección IP) con independencia de la localización, movimiento e infraestructura de red utilizada.

Proceso de cifrado. La fortaleza de los algoritmos es que son públicos, es decir, se conocen todas las transformaciones que se aplican al documento

INSTITUTO TECNOLÓGICO DE SALINA CRUZ. Fundamentos De Redes. Semestre Agosto-Diciembre Reporte De Lectura

Redes Privadas Virtuales (VPN)

INSTITUTO TECNOLÓGICO ESPAÑA

Módulo Nº 7. Aspectos de Seguridad en Redes de Área Extendida

Fundamentos de Redes LI. Unidad III Modelos de Comunicaciones 3.1 Modelo de referencia OSI.

Protocolos de Interconexión de Redes

Criptografía. Por. Daniel Vazart P.

Diseño de redes VPN seguras bajo Windows server 2008

Eduardo Cruz Romero.


Propuesta de Portal de la Red de Laboratorios Virtuales y Remotos de CEA

Cómo afrontar la Seguridad en Redes Abiertas: Consideraciones Técnicas y Escenarios.

INTRODUCCIÓN. El protocolo TCP, funciona en el nivel de transporte del modelo de referencia OSI, proporcionando un transporte fiable de datos.

Redes I Soluciones de la Práctica 1: /etc/network/interfaces, tcpdump y wireshark

Redes (4º Ing. Informática Univ. Cantabria)

El Modelo de Referencia OSI

Transcripción:

UNIVERSIDAD DE PAMPLONA FACULTAD DE INGENIERIAS Y ARQUITECTURA DEPARTAMENTO DE INGENIERIA ELECTRONICA, ELECTRICA, TELECOMUNICACIONES Y SISTEMAS TRABAJO DE GRADO PRESENTADO PARA OPTAR POR EL TITULO DE INGENIERO DE SISTEMAS TITULO: ANÁLISIS DEL PROTOCOLO IPSec EN AMBIENTE IPv6 AUTOR: Sandra Milena Sandoval Carrillo PAMPLONA, COLOMBIA NOVIEMBRE, 2006

UNIVERSIDAD DE PAMPLONA FACULTAD DE INGENIERIAS Y ARQUITECTURA PROGRAMA DE INGENIERÍA DE SISTEMAS ANTEPROYECTO DE GRADO PARA OPTAR POR EL TÍTULO DE INGENIERO DE SISTEMAS TÍTULO: ANÁLISIS DEL PROTOCOLO IPSec EN AMBIENTE IPv6 AUTOR: Sandra Milena Sandoval Carrillo NOMBRES Y FIRMAS DE AUTORIZACIÓN: DIRECTOR: M.Sc. Luz Marina Santos Jaimes COMITÉ DE GRADO: M.Sc. Sandra Aranguren Zambrano PAMPLONA, COLOMBIA NOVIEMBRE, 2006

UNIVERSIDAD DE PAMPLONA FACULTAD DE INGENIERIAS Y ARQUITECTURA PROGRAMA INGENIERIA DE SISTEMAS AUTORIZACION PARA SUSTENTAR TRABAJO DE GRADO PARA OPTAR POR EL TITULO DE INGENIERO DE SISTEMAS TITULO: ANÁLISIS DEL PROTOCOLO IPSec EN AMBIENTE IPv6 AUTOR: SANDRA MILENA SANDOVAL CARRILLO DIRECTOR DEL TRABAJO: M.Sc. LUZ MARINA SANTOS JAIMES JURADO CALIFICADOR: Oponente: M.Sc. HERNANDO CASTAÑEDA Presidente: Ing. MERCEDES ROZO Secretario: Ing. DEWAR RICO PAMPLONA, COLOMBIA NOVIEMBRE 2006

ANÁLISIS DEL PROTOCOLO IPSec EN AMBIENTE IPv6

DEDICATORIA

AGRADECIMIENTOS

ABSTRACT By means of this work it is tried to document the project Network IPv6 UP which is being carried out in the investigation group in Computer Science (CICOM), Department of Systems Engineering, with the purpose of implanting the IPv6 network protocol under the IPSec architecture as a test in a segment of the University of Pamplona data network, so that general characteristics of IPv6 and their IPSec extension of security will be studied. The main reason that takes to make this investigation, is the importance that for the investigation group CICOM of the University of Pamplona has involved being in investigation tasks which imply last generation technologies; one of most significant could be defined as the need to analyze, to handle, to experience and to explore the new protocols with the purpose of being to the vanguard of the investigation in these subjects at regional and national level. In order to achieve this intention, initially the theoretical bases on which IPv6 is based are studied in the present document, also the characteristics and communication mechanisms between machines that implement this protocol are analyzed, next the IPSec extension and their types of security association are described, later the three protocols used by IPSec are considered. Finally the applied tests are documented by means of the IPv6 protocol with their IPSec extension of security.

RESUMEN Por medio de este trabajo se logra un objetivo del proyecto Red IPv6 UP el cual se esta llevando a cabo en el grupo de Investigación Ciencias Computacionales (CICOM), Programa de Ingeniería de Sistemas, con el fin de implantar el protocolo de red IPv6 bajo la arquitectura IPSec a modo de prueba en un segmento de la red de datos de la Universidad de Pamplona, de esta forma se estudiarán características generales de IPv6 y su extensión de seguridad IPSec. El principal motivo que lleva a realizar esta investigación, es la importancia que para el grupo de investigación CICOM de la Universidad de Pamplona reviste el estar involucrado en tareas de investigación que implican tecnologías de última generación; una de las más relevantes se podría definir como la necesidad de analizar, manejar, experimentar y explorar los nuevos protocolos con el fin de estar a la vanguardia de la investigación en estos temas a nivel regional y nacional. Para lograr este propósito, inicialmente se estudian en el presente documento las bases teóricas sobre las cuales se fundamenta IPv6, también se analizan las características y mecanismos de comunicación entre máquinas que implementan este protocolo, seguidamente se describe la extensión IPSec y sus tipos de asociación de seguridad, después se consideran los tres protocolos utilizados por IPSec. Por último se documentan las pruebas realizadas aplicando el protocolo IPv6 con su extensión de seguridad IPSec.

Tabla de Figuras Figura 1. Datagrama IPv6...20 Figura 2. Datagrama IPv4...20 Figura 3. Encapsulado del Datagrama IPv6 en IPv4...24 Figura 4. Túnel Manual...24 Figura 5. Arquitectura de IPSec...26 Figura 6. Modo Transporte y Túnel...29 Figura 7. Algoritmos Utilizadas por IPSec...30 Figura 8. Esquema de Criptografía Asimétrica...33 Figura 9. Esquema de Criptografía Simétrica...34 Figura 10. Esquema 3DES...36 Figura 11. Cabecera de Autenticación (AH)...37 Figura 12. Funcionamiento del Protocolo AH...40 Figura 13. Estructura del Datagrama IPSec...40 Figura 14. Cabecera de Cifrado de Seguridad (ESP)....41 Figura 15. Funcionamiento del Protocolo ESP...44 Figura 16. Estructura del Datagrama IPSec...44 Figura 17. Funcionamiento del Protocolo IKE...46 Figura 18. Esquema de Conexión para la prueba con IPv6...48

CONTENIDO INTRODUCCION 12 1 IPv6 14 1.1 Introducción al Protocolo TCP/IP 14 1.2 Protocolo IPv6 15 1.3 Modelos de Direccionamiento 16 1.3.1 Representación de Direcciones IPv6 17 1.4 Formato del Datagrama IPv6 19 1.4.1 Formato de la Cabecera 21 1.4.2 Formato del Campo de Datos 22 1.5 Mecanismos de Transición 23 1.5.1 Dual Stack 23 1.5.2 Túneles 23 2 PROTOCOLO IPSec 26 2.1 Descripción del Protocolo IPSec 26 2.1.1 Asociación de Seguridad SA (Security Association) 28 2.1.2 Modos de Operación en IPSEC 29 2.2 Métodos de Seguridad en IPSEC 29 2.2.1 Funciones Resumen (hash) 31 2.2.2 Criptografía Asimétrica 31 2.2.3 Criptografía Simétrica 34 2.3 PROTOCOLO AH 37

2.3.1 Campos de la Cabecera de Autenticación (AH) 38 2.3.2 Funcionamiento del protocolo AH 39 2.4 PROTOCOLO ESP 41 2.4.1 Cabecera de Cifrado de Seguridad (ESP) 41 2.4.2 Funcionamiento del Protocolo ESP 43 2.5 PROTOCOLO IKE 44 3 PRUEBAS REALIZADAS 47 3.1 Configuración General 47 3.2 Configuración de IPv6 en un Equipo Red Hat Linux 9 48 3.2.1 Configuración IPv6 48 3.3 Configuración y Prueba de IPSec para IPv6 53 3.3.1 Instalación de Frees/wan 53 3.4 Creación de Túneles IPv6 en IPv4 en Red Hat Linux 59 CONCLUSIONES 61 RECOMENDACIONES 62 BIBLIOGRAFIA 63

Análisis del Protocolo IPSec en Ambiente IPv6 INTRODUCCION El protocolo Internet Protocol IP, es uno de los más usados para la interconexión de redes tanto en ambientes académicos como corporativos, y naturalmente lo es también en la Internet pública. La fuerza de IP radica en su facilidad y su flexibilidad para el envío de grandes volúmenes de información en pequeños datagramas a través de los diversos esquemas de enrutamiento. Sin embargo, IP presenta ciertas debilidades, la forma en que el protocolo enruta los datagramas hace que las grandes redes IP sean vulnerables a ciertos riesgos de seguridad. Debido a los problemas de implementación aparecidos con la versión del protocolo estándar de Internet, IPv4 (Internet protocolo versión 4), se vio la necesidad de desarrollar mecanismos específicos para el mejor funcionamiento de la red, dando cabida a nuevas versiones del protocolo IP tales como IPv6 extensión IPSec. La tecnología de IPSec se basa en criptografía moderna, lo que garantiza, por un lado, la privacidad y, por otro, una autentificación fuerte de datos. Las características de IPSec lo hacen único debido a que implementa seguridad en la capa de red más que en la de aplicación. La realización de pruebas con IPv6 extensión IPSec, constituye un aspecto fundamental en los procesos de transición y utilización de aplicaciones futuras y actuales modificadas para hacer uso de las ventajas operativas ofrecidas por IPv6. A nivel latinoamericano, fue México el pionero en la investigación y realización de pruebas con el protocolo IPv6, seguido de países como Chile, Argentina, 12

Análisis del Protocolo IPSec en Ambiente IPv6 Uruguay, Brasil, entre otros. En Colombia apenas se está comenzando a incursionar en la temática de IPv6: UniNet, una Red Universitaria, sin ánimo de lucro cuyo fin es integrar servicios proporcionados a través de Internet, para ofrecerlos a comunidades virtuales, creadas por personas y organizaciones, lidera un proyecto de implementación de redes basadas en este protocolo, del cual ya forman parte la universidad de Magdalena y la del Cauca. 13

Análisis del Protocolo IPSec en Ambiente IPv6 1 IPv6 1.1 Introducción al Protocolo TCP/IP Las familias de protocolos TCP/IP permiten la comunicación entre diferentes tipos de ordenadores con independencia del fabricante, red a la que se encuentren conectados y sistema operativo utilizado. El Protocolo de Control de Transmisión TCP (Transmission Control Protocol) es el encargado de controlar la división de la información en segmentos. El Protocolo de Internet IP (Internet Protocol) es un protocolo no orientado a conexión usado por el origen y destino para la transmisión de datos, esto lo hace etiquetando los datagramas con las direcciones IP de los dos computadores; funciones que son realizadas en la capa de red del modelo OSI 1, de esta manera, garantiza que los datos sean entregados al destinatario correcto, pero no garantiza que el datagrama alcance su destino. La versión utilizada actualmente es la IP versión 4 (IPv4), tiene un diseño flexible y poderoso, sin embargo, IPv4 ya presenta algunas limitaciones al funcionamiento de las redes actuales y futuras como: la inminente saturación del espacio de direcciones, la necesidad de contar con mecanismos de seguridad en la capa de red, la falta de soporte para aplicaciones en tiempo real y para dispositivos modernos, ineficiente enrutamiento de la información, etc. 1 OSI (Open System Interconection) Modelo de referencia de Interconexión de Sistemas Abiertos. 14

Análisis del Protocolo IPSec en Ambiente IPv6 1.2 Protocolo IPv6 La nueva versión del protocolo IP recibe el nombre de IPv6 (Protocolo de Internet versión 6); inicialmente se denomino IPng (Protocolo de Internet Próxima Generación ó Internet Protocol Next Generation), diseñada por la IETF 2 (Internet Engineering Task Force) la cual indico a través de un RFC 3 (Request For Comments) [1] las necesidades que debía cubrir y las especificaciones que debía cumplir. Este nuevo modelo se convertirá en sucesor de la versión 4 puesto que resuelve deficiencias y aporta funciones como: nuevo direccionamiento, encriptación de datos, autoconfiguración, calidad de servicio, enrutamiento jerárquico, seguridad basada en el protocolo IPSec; funciones que hacen que una red tenga mayor velocidad y desempeño lo cual va a acorde a la evolución actual de Internet. Una de las características de esta nueva versión, es el sistema de direcciones [2], o sea mayor espacio de direccionamiento. En IPv4 los nombres que se usan para conectarse a Internet (www.google.com) se traducen como direcciones IP (216.239.55.100) que son los que realmente usa la Red. Estas direcciones tienen 32 bits asociados en 4 grupos de 8 bits, por lo que el conjunto global va de 0.0.0.0 a 255.255.255.255, lo que significa que se podrían asignar 4.294 967.296 direcciones. En IPv6 las direcciones IP se multiplican por cuatro; por consiguiente el tamaño de la dirección es de 128 bits. Un espacio de direcciones que permite: 340.282.366.920.938.463.463.374.607.431.768.211.456 (3,4 x 1038) direcciones posibles, es decir IPv6 maneja 2^128 direcciones (3.402823669 e38, o sea 2 IETF (Internet Engineering Task Force) Organización encargada de la evolución de la arquitectura en la Red, desarrollando los protocolos estándar de Internet. 3 RFC (Petición de comentarios) Serie de documentos que describe el conjunto de protocolos de Interne t y experimentos similares. 15

Análisis del Protocolo IPSec en Ambiente IPv6 sobre 1.000 sixtillones), con esta nueva cantidad de direcciones se puede llegar a pensar que cualquier dispositivo digital tendrá una dirección IP; solamente el 15% de espacio de direccionamiento esta previsto para ser usado, el 85% restante esta reservado para uso futuro, lo cual hace viable asignar direcciones IP a cada ser humano. 1.3 Modelos de Direccionamiento En IPv6 existen direcciones de enlace, privadas, globales; que son llamadas ámbitos (scope) de direcciones. Además lo conocido como unicast, multicast y broadcast, da lugar a unicast, anycast y multicast. El Broadcast ya no existe en IPv6, pues fue reemplazado por el Multicast. Según el ámbito, las direcciones se pueden clasificar en: Link Local: Se usan para direccionar un solo enlace, para utilizarlo en autoconfiguración de direcciones, descubrimiento de vecinos o ante la ausencia de un router. Site Local: Direcciones de Sitio Local se usan en redes que no tienen una conexión a Internet. Global: Este tipo de direcciones tiene un prefijo identificador de grupo, o sea son direcciones validas que se usan para estar presente en Internet. Según el tipo de direcciones se pueden clasificar en: Unicast: Este tipo de direcciones se caracteriza por identificar un único nodo final de destino. Un datagrama enviado a una dirección unicast será entregado a un solo nodo destino. 16

Análisis del Protocolo IPSec en Ambiente IPv6 Multicast: Las direcciones multicast agrupan un conjunto de nodos finales de destino. Un datagrama enviado a una dirección multicast será entregado a un conjunto de destinos que forman parte de un mismo grupo. Anycast: Este grupo de direcciones al igual que multicast agrupa un conjunto de nodos finales de destino. La diferencia principal con multicast está en el sistema de entrega de datagramas. Este tipo de agrupación no existía en la versión 4. 1.3.1 Representación de Direcciones IPv6 1. Las direcciones cambian enormemente, en IPv4 las direcciones están representadas por 4 octetos separados por puntos, en IPv6 estas direcciones están separadas por : y se divididen en 8 octetos de 4 dígitos hexadecimales que abarcan desde 0000 hasta FFFF. IPv4: 200.123.125.59 IPv6: 2000:BA98:A654:4567:FEDC:BA89:7654:3210 2. Los ceros iniciales (a la izquierda) en un grupo pueden ser omitidos. 2002:0450:0009:0010:0000:0000:0000:0071 2002:450:9:10:0000:0000:0000:71 3. Como se ve en el ejemplo anterior hay grupos continuos de cuatro dígitos que toman el valor "0000", esto puede ser comprimido usando la sintaxis ::, esto indica uno o más grupos de 16 bits de ceros. Dicho símbolo podrá aparecer una sola vez en cada dirección. 17

Análisis del Protocolo IPSec en Ambiente IPv6 2002:0450:0009:0010:0000:0000:0000:0071 2002:450:9:10::71 4. Si la dirección es una dirección IPv4 camuflada, los últimos 32 bits pueden escribirse en base decimal; así, ::ffff:192.168.89.9 es lo mismo que ::ffff:c0a8:5909, pero no lo mismo que ::192.168.89.9 o ::c0a8:5909. El formato ::ffff:a.b.b.d se denomina dirección IPv4 mapeada, y el formato ::a.b.c.d dirección IPv4 compatible. Las direcciones IPv4 pueden ser transformadas fácilmente al formato IPv6. Por ejemplo, si la dirección decimal IPv4 es 135.75.43.52 (en hexadecimal, 0x874B2B34), puede ser convertida a 0000:0000:0000:0000:0000:0000:874B:2B34 o ::874B:2B34. 1.3.1.1 Representación de los Prefijos de las Direcciones IPv6 La representación de los prefijos de direcciones con IPv6 es expresada de la misma forma que en la notación CIDR 4 (Encaminamiento Inter-Dominios sin Clases, pronunciado como "cider" or "cedar) [3] con IPv4. Un prefijo de dirección IPv6 se representa con la siguiente notación: dirección-ipv6/longitud-prefijo, donde 4 CIDR (Classless Inter-Domain Routing) estándar basado en prefijos de red para la interpretación de direcciones IP. 18

Análisis del Protocolo IPSec en Ambiente IPv6 dirección-ipv6: es una dirección IPv6 en cualquiera de las notaciones mencionadas anteriormente y longitud-prefijo: es un valor decimal que especifica cuantos de los bits más significativos, representan el prefijo de la dirección. 1.3.1.2 DNS en IPv6 El almacenamiento actual de direcciones de Internet DNS (Domain Name System) de IPv4 no se puede extender fácilmente para que soporte direcciones IPv6 de 128 bits, ya que las aplicaciones asumen que a las consultas de direcciones se retornan solamente direcciones IPv4 de 32 bits. Inicialmente, para resolver este problema, se definieron las siguientes extensiones: Un nuevo tipo de registro [4], el registro AAAA. Se usa para almacenar direcciones IPv6, porque las extensiones están diseñadas para ser compatibles con implementaciones de DNS existentes. Un nuevo dominio para soportar búsquedas basadas en direcciones IPv6, este dominio es IP6.INT; Redefinición de las consultas existentes, que localizan direcciones IPv4, para que puedan también procesar direcciones IPv6. 1.4 Formato del Datagrama IPv6 El datagrama IPv6 (figura 1) es una evolución de la anterior versión. No se han introducido grandes cambios de contenido o estructura, simplemente se ha mejorado y optimizado. 19

Análisis del Protocolo IPSec en Ambiente IPv6 Con respeto al datagrama IPv4 (figura 2) se suprimieron siete campos (tamaño de cabecera, tipo de servicio, número de identificación del datagrama, banderas, numero de byte del datagrama fragmentado, checksum, opciones), y se rediseñaron los campos de longitud del datagrama, tiempo de vida y tipo de protocolo. Figura 1. Datagrama IPv6 Figura 2. Datagrama IPv4 IPv6 utiliza un tamaño de cabecera fijo de 40 bytes, que componen un total de ocho campos: 20

Análisis del Protocolo IPSec en Ambiente IPv6 1.4.1 Formato de la Cabecera Versión: (4 bits). Número de versión del protocolo IP, que en este caso contendrá el valor 6. Se sigue manteniendo como el primer campo del datagrama. Esto es así para mantener la compatibilidad con formatos anteriores y porque permite de una forma sencilla y rápida discriminar que versión de datagrama se recibe, facilitando a los routers el proceso de discriminar entre versión 4 y versión 6. Prioridad o Clase (class): (8 bits). Contiene el valor de la prioridad o importancia del datagrama que se está enviando con respecto a otros datagramas provenientes de la misma fuente. Este campo es una de las nuevas aportaciones para conseguir algunos tipos de aplicaciones (videoconferencia, telefonía, etc.) que puedan realizarse en tiempo real. Etiqueta de Flujo (Flow Label): (16 bits). Campo que se utiliza para indicar que el datagrama requiere un tratamiento especial por parte de los routers que lo soporten. Esto es aplicable por ejemplo a una serie de datagramas que van del mismo origen al mismo destino y con las mismas opciones. Tamaño de los Datos (Payload Length): (16 bits). Permite un tamaño máximo de 2^16 = 65536 bytes (64K). No obstante, a diferencia de la versión 4, este número hace referencia sólo al tamaño de los datos que transporta, sin incluir la cabecera. 21

Análisis del Protocolo IPSec en Ambiente IPv6 Siguiente Cabecera (Next Header): (8 bits). Indica al router si tras el datagrama viene algún tipo de extensión u opción. También permite describir con más detalle las opciones del datagrama. En IPv6 se definen una serie de cabeceras de extensión (ver tabla 1) que se colocan justo después de los datos en forma de cadena (daisy Caín, conexiones múltiples) permitiendo personalizar el datagrama. De tal forma que se pueda tener varias extensiones de cabecera tan solo indicando en el campo siguiente cabecera de cada una de ellas el tipo de la cabecera que vendrá a continuación. En este trabajo solo se hablará de las cabeceras de autenticación (AH) y de encapsulación (ESP) que son las utilizadas por IPSec. Alcance del Datagrama o Límite de Saltos (Hop Limit): (8 bits) Indica el número máximo de routers que puede atravesar un datagrama hasta llegar a su destino. Este campo es el equivalente al tiempo de vida (TTL) de la versión 4. Cuando un datagrama llega a un router y es encaminado hacia otro ordenador, este campo es decrementado en una unidad. Este campo es necesario para evitar que los datagramas circulen infinitamente por la red, eliminándose al llegar a 0 (su valor máximo es de 2^8 = 256). 1.4.2 Formato del Campo de Datos Dirección de Origen: (128 bit) El número de dirección del host que envía el datagrama. Su longitud es cuatro veces mayor que en la versión 4. 22

Análisis del Protocolo IPSec en Ambiente IPv6 Dirección de Destino: (128 bit) Número de dirección del destino, aunque puede no coincidir con la dirección del host final en algunos casos. 1.5 Mecanismos de Transición Los mecanismos de transición son un conjunto de mecanismos y de protocolos implementados en hosts y routers, para realizar las migraciones de un sistema a otro o de una tecnología a otra con la menor interrupción posible para el usuario, este es el mecanismo utilizado por IPv6. Existen dos mecanismos básicos: 1.5.1 Dual Stack Provee soporte completo para IPv4 e IPv6 en host y routers. La forma más directa para que los nodos IPv6 sean compatibles con nodos IPv4 es proveer una implementación completa de IPv4. Estos nodos son llamados nodos IPv6/IPv4, tienen la habilidad de enviar y recibir datagramas IPv6 e IPv4, pudiendo así interoperar directamente con nodos IPv4 usando datagramas IPv4, y también operar con nodos IPv6 usando datagramas IPv6. 1.5.2 Túneles Encapsula datagramas IPv6 dentro del encabezado IPv4 para ser transportados a través de infraestructura de ruteo IPv4. Los nodos o redes IPv6 que se encuentran separadas por infraestructuras IPv4 pueden construir un enlace virtual, configurando un túnel (figura 3). Los extremos del túnel son dos 23

Análisis del Protocolo IPSec en Ambiente IPv6 direcciones IPv4 y dos IPv6. Y son los responsables de realizar la operación de encapsulado del datagrama IPv6 en IPv4. Figura 3. Encapsulado del Datagrama IPv6 en IPv4 Se pueden utilizar dos tipos de túneles: Túneles Manuales: Son explícitamente configurados en los nodos finales o routers.. Una dirección IPv4 es el destino del túnel creado y debe ser alcanzable. Su configuración implica: dos direcciones origen, una de ellas IPv4 y la otra IPv6 y lo mismo para las direcciones destino. En el proyecto se instalará este tipo de túnel para realización de pruebas (figura 4). Figura 4. Túnel Manual 24

Análisis del Protocolo IPSec en Ambiente IPv6 Túneles Automáticos: Los nodos tienen asignadas direcciones IPv4 compatibles, o sea, de la forma ::a.b.c.d Si el destino es una dirección IPv4 compatible, entonces se establece un túnel automático. 25

2 PROTOCOLO IPSec 2.1 Descripción del Protocolo IPSec IPSec (Internet Protocol Security) es un estándar que proporciona servicios de seguridad a la capa IP y a todos los protocolos supriores (TCP y UDP, entre otros). Entre las ventajas de IPSec se destaca que esta apoyado en estándares de la IETF [5], proporcionando un nivel de seguridad común y homogéneo para todas las aplicaciones, además de ser independiente de la tecnología física empleada. Está basado en un modelo de seguridad extremo a extremo, lo que significa que los únicos hosts o routers que tienen que conocer la protección de IPSec son el que envía y el que recibe. Cada equipo controla la seguridad por sí mismo en su extremo, bajo la hipótesis de que el medio por el que se establece la comunicación no es seguro. En la figura 5 se muestra el modo en que funciona IPSec, está compuesto por dos protocolos de seguridad de tráfico, el Authentication Header (AH), el Encapsulating Security Payload (ESP) y un protocolo de Gestión de Claves (Internet Key Exchange, IKE). Figura 5. Arquitectura de IPSec 26

Al utilizar el protocolo AH se aplican algoritmos de autenticación de los datos (la información enviada es realmente de quien dice ser), y al emplear el protocolo ESP se aplican algoritmos de encriptación con flexibilidad para soportar combinaciones de autenticación, integridad de datos (seguridad de que cualquier alteración de la información será detectada), control de acceso (se establecen políticas de establecimiento de conexiones IPSec) y confidencialidad de datos (la información enviada no será vista por otras personas). DOI (Domain of Interpretation) define todos los parámetros que se negocian para establecer canales seguros, incluyendo identificadores únicos para algoritmos de autentificación y de encriptamiento durante el proceso de comunicación, además de las medidas necesarios para establecer una conexión AH o ESP, también especifica parámetros operacionales para el protocolo IKE tales como tiempo de vigencia de las claves (key Exchange), y ubicación de las claves criptográficas requeridas para cumplir con los servicios solicitados. La Política de Seguridad (SP, Security Policy), almacena información adicional para definir qué tráfico proteger, y cuándo hacerlo. IPsec funciona a partir de dos políticas de seguridad: Base de datos políticas de seguridad SPD (Security Policy Database) estas políticas le dicen a IPSec cuando debe o no debe actuar sobre un datagrama IPv6. Base de datos asociaciones de seguridad SAD (Security Association Database), estas asociaciones le dicen a IPSec cómo debe crear el canal entre las dos máquinas. 27

2.1.1 Asociación de Seguridad SA (Security Association) La función de la Asociación de Seguridad (SA) es proporcionar un método para que dos computadores puedan intercambiar datos de manera segura. Está definida para comunicaciones en un solo sentido (simplex) esto significa que cada par de sistemas que se comunican por lo menos tiene dos SAs, una de origen a destino y otra de destino a origen. Lo mismo ocurre para la asociación de seguridad que se crea para AH o ESP, si estos dos protocolos se aplican a una comunicación juntos, se crearán dos (o más) asociaciones de seguridad. Para la identificación de una asociación de seguridad se utiliza un Índice de Parámetros de Seguridad (Security Parameter Index, SPI) el cual contiene la dirección IP destino y el identificador de protocolo de seguridad (AH y ESP); con esta información el Índice de Parámetros de Seguridad puede recibir un datagrama y saber a que asociación de seguridad hace referencia, y de esta forma poder autenticarlo y/o descifrarlo. Una asociación de seguridad describe: Que algoritmo va a ser usado en la autenticación y las claves para él. El algoritmo de cifrado y las claves Tiempo de vida de las claves Tiempo de vida de la SA Dirección IP origen de la SA 28

2.1.2 Modos de Operación en IPSEC 1. Modo Transporte El contenido transportado dentro del datagrama AH o ESP son datos de la capa de transporte. Por lo tanto la cabecera IPSec se inserta a continuación de la cabecera IPv6 y antes de los datos que se desean proteger. El modo transporte solo se cifra los datos, las cabeceras AH y ESP quedan igual. 2. Modo Túnel El contenido del datagrama AH o ESP es un datagrama completo es decir el datagrama IPv6 al cual se añade la cabecera AH o ES, posteriormente se añade una cabecera IP que es la que se utiliza para encaminar los paquetes a través de la red. Figura 6. Modo Transporte y Túnel 2.2 Métodos de Seguridad en IPSEC IPSec ha sido diseñado de forma modular (figura 7) lo cual permite seleccionar el conjunto de algoritmos deseados sin afectar a otras partes de la implementación. Han sido definidos sin embargo ciertos algoritmos estándar 29

que deberán soportar todas las implementaciones para asegurar la interoperabilidad. Dichos algoritmos de referencia son: algoritmos de cifrado (3DES, DES), algoritmos de hash (MD5 y SHA-1); además de poder utilizar otros algoritmos como: Encriptación de clave pública Diffie-Hellman, RSA, etc. Figura 7. Algoritmos Utilizadas por IPSec Estos métodos son utilizados por: AH (Solo autenticación): 1. Detecta los cambios de contenido 2. Los destinatarios pueden autenticar el origen 3. Previene los ataques de IP-Spoofing 5 4. Protege el ataque de retransmisión ESP (Cifrado y si se quiere autenticación): 1. Confidencialidad de contenido 2. Confidencialidad limitada de flujo de tráfico 3. Opcionalmente, servicio de autenticación como AH 5 IP-Spoofing Suplantación de IP. Consiste básicamente en sustituir la IP origen de un datagrama, por otra IP a la cual se desea suplantar. 30

2.2.1 Funciones Resumen (hash) La función hash es una función matemática aplicada a un mensaje, éste produce una representación única de 128 bits, el resultado obtenido es una representación comprimida o codificada de un bloque más grande de datos. Un mensaje codificado ha de ser sometido a un proceso de cálculo antes de que se envíe y al ser recibido. Si los dos compendios calculados son iguales, entonces el mensaje no tuvo alteración alguna durante la transmisión. Los algoritmos más utilizados son el MD5 6. Dado que el tamaño del código que se genera como salida es de tamaño limitado, (típicamente 128, 256 ó 512 bits) mientras que el tamaño del mensaje de entrada es ilimitado (típicamente un archivo), es evidente tener las siguientes características: El resultado de aplicar una función hash a un mensaje da como salida un numero grande Todos los números hash generados con un mismo método tienen igual tamaño sea cual sea el mensaje. Dado un mensaje, es fácil y rápido para un computador calcular su número hash. Es imposible reconstruir el mensaje base a partir del número hash. Es imposible que dos mensajes diferentes tengan el mismo número hash. 2.2.2 Criptografía Asimétrica 6 MD5 Algoritmo de Resumen del Mensaje 5 (Message-Digest Algorithm 5) es un algoritmo de reducción criptográfico de 128 bits ampliamente usado. 31

Están basados en utilizar claves distintas para cifrar y descifrar, una de ellas se hace pública y la otra es privada para cada usuario. De este modo todos los usuarios del sistema tienen acceso a las claves públicas pero únicamente ellos conocen su clave privada. Modo de funcionamiento Se cifra el mensaje o un resumen de éste mediante la clave privada y cualquier persona puede comprobar su procedencia utilizando la clave pública del emisor (figura 8) El mensaje es auténtico porque solo el emisor verdadero puede cifrar con su clave privada. Dependiendo de la característica de seguridad que se pretenda implementar, el modo de funcionamiento es el siguiente: Para características de confidencialidad: 1. Para cada usuario origen y destino se generan un par de claves; la clave pública se lleva aun registro o fichero público y la clave privada se mantiene en secreto por su propietario. 2. Para encriptar un mensaje se utiliza la clave pública mientras que para desencriptar se usa la clave privada. 3. Si un origen desea enviar un mensaje a un destino, se encripta el mensaje usando la clave pública del destino. 4. Cuando el destino recibe el mensaje lo desencripta usando su clave privada. Nadie puede desencriptar el mensaje ya que sólo el destino conoce la clave privada. 5. El sistema es seguro mientras que cada usuario controle su clave privada. 6. En cualquier momento se puede cambiar la clave privada generando un nuevo par de claves. 32

Para características de autenticidad: 1. El origen encripta utilizando su propia clave privada un mensaje. 2. Cuando el destino lo recibe lo desencripta utilizando la clave pública del origen. 3. La autenticidad se asegura ya que solamente el origen puede encriptar el mensaje. 4. Es imposible alterar el mensaje sin acceder a la clave privada del origen por lo tanto se asegura la autenticidad y la integridad de los datos. Figura 8. Esquema de Criptografía Asimétrica 2.2.2.1 Algoritmo RSA Algoritmo de Rivest, Shamir y Adelman (RSA), es un algoritmo cifrador de bloques. RSA es el más conocido y usado de los sistemas de clave pública, y también el más rápido de ellos. La clave es un número de gran tamaño, que una persona puede conceptualizar como un mensaje digital, como un archivo binario o como una cadena de bits o bytes. En cuanto a las longitudes de claves, permite longitudes variables, siendo aconsejable actualmente el uso de claves superiores a 1024 bits. Los mensajes enviados usando el algoritmo RSA se representan mediante números y el funcionamiento se basa en el producto de dos números primos grandes (mayores que 10 100 ) elegidos al azar para conformar la clave de descifrado. Emplea expresiones exponenciales en aritmética modular. 33

2.2.3 Criptografía Simétrica Se incluyen en esta familia el conjunto de algoritmos diseñados para cifrar un mensaje utilizando una única clave conocida por los dos participantes de la comunicación, de manera que el mensaje cifrado sólo pueda descifrarse conociendo dicha clave secreta. Algunas de las características más destacadas de este tipo de algoritmos son las siguientes: A partir del mensaje cifrado no se puede obtener el mensaje original ni la clave que se ha utilizando, aunque se conozcan todos los detalles del algoritmo criptográfico utilizado. A partir de un mensaje original se obtiene un mensaje cifrado al aplicar una clave secreta; esa misma clave secreta se utiliza posteriormente para volver a obtener el mensaje original. Origen y Destino deben haber acordado una clave común por medio de un canal de comunicación confidencial antes de poder intercambiar información confidencial por un canal de comunicación inseguro. Los algoritmos simétricos más conocidos son: DES, 3DES, RC2, RC4, RC5, IDEA, Blowfish y AES. En este trabajo se explicarán solo los utilizados por IPSec. Figura 9. Esquema de Criptografía Simétrica 34

2.2.3.1 Gestión de Claves Diffie-Hellman Este algoritmo trabaja con funciones matemáticas en lugar de sustituciones y permutaciones. El algoritmo de gestión de claves tiene las siguientes características: Preserva las propiedades de confidencialidad y autenticidad. Cualquiera de las dos claves generadas se pueden utilizar para el encriptado y el desencriptado equitativamente. Se introduce más complejidad en los procesos de gestión de claves tales como generación, almacenamiento, distribución y mantenimiento. Puesto que dicha clave sólo es conocida por el emisor y el receptor, el receptor puede, mediante el cálculo de la función hash, comprobar tanto la integridad como la procedencia del mensaje. 2.2.3.2 DES Estándar de cifrado de datos DES (Data Encryption Standard) toma un mensaje de longitud fija de bits y lo transforma mediante una serie de complicadas operaciones en otro mensaje cifrado de la misma longitud. En el caso de DES el tamaño del bloque es de 64 bits, utiliza una clave criptográfica para modificar la transformación, de modo que el descifrado sólo puede ser realizado por aquellos que conozcan la clave concreta utilizada en el cifrado. La clave mide 64 bits, aunque en realidad, sólo 56 de ellos son empleados por el algoritmo. Los ocho bits restantes se utilizan únicamente para comprobar la paridad, y después son descartados. Por tanto, la longitud de clave efectiva en DES es de 56 bits lo que significa que hay 2 56 claves posibles esto es 72.057.594.037.927.936 claves. 35

El sistema DES se considera en la actualidad poco práctico, debido a la corta longitud de su clave. Para solventar este problema y continuar utilizando DES se creó el sistema Triple DES. 2.2.3.3 3DES También es conocido como TDES. Esta basado en tres iteraciones sucesivas del algoritmo DES, con lo que se consigue una longitud de clave de 128 bits, y que es compatible con DES simple. DES tiene la característica matemática de no ser un grupo, lo que implica que si se encripta el mismo bloque dos veces con dos llaves diferentes se aumenta el tamaño efectivo de la llave. Para implementarlo, se toma una clave de 128 bits lo que significa que existen 2 128 claves posibles, esta clave se divide en 2 diferentes de 64 bits, aplicándose el siguiente proceso al mensaje: Al mensaje se le aplica el algoritmo de cifrado de clave simétrica con la primera clave, Al resultado (denominado ANTIDES) se le aplica un segundo algoritmo de cifrado con la segunda clave, Y al resultado se le vuelve a aplicar un tercer cifrado con la primera clave. Figura 10. Esquema 3DES 36

2.3 PROTOCOLO AH El protocolo AH [6] es el procedimiento utilizado por IPSec para garantizar la integridad y autenticación de los datagramas, suministrando un medio al receptor para autenticar el origen de los datos comprobando que no se sufrió alteración durante la comunicación. Sin embargo no provee servicios de confidencialidad, los datos transmitidos pueden ser vistos por terceros. Como lo indica su nombre, AH es una Cabecera de Autenticación (Authentication Header, AH), la cual se inserta entre la cabecera IPv6 y los datos transportados, de forma que los proteja de posibles ataques. Siendo AH un protocolo nuevo el IANA 7 le asigno el numero decimal 51[7]; esto significa que al campo siguiente cabecera del datagrama IPv6 se le asigna 51. Figura 11. Cabecera de Autenticación (AH) 7 IANA (Internet Assigned Numbers Authority) 37

2.3.1 Campos de la Cabecera de Autenticación (AH) Siguiente Cabecera (Next Header) Siguiente Cabecera es un campo de 8 bits, identifica cual es el protocolo que se encuentra en el segmento de datos. Tamaño de los Datos (Payload Length) Este campo de 8 bits especifica la longitud de los datos en palabras de 32 bits. Reservado Este campo de 16 bits esta reservado para uso futuro. Se debe fijar a cero. Índice de Parámetros de Seguridad (SPI) El SPI es un valor arbitrario de 32 bits que, conjuntamente con la dirección de destino IP y el protocolo de seguridad (AH), identifican la Asociación de Seguridad para este datagrama. Número de Secuencia (Sequence Number) Identifica el número del datagrama en la comunicación, estableciendo un orden y evitando problemas de entrega de datagramas fuera de orden o ataques externos mediante la reutilización (Replay Attacks) de datagramas. 38

Datos Autenticados (Authentication Data) Se obtienen realizando el algoritmo de hash entre algunos campos de la cabecera IP, la clave secreta y los datos enviados. 2.3.2 Funcionamiento del protocolo AH 1. La función hash o algoritmo de hashing es aplicado a la combinación del mensaje de entrada y una clave, 2. Esto da como salida la representación del mensaje en forma de una cadena de dígitos que se denomina MAC, esto es como una huella digital de los datos. 3. El MAC se copia en el campo datos autenticados del datagrama AH, de esta forma queda construido el datagrama IPSec el cual se envía a través de la red, 4. En el origen se aplica la función hash y se hace el cálculo del MAC, se compara con el recibido en el datagrama, si son iguales, el receptor tiene la seguridad de que el datagrama no ha sido modificado durante la comunicación y que procede efectivamente del origen esperado (ver figura 12). 39

Figura 12. Funcionamiento del Protocolo AH Figura 13. Estructura del Datagrama IPSec 40

2.4 PROTOCOLO ESP El objetivo principal del protocolo ESP (Encapsulating Security Payload) [8] es proporcionar confidencialidad; define el modo de cifrar los datos que se desean enviar y cómo este contenido cifrado se incluye en el datagrama IPv6, adicionalmente, puede ofrecer los servicios de integridad y autenticación del origen de los datos incorporando un mecanismo similar al de AH. La Cabecera de Cifrado de Seguridad (ESP) es propia de IPv6, es colocada después de todos los encabezados en el datagrama y se le asigno el número decimal 50. Figura 14. Cabecera de Cifrado de Seguridad (ESP). 2.4.1 Cabecera de Cifrado de Seguridad (ESP) Índice de Parámetros de Seguridad (SPI) SPI especifica qué asociación de seguridad emplear para desencapsular el datagrama ESP. 41

Número de Secuencia (Sequence Number) Este número de secuencia se emplea para protegerse de ataques por repetición de mensajes. Datos Cifrados Es un campo de longitud variable que contiene el mensaje encriptado, es obligatorio y su longitud es un número 32 bits. La información que utilizada el algoritmo de encriptación para su funcionamiento es incluida dentro de este campo. Relleno Su función es agregar caracteres de relleno al campo de datos para completar el tamaño del algoritmo y ocultar su longitud real. Longitud del Relleno Indica el número de bytes que se utilizaron en el campo de datos para completar el tamaño del algoritmo. Se puede agregar de 0 a 255 bytes de relleno. Siguiente Cabecera Es un campo de 8 bits que identifica el tipo de datos que contiene el campo Datos Cifrados, por ejemplo, una cabecera de extensión IPv6. 42

2.4.2 Funcionamiento del Protocolo ESP La función de cifrado en el protocolo ESP se realiza mediante un algoritmo de cifrado de clave simétrica, este algoritmo maneja cifrado de bloque 8, de modo que la longitud del mensaje tiene que ser múltiplo del tamaño del bloque (8 o 16 byte, en la mayoría de los casos). Por esta razón existe un campo de relleno en la cabecera de cifrado de seguridad ESP. En la figura 15 se representa como el protocolo ESP permite enviar los datos de forma confidencial. 1. Para enviar los mensajes el emisor toma el mensaje original, y le aplica el algoritmo de criptografía simétrica 3DES, 2. El mensaje cifrado se incluye en el datagrama IPSec (figura 16), a continuación de la cabecera ESP. Durante el tránsito hasta su destino, si el datagrama es interceptado por un tercero sólo obtendrá un conjunto de bits incoherentes. 3. En el destino, el receptor aplica de nuevo el algoritmo de cifrado recuperando los datos originales. La seguridad que se proporciona está en la robustez del algoritmo de cifrado, es decir, que un atacante no puede descifrar los datos sin conocer la clave, así como en que la clave ESP únicamente la conocen el emisor y el receptor. 8 Cifrado de Bloque: dividir el mensaje a cifrar en bloques de un determinado tamaño. 43

Figura 15. Funcionamiento del Protocolo ESP Figura 16. Estructura del Datagrama IPSec 2.5 PROTOCOLO IKE Es un protocolo de control que se encarga de poner en contacto y negociar los algoritmos, claves y demás elementos para la comunicación segura con IPSec entre dos computadores. El IETF ha definido el protocolo IKE (Internet Key Exchange) [9] para realizar tanto esta función de gestión automática de claves como el establecimiento de las asociaciones de seguridad correspondientes. 44

IKE es un protocolo híbrido que ha resultado de la integración de dos protocolos complementarios: ISAKMP y OAKLEY. ISAKMP define de forma genérica el protocolo de comunicación y la sintaxis de los mensajes que se utilizan en IKE, esto facilita los procedimientos y formatos del datagrama para establecer, negociar, modificar y eliminar asociaciones de seguridad. OAKLEY especifica la lógica de cómo se realiza de forma segura el intercambio de una clave entre dos partes que no se conocen previamente. IKE se lleva a cabo en dos fases: 1. Establecimiento de un canal seguro y autentificado: Esta fase es común a cualquier aplicación. Dicho canal seguro se consigue mediante el uso de un algoritmo de cifrado simétrico y un algoritmo hash. Las claves necesarias se derivan de una clave maestra que se obtiene mediante un algoritmo de intercambio de claves Diffie-Hellman. Este procedimiento no garantiza la identidad de los computadores, para ello es necesario un paso adicional de autenticación. Los métodos de autenticación mas comunes son: El primer método de autenticación se basa en el conocimiento de una cadena de caracteres que únicamente conocen los dos extremos que quieren establecer una comunicación IPSec. Mediante el uso de funciones hash cada extremo demuestra al otro que conoce la cadena sin revelar su valor; así los dos se autentican mutuamente. Debe configurarse una cadena distinta para cada par de computadores, por lo que el número de cadenas crece muy rápidamente cuando aumenta el número de computadores. 45

En los estándares IPSec esta previsto el uso de un método de autenticación que se basa en utilizar certificados digitales X509v3. El uso de certificados permite distribuir de forma segura la clave pública de cada computador, de modo que éste puede probar su identidad mediante la posesión de la clave privada y ciertas operaciones de criptografía pública. 2. Negociación de los parámetros de seguridad específicos de IPSec a través del canal seguro: Durante esta fase se negocian las características de la conexión ESP o AH y todos los parámetros necesarios. El equipo que ha iniciado la comunicación ofrecerá todas las posibles opciones que tenga configuradas en su política de seguridad y con la prioridad que se hayan configurado. El sistema receptor aceptará la primera que coincida con los parámetros de seguridad que tenga definidos. Asi mismo, ambos computadores se informaran del tráfico que van a intercambiarse a través de dicha conexión. En la figura 17 se representa el funcionamiento del Protocolo IKE y el modo en que se obtiene la clave, que es la que se utiliza para proteger las conexiones ESP o AH. Figura 17. Funcionamiento del Protocolo IKE 46

3 PRUEBAS REALIZADAS 3.1 Configuración General Para el desarrollo de las diferentes pruebas se configuro una LAN con dos equipos conectados a la red de la Universidad de Pamplona con sistema operativo Red Hat Linux 9.0. A partir de aquí se creó un acceso a INTERNET. El equipo y software utilizados fueron los siguientes: Equipos: Un equipo Pentium 4 con procesador 1.7 GHz, 128 MB de RAM, 40 GB de disco duro y tarjeta de red, equipo 1 172.29.44.189. Un ordenador Pentium 4 con 1.7 GHz, 128 MB de RAM, 40 GB de disco duro y tarjeta de red, equipo 2 172.29.44.188. Las direcciones IPv6 asignadas son: Equipo 1: 3ffe:8070:1026:1::1/64 Equipo 2: 3ffe:8070:1026:1::2/64 Software: Red Hat Linux 9 es el sistema operativo seleccionado para la realización de pruebas. Esto debido a que es un sistema operativo gratuito, tipo 47

UNIX (lo que le confiere gran robustez), los códigos fuentes están disponibles lo cual permite realizar modificaciones en cualquier parte del sistema y está muy extendido en la comunidad científica, a demás debido a que proporciona más soporte e infraestructura para IPSec extensión IPv6. Fress/wan es una implementación de los protocolos IPSec en Linux [10] ofreciendo a IPv6 servicio de cifrado y autenticación. Analizador de protocolos Ethetrial para linux [11]. 3.2 Configuración de IPv6 en un Equipo Red Hat Linux 9 La transformación de un computador compatible con IPv4 en un computador que utilice IPv6, requiere una serie de cambios y modificaciones estos varían según el sistema operativo elegido (FreeBSD, Windows, LINUX...) con lo cual los pasos que se explican a continuación son para sistemas operativos compatibles con LINUX. Figura 18. Esquema de Conexión para la prueba con IPv6 3.2.1 Configuración IPv6 1. Se necesita configurar el sistema: Hacer clic en inicio, Configuración del Sistema, Configuración de Red y a continuación clic en Dispositivo de Red. 48

Se configura la dirección IP del equipo local y la mascara de subred. Y a continuación OK y Aceptar. 2. Se necesita cargar el módulo IPv6, para esto se debe editar varios archivos: Buscar el archivo: etc/sysconfig/network su contenido es: Se cambia la siguiente línea: HOSTNAME= Localhost.localdomain por ipv6 49

Y se digita la línea: NETWORKING_IPV6=yes Con esto ya se ha habilitado el soporte del protocolo. Tener en cuenta que en la línea GATEWAY se debe colocar la dirección local del equipo. Se guardan los cambios. 3. Configuración del Router: Se debe modificar el archivo de configuración de la interfaz Ethernet deseada. El equipo tiene dos interfaces, eth0 y eth1. eth0: está configurada para que soporte IPv4 e IPv6. eth1: está configurada para que soporte IPv6. Se utiliza la interfaz eth0 para esto se busca el archivo de configuración: etc/sysconfig/network-scripts/ifcfg-eth0 50

A este archivo se le digita la línea: IPV6INIT="yes" Para habilitar la configuración IPv6 en esta interfaz. Ahora se asigna una dirección IPv6 a la interfaz de red. IPV6ADDR="3ffe:8070:1026:1::1/64 " En el equipo remoto se coloco la dirección "3ffe:8070:1026:1::2/64". Una vez hecho esto se guardan los cambios, y es necesario reiniciar el demonio network para hacer efectivos todos los cambios, para esto se digita en consola el comando /etc/init.d/network restart Con esto ya se esta en condiciones de utilizar el protocolo. Esto se hace en forma automática cada vez que se inicia el equipo, por lo que esto sólo se hace cuando recién se ha modificado el archivo. A continuación ya se está en condiciones de continuar con la configuración de cualquier tipo. Se digita el comando ifconfig y se mostrará la siguiente información: 51

Se puede apreciar la existencia de una dirección IPv6 del tipo 3ffe:8070:1026:1::1/64 4. Se debe comprobar que existe comunicación IPv6 entre ambos equipos para lo cual se usara el comando ping. Para hacer un ping IPv6 es necesario disponer del comando ping6 que se encuentra en el paquete iputils-ping (GNU/Linux). En el equipo local sobre la consola se ejecuta el comando ping6 3ffe:8070:1026:1::2 Y en el equipo remoto ping6 3ffe:8070:1026:1::1 Se mostrará la siguiente información: 52

3.3 Configuración y Prueba de IPSec para IPv6 Se trata de un software de libre distribución [12], además, muchas de las distribuciones de LINUX, como Red Hat Linux 9, SUSE o MANDRAKE incluyen paquetes rpm 9 para su instalación. Básicamente, está formado por: KLIPS (kernel IPsec). Se trata de la implementación de los protocolos AH y ESP y se encarga, también, de la gestión de datagramas dentro del kernel del sistema. Pluto. Es el demonio del protocolo IKE (Internet Key Exchange), se encarga de negociar las conexiones con otros sistemas. Varios scrpits que proporcionan al administrador, una interfaz con los protocolos IPSec. 3.3.1 Instalación de Frees/wan 1. Para llevar a cabo la instalación de frees/wan se necesitan por lo menos dos equipos con Linux que se puedan conectar de algún modo a Internet. Pues se va a instalar FreeS/WAN en los dos. 2. Ingresar a la dirección ftp://ftp.xs4all.nl/pub/crypto/freeswan/binaries, escoger el sistema operativo en el cual se va a instalar Frees/wan. 9 RPM Package Manager (Red Hat Package Manager) es una herramienta de administración de paquetes para Linux el cual instala, actualiza, desinstala, verifica y solicita programas. 53

3. Frees/WAN se puede instalar sobre cualquiera de los siguientes Kernels 2.0.3X, 2.2.1X o 2.4.X. Para comprobar la versión del kernel del equipo se digita en la consola el siguiente comando: uname r Según la versión del kernel se debe descargar el modulo compatible, para esto se debe entrar a la página: ftp://ftp.xs4all.nl/pub/crypto/freeswan/binaries/redhat-rpms Escoger la versión el kernel ftp://ftp.xs4all.nl/pub/crypto/freeswan/binaries/redhat-rpms/2.4.20-8/ Descargar el modulo compatible con el kernel y guardarlo en el disco duro con una ruta de fácil acceso freeswan-module-2.06_2.4.20_20.9-0.i386.rpm descargar las utilidades de Frees/wan y guardarla en la misma ruta freeswan-userland-2.06_2.4.20_20.9-0.i386.rpm En la misma dirección se descarga el paquete RPM para comprobación de las claves y se guarda en la misma ruta : freeswan-rpmsign.asc Se debe importar la clave a la base de datos RPM digitando en la consola la ruta en la que se guardo: cd /instalar/freeswan rpm --import freeswan-rpmsign.asc 54