INSTITUTO POLITÉCNICO NACIONAL
ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA
UNIDAD ZACATENCO
“
UTILIZACIÓN DE CERTIFICADOS DIGITALES X.509 Y
RADIUS COMO TECNOLOGÍA DE AUTENTICACIÓN DE
USUARIOS EN UNA RED DE DATOS.”
T E S I S
PARA OBTENER EL TITULO DE
INGENIERO EN COMUNICACIONES Y ELECTRÓNICA
P R E S E N T A :
JESÚS ROMÁN HERNÁNDEZ JIMÉNEZ
ASESOR:
M. EN C. SERGIO VIDAL BELTRAN.
Este trabajo está dedicado a todas las personas que de una u otra forma han contribuido a mi formación profesional y personal. Profesores, compañeros y amigos, Especialmente
agradezco:
A MI MADRE
Por el enorme amor que siempre me ha brindado y por todos los años de esfuerzo enfocados en darme la oportunidad de superarme profesionalmente.
A MI TÍO
Porque más que un apoyo, siempre ha sido un padre para mí.
A LA JEFA
Por ser parte fundamental en mi educación, por los sabios consejos e interminables correctivos que inculcaron en mí los valores de responsabilidad y honradez.
A TODA LA FAMILIA
Que cerca o lejos, siempre me apoyaron para la culminación de este objetivo.
A LORENA
Por el significado que le ha dado a mi vida.
O B J E T I V O
Realizar la configuración de una red de comunicaciones que utilice certificados digitales y un servidor RADIUS como mecanismos de autenticación de usuarios.
Evaluación de rendimiento de ambas tecnologías trabajando en conjunto.
J U S T I F I C A C I Ó N
La enorme expansión de las redes así como la vulnerabilidad de los sistemas de seguridad y las sofisticadas herramientas de ataque hacen necesario tener una infraestructura de seguridad capaz de minimizar amenazas a los recursos de una red por usuarios no autorizados.
H I P O T E S I S
Í N D I C E
CAPITULO 1
INTRODUCCION A LAS REDES
1.1 DEFINICIÓN. 6
1.1.1 Configuración de línea 7
1.1.2 Topología de redes 7
1.2 CLASES DE REDES 10
1.3 MODELO DE COMUNICACIONES HOST A HOST 12
1.3.1 Modelo OSI 12
1.3.1.1 Capas del modelo OSI y sus funciones 12
1.3.2 Protocolo TCP/IP. Capas y funciones 15
1.4 DIRECCIONAMIENTO IP 17
1.5 COMPONENTES FÍSICOS COMUNES EN UNA RED 18
CAPITULO 2
SEGURIDAD EN REDES.
2.1 TIPOS DE REDES 22
2.2 ARQUITECTURA DE SEGURIDAD OSI 23
2.2.1 Ataques a la seguridad 23
2.2.2 Mecanismos de seguridad 25
2.2.3 Servicios de seguridad 25
2.3 SERVICIO DE AUTENTICACIÓN 28
2.4 CRIPTOGRAFIA Y CIFRADO 29
2.4.1 Sistemas de clave secreta 30
2.4.2 Estructura básica del cifrado simétrico 30
2.4.2.1 Estándar de encriptación de datos (DES) 31
2.4.2.2 Triple DES 31
2.4.2.3 Estándar de encriptación avanzada (AES) 32
2.4.3 Códigos de autenticación de mensajes 35
2.4.3.1 Funciones HASH simples 36
2.4.3.2 Función HASH segura SHA-1 36
2.4.4 Funciones HASH para la autenticación 37
CAPITULO 3
APLICACIONES DE AUTENTICACIÓN
3.1 KERBEROS 40
3.1.1 Versión v4 de Kerberos 42
3.1.2 Versión 5 de Kerberos 45
3.2 SERVICIO DE AUTENTICACIÓN DE X.509 46
3.2.1 Relación entre AC’s sin jerarquía 48
3.2.2 Relación de AC’s con jerarquía 49
3.2.3 Procedimientos de autenticación en una red 50
CAPITULO 4
RADIUS Y CERTIFICADOS DIGITALES
4.1 RADIUS 56
4.1.1 Arquitectura AAA 57
4.1.2 Operación básica. 59
4.1.3 Especificaciones de RADIUS 60
4.1.4 Formato de paquetes 61
4.1.5 Secretos compartidos 65
4.1.6 Atributos y valores 65
4.2 CERTIFICADOS DIGITALES 67
4.2.1 Versión 1 del certificado x.509 67
4.2.2 Versión 2 del certificado x.509 67
4.2.3 Versión 3 del certificado x.509 68
4.2.3.1 Extensiones de X.509 Versión 3 70
4.2.4 Revocación y suspensión de certificados 72
CAPITULO 5
IMPLEMENTACION DE CERTIFICADOS
DIGITALES Y RADIUS
5.1 SISTEMA ZEROSHELL 76
5.1.1 Servidor RADIUS 77
5.1.2 Certificados x.509 y la Autoridad Certificadora 78
5.2 INSTALACIÓN DEL SISTEMA 79
5.2.2 Proceso de instalación 80
5.2.3 Configuración del servidor 82 5.2.4 Configuración de RADIUS 83 5.2.5 Configuración de la autoridad certificadora 84
5.2.6 Administración de usuarios y grupos 85
5.2.7 Configuración del NAS 86
5.2.8 Configuración en los usuarios 89
CAPITULO 6
PRUEBAS Y RESULTADOS
6.1 CONFIGURACIÓN DE LA SIMULACIÓN 946.2 AUTENTICACIÓN EXITOSA DE UN USUARIO 98 6.2.1 Intercambio usuario-NAS 99 6.2.2 Intercambio NAS-Servidor 104
6.3 AUTENTICACIÓN FALLIDA.DE UN USUARIO 110
6.3.1 Intercambio Usuario-NAS 111
6.3.2 Intercambio NAS-Servidor 113
6.4 CONCLUSIONES 116
ANEXOS TABLAS Y REFERENCIAS
Protocolo EAP 120- Protocolo TLS 121
Protocolo EAP-TLS 122
Protocolo EAP-RADIUS 122
La masiva utilización de las computadoras y redes como medios para almacenar, transferir y procesar información se ha incrementado espectacularmente en los últimos años, al grado de convertirse en un elemento indispensable para el funcionamiento de todo tipo de organizaciones tanto empresariales como académicas.
Como consecuencia de la tendencia a la globalización, la información, en todas sus formas, se ha convertido en un activo de altísimo valor, el cual se debe proteger y asegurar para garantizar su integridad, confidencialidad y disponibilidad, además de otros servicios de seguridad.
Por tales motivos, los requerimientos de seguridad son cada vez mayores, presentándose así un problema que la Seguridad Informática, haciendo uso fundamentalmente de técnicas criptográficas, trata de resolver implementando diversas herramientas.
Los servicios de control de acceso dentro de un sistema de comunicaciones son parte fundamental de estos requerimientos de seguridad. La restricción a usuarios no autorizados para hacer uso de los recursos de una red suele ser más complicado de lo que parece debido a que, en la mayoría de los sistemas, el control se basa en proporcionar un usuario y contraseña, sin embargo, esta información se envía a través de las redes en texto claro o con sistemas de confidencialidad casi nula, facilitando la tarea de intrusos a descubrirlos y hacer un mal uso de estos datos.
En pleno inicio de las redes, principalmente de Internet, eran pocos los usuarios que necesitaban una conexión. Sin embargo, conforme crecieron las redes, se necesito gestionar a los usuarios de manera centralizada, surgiendo, entre otros, el protocolo RADIUS.
RADIUS es un protocolo Standard de la industria que implementa autenticación, autorización y auditoria para conexión a servidores. En el pasado los servidores de acceso eran típicamente servidores tipo Network Access Server” (NAS) que mediante una conexión modem o una tipo red privada virtual (VPN) daban servicios de Internet a quien lo solicitara. Hoy por hoy, los requerimientos han cambiado, y los usos para el protocolo RADIUS está cambiando a puntos de acceso inalámbricos (AP), switches y otros tipos de equipos de red que requieren autenticar y autorizar sus conexiones.
Muchos de los protocolos de autenticación, incluyendo RADIUS trabajan en base a usuario/contraseña, sin embargo, con la sofisticación de herramientas que analizan tráfico o de criptoanálisis, se ha demostrado que la autenticación basada en contraseñas es muy vulnerable.
Los certificados digitales permiten, entre otras cosas:
Envío de correos seguros.
Comercio electrónico.
Transacciones bancarias.
Acceso seguro a bases de datos.
Comunicaciones seguras.
Firma digital para documentos
La fortaleza del uso de certificados digitales radica en la autenticación de usuarios por parte de una tercera parte de confianza, que al generar un certificado para un usuario, lo reconoce como un usuario registrado y que, dependiendo del estado de este certificado, serán los permisos otorgados al usuario.
Hoy en día es fundamental para empresas, industrias e instituciones educativas estar conectados a Internet. Para poder brindar seguridad a estas conexiones, es necesario conocer tanto el software como hardware que permiten realizar estas conexiones a la red de redes. En este capítulo se da una breve introducción a los dispositivos que existen en una red, su distribución así como una explicación de los modelos de comunicación más importante que se utilizan en las redes.
1.1 DEFINICIÓN
Una red es un conjunto de dispositivos (a menudo denominados nodos) conectados por un medio físico. Un nodo puede ser una computadora, una impresora o cualquier otro dispositivo capaz de enviar y recibir datos generados por otros nodos de la red. Los enlaces conectados con los dispositivos se denominan a menudo canales de comunicación.
Las redes permiten a los usuarios finales compartir recursos de información y de hardware. Los principales recursos que se comparten en una red de computadoras incluyen lo siguiente:
Datos y aplicaciones: Cuando los usuarios están conectados a través de una red, pueden compartir archivos e incluso programas de aplicaciones de software, lo que hace que los datos estén disponibles con mayor facilidad y promueve la colaboración más eficiente en los proyectos de trabajo.
Recursos: Los recursos que se pueden compartir incluyen dispositivos de entrada y dispositivos de salida.
Almacenamiento de una red: En la actualidad existen varias formas en las que la red brinda a los usuarios la capacidad de almacenamiento, como por ejemplo medios extraíbles o redes de servidores.
Hay cinco conceptos generales que conforman la base para la relación de dispositivos de red:
- Configuración de línea.
- Topología.
- Modo de transmisión.
- Clases de redes.
1.1.1 Configuración de línea
La configuración de línea se refiere a la forma en que dos o más dispositivos se conectan a un enlace para comunicarse. Un enlace es el medio de comunicación físico que transfiere los datos de un dispositivo a otro. Existen dos configuraciones posibles: punto a punto y multipunto.
Punto a punto
Una configuración de línea punto a punto proporciona un enlace dedicado entre dos dispositivos. Toda la capacidad del canal se reserva para la transmisión entre ambos dispositivos.
Figura 1.1. Configuración punto a punto
Multipunto
[image:20.612.252.363.292.380.2]Una configuración de línea multipunto es una configuración en la que varios dispositivos comparten el mismo enlace. En un entorno multipunto, la capacidad del canal es compartida en el espacio o en el tiempo.
Figura 1.2. Configuración multipunto
1.1.2 Topología de redes
representación geométrica y distribución entre todos los enlaces y los dispositivos que se entrelazan entre sí.
La topología lógica de una red se refiere a las ruta lógicas que las señales utilizan para viajar de un punto de la red a otro; es decir, la forma en que los datos acceden a los medio de la red y transmiten paquetes por ella.
Existen 5 posibles de topologías: malla, estrella, bus, anillo y árbol. Estas cinco clases describen como están interconectados los dispositivos de una red, lo que no indica es su posición física.
Topología Malla
En una topología malla cada dispositivo se conecta mediante un enlace punto a punto y privado o dedicado con cualquier otro dispositivo.
La principal ventaja de una topología malla es que si un enlace entre dos dispositivos falla, la información puede ser enviada por otra trayectoria.
[image:21.612.232.398.386.465.2]Sus principales desventajas son que utilizan gran cantidad de cableado y la cantidad de puertos de entrada/ salida que se utilizan.
Figura 1.3. Topología tipo malla
Topología Estrella
En una topología estrella cada dispositivo tiene un enlace punto a punto dedicado o privado con el nodo central. La topología estrella no permite tráfico de datos directos entre dispositivos.
Sus ventajas es que es más fácil de instalar y configurar, si falla un enlace solamente este se verá afectado todos los demás permanecen activos.
Figura1.4. Topología tipo estrella
Topología Árbol
La topología árbol es una variante de la estrella. Al igual que la estrella, los nodos del árbol están conectados a un controlador central que controla el tráfico de la red. Sin embargo, no todos los dispositivos se conectan directamente al nodo central. La mayoría se conecta a un nodo secundario que a su vez se conecta al concentrador central.
Sus ventajas permite que se conecte más dispositivos a un nodo central además que permite aislar y priorizar las comunicaciones de distintos dispositivos.
Figura1.5. Topología tipo árbol
Topología Bus
La topología bus es un multipunto. Un cable largo actúa como un enlace principal ó troncal que conecta todos los dispositivos a la red.
Los dispositivos se conectan al bus mediante cables de conexión, mejor conocidas como
Figura 1.6. Topología tipo bus
Topología Anillo
En una topología anillo cada dispositivo tiene una línea de conexión dedicada y punto a punto solamente con dos dispositivos que están a sus lados. La señal pasa a lo largo del anillo en una dirección o de dispositivo a dispositivo hasta alcanzar su destino.
Figura1.7 Topología tipo anillo
1.2 CLASES DE REDES
Actualmente, cuando se habla de redes, se suele hablar de 3 clases principales: redes de Área Local, Metropolitana y de área Amplia. La clase a la cual una red pertenece se determina por su tamaño, propietario, la distancia que cubre y su arquitectura física. Sin embargo, se pueden también hablar de otro tipo como son redes de almacenamiento y virtuales.
Red de Área Local (LAN)
Redes de Área Metropolitana (MAN)
La MAN, por sus siglas en inglés, es una red que abarca un área metropolitana, como, por ejemplo, una ciudad o una zona suburbana. Una MAN generalmente consta de una o más LAN
dentro de un área geográfica común. Por ejemplo, un banco con varias sucursales puede utilizar una MAN. Normalmente, se utiliza un proveedor de servicios para conectar dos o más sitios LAN utilizando líneas privadas de comunicación o servicios ópticos. También se puede crear una MAN usando tecnologías de puente inalámbrico enviando haces de luz a través de áreas públicas.
Redes de Área de Almacenamiento (SAN)
Una SAN, por sus siglas en ingles, es una red dedicada, de alto rendimiento, que se utiliza para trasladar datos entre servidores y recursos de almacenamiento. Al tratarse de una red separada y dedicada, evita todo conflicto de tráfico entre clientes y servidores.
La tecnología SAN permite conectividad de alta velocidad, de servidor a almacenamiento, almacenamiento a almacenamiento, o servidor a servidor. Este método usa una infraestructura de red por separado, evitando así cualquier problema asociado con la conectividad de las redes existentes.
Redes de área amplia (WAN)
Las WAN interconectan las LAN, que a su vez proporcionan acceso a las computadoras o a los servidores de archivos ubicados en otros lugares. Como las WAN conectan redes de usuarios dentro de un área geográfica extensa, permiten que las empresas se comuniquen entre sí a través de grandes distancias.
Red Privada virtual (VPN)
Una VPN es una red privada que se construye dentro de una infraestructura de red pública, como la Internet. Con una VPN (Virtual Private Network), un empleado a distancia puede acceder a la red de la sede de la empresa a través de Internet, formando un túnel seguro entre el PC del empleado y un router VPN en la sede.
Las VPN transportan de manera segura datos por Internet por un túnel establecido entre dos puntos que negocian un esquema de encriptación y autenticación para el transporte. Una VPN
1.3 MODELO DE COMUNICACIONES HOST A HOST
1.3.1 Modelo OSI
El modelo de referencia de Interconexión de los Sistemas Abiertos (OSI, por sus siglas en ingles) fue creado para ayudar a definir la función de los procesos de red en general, incluidos los distintos componentes de las redes y la transmisión de datos. Un sistema abierto es un modelo que permite que dos sistemas diferentes se puedan comunicar independientemente de la arquitectura subyacente. El modelo OSI no es protocolo; es un modelo para comprender y diseñar una arquitectura de red flexible, robusta e interoperable.
El modelo OSI es una arquitectura que está formado por siete niveles separados, pero relacionados, donde cada uno de los niveles define un segmento del proceso necesario para mover la información a través de una red.
Este modelo proporciona muchos beneficios para comprender como funcionan las redes debido a que reducen la complejidad, estandarizan interfaces y garantizan tecnología interoperable, entre otras ventajas.
1.3.1.1 Capas del modelo OSI y sus funciones
Cada capa del modelo OSI tiene una función específica y un software o dispositivos relacionados con ella.
7 Aplicación 6 Presentación
5 Sesión
4 Transporte
3 Red
2 Enlace de datos
1 Física
Figura1.8. Modelo OSI
Capa 1: Capa física
Capa 2: Capa de enlace de datos
Define como se formatean los datos para su transmisión y como se controla el acceso al medio físico. Esta capa generalmente incluye la detección y corrección de errores para garantizar la entrega confiable de datos de nodo a nodo.
Las responsabilidades de esta capa son:
Entramado: divide el flujo de bits recibido por la capa de red en unidades llamadas tramas.
Direccionamiento físico: define y añade direcciones fuente y destino, direcciones MAC, a la trama para distribuir la trama por distintos sistemas de la red.
Control de flujo: Impone un mecanismo de control de flujo para prevenir el desbordamiento de información debido a velocidades de transmisión-recepción diferentes entre emisor y receptor. Este proceso es realizado por la subcapa LLC (Control de Enlace Lógico).
Control de errores: incluye mecanismos para detectar y retransmitir las tramas defectuosas o pérdidas. Este mecanismo es una operación binaria que se añade al mensaje y se calcula tanto en el emisor como en el receptor; si coinciden estos checksum se toma como un mensaje sin errores.
Acceso al medio: determina cual de los dispositivos finales puede hacer uso del medio de transmisión. Permite a los dispositivos realizar un envió de información. Existen dos tipos de acceso al medio:
• Determinístico: mediante un sistema de control, solo se permite a un dispositivo realizar una transmisión. Este método evita colisiones entre paquetes. Ejemplos de este método de acceso son: FDDI, Token Ring.
• Aleatorio
Capa 3: Nivel de Red
La capa de red proporciona conectividad y selección de rutas entre dos sistemas host que pueden estar localizados en redes geográficamente separadas.
Las características principales son:
Direccionamiento lógico: el nivel de red añade una cabecera al paquete que viene del nivel superior, que entre otras cosas, incluye las direcciones lógicas del emisor y del receptor.
Ruteo
Capa 4: Nivel de transporte
El nivel de transporte es el responsable de la entrega origen a destino de todo el mensaje. Asegura que todo el mensaje llegue intacto y en orden, supervisando tanto el control de errores como el control de flujo de origen a destino.
Para mayor seguridad, el nivel de transporte puede crear una conexión (virtual) entre los dos puertos finales. Esta conexión es un único camino lógico entre el origen y el destino. Con esto, se tiene mayor control sobre la secuencia, flujo y detección de errores.
Capa 5: Nivel de sesión
Es el controlador del dialogo de la red. Establece, mantiene y sincroniza la interacción entre los sistemas de comunicación. Sus responsabilidades son las siguientes:
: proporciona los mecanismos para encaminar los paquetes a su destino final, esto cuando un conjunto de redes se conectan para crear una Internet.
Control de dialogo: Permite que dos sistemas entablen un dialogo.
Sincronización
Capa 6: Nivel de presentación
Este nivel está relacionado con la sintaxis y la semántica de la información intercambiada entre dos sistemas. Sus responsabilidades son:
: Permite añadir puntos de prueba en un flujo de datos para evitar retransmisiones completas de información.
Traducción: traduce la información a flujos de bits antes de transmitirlas; es responsable de la interoperabilidad entre distintos métodos de codificación.
Capa 7: Nivel de aplicación
Permite tanto al usuario como al software, acceder a la red. Proporciona interfaces de usuario y el soporte para servicios de información distribuida.
Los encabezados se añaden a los datos en los niveles 6, 5, 4, 3 y 2. Las colas se añaden habitualmente solo en el nivel 2.
En el nivel 1 se convierte todo el paquete al formato en que se puede transferir hasta la maquina receptora; en esta, el mensaje es extraído nivel por nivel, en los cuales, cada capa procesa la información correspondiente y pasa el resto a los niveles superiores.
Figura1.9. Encapsulamiento
1.3.2 Protocolo TCP/IP. Capas y funciones
El estándar histórico y técnico de Internet es el modelo TCP/IP (las siglas en ingles de
Transport Control Protocol/ Internet Protocol). Fue creado por el Departamento de Defensa de EE.UU. (DoD). TCP/IP se desarrolló como un estándar abierto. El modelo TCP/IP tiene las siguientes cuatro capas:
Aunque algunas de las capas del modelo TCP/IP tienen el mismo nombre que las capas del modelo OSI, las capas de ambos modelos no se corresponden de manera exacta. Lo más notable es que la capa de aplicación posee funciones diferentes en cada modelo.
4 Aplicación
3 Transporte
2 Internet
1 Acceso a la red
Figura 1.10. Protocolo TCP/IP
Capa de Acceso a la Red
Esta capa realiza las funciones correspondientes a la capa Física y de Enlace de Datos del modelo OSI.
Capa de Internet
El componente IP (Internet Protocol) de esta capa, determina a donde se rutearán los paquetes de datos sobre la base de sus direcciones de destino.
IP utiliza paquetes para transportar información a través de la red. Un paquete es una entidad autónoma e independiente que contiene datos e información suficiente para llegar desde la fuente al destino sin depender de intercambios anteriores.
IP tiene las siguientes características:
IP es un protocolo no orientado a la conexión en el que un datagrama de una vía se envía a su destino sin aviso previo al dispositivo destino. El destino, recibe los datos y no devuelve ninguna información de estado al dispositivo fuente.
Utiliza direccionamiento jerárquico.
Proporciona servicio en base a su mejor esfuerzo y no garantiza la entrega del paquete. No proporciona ninguna función esencial para que se recupere paquetes corruptos.
Capa de Transporte
La capa de transporte se encarga de los aspectos de calidad del servicio con respecto a la confiabilidad, el control de flujo y la corrección de errores.
TCP es un protocolo orientado a la conexión. Mantiene un diálogo entre el origen y el destino mientras empaqueta la información de la capa de aplicación en unidades denominadas segmentos. Orientado a conexión no significa que existe un circuito entre los computadoras que se comunican. Significa que segmentos de la Capa 4 viajan de un lado a otro entre dos hosts para comprobar que la conexión exista lógicamente para un determinado período.
El protocolo UDP (siglas en ingles de User Datagram Protocol) proporciona accesos a la capa de red sin la sobrecarga de los mecanismos de fiabilidad. Es un protocolo no orientado a conexión, por lo cual basa su funcionamiento en el servicio de máximo esfuerzo y no garantiza la entrega de los datos. Otra característica es que ofrece poca fiabilidad a los datos que entrega pues solo incluye un pequeño bloque de verificación de errores.
Capa de aplicación
Corresponde a las tres últimas capas del modelo OSI. Realiza las funciones de la capa de aplicación presentación y sesión del modelo OSI.
1.4 DIRECCIONAMIENTO IP
Para facilitar el enrutamiento de paquetes a través de la red, la suite de protocolos TCP/IP utiliza una dirección lógica, conocida como dirección IP. La dirección IPv4 (IP Versión 4) es el tipo más común de dirección que se utiliza en Internet; son números de 32 bits que describen la ubicación de un dispositivo. Esta dirección consta de dos partes:
• Dirección de red.
• Dirección de host.
Para facilitar el uso de estas direcciones se dividen los 32 bits en 4 grupos de 8 bits. Cada octeto, también llamado byte, se representa con un número decimal y es separado por un punto. Las direcciones IP se dividen en categorías denominadas clases. En la tabla siguiente se observa las clases y la estructura de cada una.
CLASE A Un bit fijo 0xxxxxxx HOST HOST HOST
CLASE B Dos bits fijos 10xxxxxx RED RED HOST
CLASE C Tres bits fijos 110xxxxx RED RED HOST
Tabla 1.1. Clases de direcciones
CLASE DE DIRECCION IP
VALOR DEL PRIMER BYTE EN
DECIMAL
VALOR DEL PRIMER BYTE EN
BINARIO
NUMERO POSIBLE DE
HOSTS
CLASE A 1-126 00000001 A 01111110 16777214
CLASE B 128-191 10000000 A 10111111 65334
CLASE C 192-223 11000000 A 11011111 254
Tabla 1.2. Direccionamiento IP
Algunas direcciones IP (red y broadcast) están reservadas y no se pueden asignar a dispositivos finales. Así mismo, los host de Internet requieren de una dirección pública única, pero los host privados pueden tener cualquier dirección privada valida que sea única dentro de la red privada.
1.5 COMPONENTES FISICOS COMUNES EN UNA RED
Los dispositivos de red son los encargados de transportar los datos que deben transferirse entre dispositivos de usuario final. Para la construcción de una red de datos son cuatro los elementos principales de componentes físicos en una red de datos:
1.- Dispositivos finales. Las computadoras e impresoras sirven como puntos finales en la red; sin embargo no solo estos dispositivos son utilizados, podemos utilizar teléfonos IP, servidores NAS, entre otros.
2.- Interconexiones. Las interconexiones constan de componentes que proporcionan un medio para que los datos viajen de un punto a otro en la red. Esta categoría incluye componentes tales como son:
Tarjetas de interfaz de red (NIC). Traducen los datos producidos por la computadora un formato que se puede transmitir por la red local.
Medios de red. Proporcionan el medio que por el cual las señales se transmiten de un dispositivo a otro. Comúnmente se utiliza el cable par trenzado (UTP) 5E o 6, sin embargo, con el desarrollo de las comunicaciones, se empieza a utilizar fibra óptica como medio de transmisión, que, aunque es más costosa, elimina los desventajas de utilizar cobre como medio por ejemplo las interferencias electromagnéticas.
3.- Switches. Los switches agregan inteligencia a la administración de transferencia de datos. No sólo son capaces de determinar si los datos deben permanecer o no en una LAN, sino que pueden transferir los datos únicamente a la conexión que necesita esos datos. Un switch no convierte formatos de transmisión de datos. Estos dispositivos trabajan en la capa 2 de los modelos OSI y TCP/IP.
4.- Router. Permiten la conexión entre diferentes LAN además de proporcionar conexión a redes WAN Pueden regenerar señales, concentrar múltiples conexiones, convertir formatos de transmisión de datos, y manejar transferencias de datos. A estos elementos se les conoce como dispositivos de capa 3 en los modelos de comunicación.
En la figura siguiente ven los dispositivos y las conexiones más comunes en las redes actuales.
El desafío de la seguridad, en general, es encontrar un equilibrio entre dos necesidades importantes: brindar soporte a los cambiantes requisitos de las redes y proporcionar libertad a la información importante de cada sistema minimizando su vulnerabilidad. En este capítulo, se definen los diferentes tipos de ataque y las herramientas que se tienen para evitarlos. Además, se profundiza en la autenticación de mensajes, que es parte esencial de este trabajo.
2.1 TIPOS DE REDES
La manera más sencilla de proteger una red de un ataque externo es aislarla completamente del mundo exterior. Una red cerrada proporciona conectividad solamente a partes y sitios conocidos y confiables; no permite conexiones a redes públicas.
Debido a que no hay conectividad externa, las redes diseñadas de esta manera se pueden considerar seguras de ataques externos. Sin embargo, se calcula que el 60 % de los casos de ataque provienen del personal que labora en la empresa.
Figura 2.1. Esquema de una red cerrada
Figura 2.2. Esquema de una red abierta
2.2 ARQUITECTURA DE SEGURIDAD OSI
Para analizar de forma efectiva las necesidades de seguridad de una organización, evaluar y elegir distintos productos y políticas de seguridad, el responsable de la seguridad necesita una forma sistemática de definir los requisitos de seguridad y caracterizar los enfoques para satisfacer dichos requisitos. Esto es bastante difícil en un entorno centralizado de procesamiento de datos, y con el uso de redes de área amplia, los problemas se agravan.
La recomendación X.800 de la ITU (International Telecommunication Union) es un servicio proporcionado por un protocolo de Sistemas Abiertos de Comunicación (ISO), que garantiza la seguridad adecuada de los sistemas o de las transferencias de datos, La Arquitectura de Seguridad OSI, define este enfoque sistemático. La arquitectura de seguridad OSI es útil a los administradores de red para organizar la tarea de proporcionar seguridad. Esta arquitectura de seguridad define tres aspectos fundamentales:
Ataques a la seguridad.
Mecanismos de seguridad.
Servicios de seguridad.
2.2.1 Ataques a la seguridad
Un ataque a la seguridad es cualquier acción que comprometa la seguridad de la información de una organización. La recomendación X.800 y el RFC (Request for Comments, por sus siglas en ingles) 2828 realizan una distinción entre los diferentes ataques que se pueden realizar a las redes:
Ataques Pasivos
Este tipo de ataques se dan en forma de escucha u observación no autorizada de las transmisiones. El objeto del oponente es obtener información que se esté viajando en el medio. Podemos distinguir dos tipos de ataques pasivos:
- Obtención de contenido de mensajes. - Análisis de tráfico.
En el primer caso, el oponente trata de conocer los contenidos de las transmisiones que se realizan. A diferencia de la obtención del contenido de mensajes, el análisis de tráfico es más sutil.
La intercepción pasiva de la red, permite a los oponentes ver las próximas acciones. Este tipo de ataques ocasionan la divulgación de archivos de información o de datos a un oponente sin la autorización ni el conocimiento del usuario. Un ejemplo de este tipo de ataque puede ser información personal, números de tarjetas de crédito y contraseñas.
Los ataques pasivos son muy difícilmente de detectar ya que no implican alteraciones en los datos. La técnica común para enmascarar el contenido de un mensaje es el cifrado
Ataque Activo
Los ataques activos incluyen intentos por evadir o descifrar características de protección, introducir códigos maliciosos y robar o modificar información. Este tipo de ataques se pueden dividir en:
Suplantación: se produce cuando una entidad finge ser otra.
Repetición: implica la captura pasiva de una entidad de datos y retransmisión posterior para producir un efecto no autorizado.
Modificación de mensajes: parte del mensaje original es alterado, o que los mensajes se han retrasado o reordenado para producir un efecto no autorizado.
2.2.2 Mecanismos de seguridad
Los mecanismos de seguridad implementan los servicios de seguridad; son los elementos lógicos, para construir protocolos de seguridad, los cuales permiten a determinadas entidades el intercambio de información para proporcionar los servicios de seguridad a las entidades usuarias.
Los mecanismos específicos de seguridad: pueden ser incorporados en la capa de protocolo adecuada para proporcionar algunos de los servicios de seguridad.
Cifrado: es el uso de algoritmos matemáticos para transformar datos en forma inteligible. La transformación y la posterior recuperación de los datos depende de un algoritmo y alguna clave de cifrado.
Firma digital: son datos añadidos a una unidad de datos que permite al receptor verificar la fuente y la integridad de la unidad de datos y protegerla de la falsificación. Estos datos añadidos pueden estar encriptados lo cual brinda autenticación.
Control de acceso: son una serie de mecanismos que refuerzan los derechos de acceso a los recursos.
Integridad de los datos: una serie de mecanismos empleados para verificar la integridad de una unidad de datos o del flujo de unidades de datos.
Intercambio de autenticación: mecanismo diseñado para comprobar la identidad de una entidad por medio del intercambio de información.
Relleno del tráfico: la inserción de bits en espacios en un flujo de datos para frustrar los intentos de análisis de tráfico.
Control de enrutamiento: permite la selección de rutas físicamente seguras para determinados datos y permite los cambios de enrutamiento, especialmente cuando se sospecha de una brecha en la seguridad.
Notarización: el uso de una tercera parte confiable para asegurar determinadas propiedades de un intercambio de datos.
2.2.3 Servicios de seguridad
Para la recomendación X.800 se definen 5 categorías de servicios de seguridad, donde cada una de estas tiene servicios específicos.
Autenticación
El servicio de autenticación se encarga de garantizar la autenticidad de la comunicación. Si se encarga de un único mensaje, la función del servicio de autenticación es asegurar al receptor que el mensaje pertenece a la fuente de la que dice proceder. En el caso de una interacción continua, intervienen dos aspectos.
1. Inicio de conexión: asegura que las dos entidades son autenticas, es decir, que cada entidad es la que dice ser.
2. El servicio debe asegurar que la conexión no esté intervenida de forma que una tercera persona pueda suplantar a una de las dos partes autenticas.
Control de acceso
Este servicio, limita y controla el acceso a los sistemas host y aplicaciones por medio de enlaces de comunicaciones. Para conseguirlo, cualquier entidad que intente acceder debe antes ser identificada o autenticada, de forma que los derechos de acceso puedan adaptarse de manera individual. En general, los servicios de control de acceso son los más comúnmente mencionados, tanto en seguridad de computadoras como de comunicaciones.
Confidencialidad de los datos
Es la protección de los datos transmitidos contra ataques pasivos. El servicio más amplio protege los datos de los usuarios que se han transmitido por conexión TCP. Se pueden distinguir formas más específicas de este servicio, incluyendo la protección de un solo mensaje o incluso de determinados campos de un mensaje. Estos refinamientos son menos útiles que el enfoque amplio y su implementación puede ser más compleja y costosa.
Este tipo de servicio lo podemos clasificar en:
Los servicios de confidencialidad orientados a la conexión que proporcionan confidencialidad a todos los datos transmitidos durante una conexión.
Los servicios de confidencialidad no orientados a conexión proporcionan confidencialidad de unidades simples de datos.
Los servicios de confidencialidad de flujo de tráfico proporcionan protección de información que de otra forma podría resultar comprometida u obtenida indirectamente mediante el análisis de tráfico.
Integridad de los datos
El enfoque más útil y claro de la integridad es la protección del flujo completo, sin embargo, al igual que ocurre con la confidencialidad, se puede aplicar a una serie de mensajes, a un solo mensaje o a campos seleccionados de un mensaje.
Un servicio de integridad orientado a la conexión que funcione sobre un flujo de mensajes garantiza que los mensajes se reciban tal y como son enviado, sin duplicados, inserción, modificación, reordenación ni repeticiones. La destrucción de datos queda también cubierta con este servicio.
Un servicio de integridad no orientado a la conexión trata únicamente los mensajes individuales, sin tener en cuenta contextos mayores, solo proporciona, protección contra la modificación de mensajes.
No repudio
Evita que el emisor o el receptor nieguen la transmisión de un mensaje. Así, cuando se envía un mensaje, el receptor puede comprobar que, efectivamente, el supuesto emisor envía el mensaje y el receptor acepte que ha recibido el mensaje
Servicio de disponibilidad
Es la propiedad asociada a diferentes servicios o recurso de un sistema de estar accesible y utilizable a petición de una entidad autorizada, según las especificaciones de rendimiento para el sistema. Una variedad de ataques puede dar como resultado la pérdida o reducción de la disponibilidad.
2.3 SERVICIO DE AUTENTICACIÓN
En general, se entiende por autenticación a la verificación de la supuesta identidad de un principal. La autenticación tiene como resultado la autenticidad, lo que quiere decir que el principal que verifica (verificador) puede estar seguro de que el principal verificado (solicitante) es quien es o quien dice ser. Este tipo de servicio protege contra suplantación de personalidad.
En la recomendación X.800 se definen dos tipos particulares de autenticación:
Autenticación de entidades origen/destino: proporciona la confirmación de la identidad de una entidad de una asociación. Esta se proporciona durante el establecimiento de una conexión o a veces durante la fase de transmisión de datos de dicha conexión. Intenta asegurar que una entidad no está realizando suplantación o una repetición no autorizada de una conexión anterior.
Autenticación del origen de los datos: corrobora la fuente de una unidad de datos. No aporta protección contra repetición o alteración de unidades de datos. Este tipo de servicio admite aplicaciones como el correo electrónico, donde no hay interacciones previas en las entidades que se comunican.
Las técnicas utilizadas para la autenticación se dividen básicamente en tres categorías:
Autenticación basada en contraseña
En la mayoría de las redes de computadoras y sistemas distribuidos, la protección de los recursos se consigue protegiendo con contraseñas el acceso a los sistemas. Los usuarios seleccionan su contraseña y la transmiten de forma clara y no protegida. Este tipo de sistema presenta serios problemas:
Los usuarios tienden a seleccionar contraseñas que no se distribuyen aleatoriamente. Es mejor que el usuario sea reconocido como uso solo en todo el sistema.
La transmisión de la propia contraseña está expuesta a escuchas pasivas y a posteriores ataque de réplica.
Autenticación basada en direcciones
Autenticación criptográfica
La idea básica de la autenticación criptográfica, es que un solicitante A pruebe su identidad al verificador B realizando una operación criptográfica sobre un secreto que ambos conocen o que B suministra. La operación criptográfica realizada por A se basa en una clave criptográfica, que puede ser una clave secreta o una clave privada de un criptosistema con clave pública.
En general, la autenticación criptográfica puede hacerse más segura que la autenticación basada en contraseñas o en direcciones.
2.4 CRIPTOGRAFIA Y CIFRADO
La mejor manera de proporcionar integridad y confidencialidad en los datos en un mensaje, es alterar su orden o su contenido de manera que solo el receptor autorizado pueda conocer el mensaje verdadero. A este proceso de modificación se le conoce como cifrado.
La criptografía se refiere a la ciencia de conservar un mensaje oculto. Los algoritmos criptográficos definen una secuencia de operaciones y transformaciones aplicadas a los datos de un mensaje, donde se contemplan algoritmos de cifrado.
Un criptosistema, o sistema de criptografía, implementa algoritmos criptográficos y se utiliza para cifrar y descifrar mensajes.
Los sistemas criptográficos se pueden clasificar atendiendo tres factores:
El tipo de operación para transformar el texto claro en texto cifrado.
• Sustitución: cada elemento del texto claro se sustituye por otro diferente. • Trasposición: los elementos del texto claro se reordenan.
El numero de claves usadas.
• Simétrico: el emisor y el receptor utilizan la misma clave. • Asimétrico: el emisor y el receptor utilizan claves diferentes. La forma de procesar el texto claro.
• Bloque: procesa un bloque de elementos.
• Flujo: procesa los elementos de entrada continuamente.
Un esquema de cifrado es computacionalmente seguro si cumple con los criterios siguientes:
• El costo de romper el cifrado excede el valor de la información cifrada.
2.4.1 Sistemas de clave secreta
A los sistemas de cifrado con clave secreta, también se les conoce como cifrado simétrico. En los algoritmos de cifrado simétrico, la clave de cifrado y descifrado es la misma; esta clave secreta, la comparten el emisor y receptor del mensaje. Los componentes en un sistema de cifrado simétrico son:
Texto claro: mensaje o datos originales que se introducen en el algoritmo como entrada.
Algoritmo de cifrado: el algoritmo de cifrado realiza varias sustituciones y transformaciones en el texto claro.
Clave secreta: también es una entrada del algoritmo. Las sustituciones y transformaciones realizadas por el algoritmo dependen de ella.
Texto cifrado: el mensaje ilegible que se produce como salida. Depende del texto claro y de la clave secreta.
Algoritmo de descifrado: es el algoritmo de cifrado ejecutado a la inversa. Toma el texto cifrado y la misma clave secreta, y genera el texto claro.
Hay dos requisitos importantes para el uso seguro del cifrado simétrico.
1. Se necesita un algoritmo de cifrado robusto. Que el atacante no pueda descifrar el texto o averiguar la clave aunque estuviera en posesión de varios textos cifrados junto con sus correspondientes textos originales.
2. Que el emisor y el receptor obtengan las claves secretas de forma segura y guardarla de la misma manera.
Es importante observar que la seguridad de este tipo de cifrado depende de la privacidad de la clave, no de la privacidad del algoritmo.
2.4.2 Estructura básica del cifrado simétrico
La mayoría de los algoritmos de cifrado simétrico de bloque están basados en la estructura descrita por Horst-Feistel en 1973. Las características principales son:
• Dado un bloque de N bits (típicamente 64) éste se dividirá en dos mitades.
• Existirá una función unidireccional F (muy difícil de invertir).
• Se realizan operaciones con la clave ki sólo con una mitad del bloque, y se permutan
Figura 2.4. Algoritmo de Feistel
Los principales algoritmos de cifrado simétrico son:
DES (Estándar de Encriptación deDatos)
3DES (Encripta-Desencripta-Encripta)
RIJNDAEL (Estándar de Encriptación Avanzada)
2.4.2.1 Estándar de encriptación de datos (DES)
El esquema de cifrado simétrico más extendido es el DES y está basado en el algoritmo DEA (Algoritmo de Encriptación de Datos). El texto claro tiene una longitud de 64 bits y la clave de 56. La estructura de este algoritmo consiste en una pequeña variación del algoritmo de Feistel. Hay 16 etapas de proceso, en las cuales se generan 16 subclaves partiendo de la clave original de 256 bits, uno para cada etapa.
El aspecto de mayor importancia, con respecto a la robustez de este algoritmo es la longitud de la clave. Con un tamaño de 56 bits, existen aproximadamente 7.2*1016
En este caso se logra un valor efectivo de longitud de clave igual a 2
claves. Lo cual parece no ser práctico un ataque de fuerza bruta.
2.4.2.2 Triple DES
Este modelo fue propuesto por Matyas y Meyer de IBM, se conoce como EDE ( Encripta-Desencripta-Encripta) y es inmune a ataques Man- In- The Middle.
2n bits, es decir 22•56 = 2112
Figura 2.5. Algoritmo 3DES
Con 3 claves diferentes, el 3DES tiene una longitud de clave efectiva de 168 bits. Las desventajas de este algoritmo es que debido a que se realizan tres procesos, se vuelve relativamente lento; además de que el tamaño de bloque es bajo, lo que lo hace poco eficiente.
2.4.2.3 Estándar de encriptación avanzada (AES)
Este algoritmo, mejor conocido como Rijndael, usa una longitud de bloque de 128 bits y su longitud de clave puede ser de 128, 192 ó 256 bits.
2.4.2 Sistemas de clave pública
La criptografía publica es asimétrica, es decir, se utiliza un par claves separadas. Esto tiene importantes consecuencias en la autenticación, confidencialidad y distribución de claves. La importancia de los algoritmos de clave pública radica en que están basados en funciones matemáticas. Los componentes en un sistema de cifrado de clave pública son:
Texto claro: consiste en el mensaje o los datos legibles que se introducen en el algoritmo de entrada.
Algoritmo de cifrado: realiza las diferentes transformaciones en el texto claro.
Clave pública y privada: es una pareja de claves que han sido seleccionadas, de las cuales una se usa para el cifrado y otra para el descifrado. A la clave publica tendrán acceso otros usuarios; a la clave privada solo tendrá acceso un usuario.
Texto cifrado: es el mensaje desordenado producido como salida.
Algoritmo de descifrado: acepta el texto cifrado y la clave correspondiente y produce el texto original.
Los pasos fundamentales de este algoritmo son:
1. Cada usuario genera una pareja de claves para cifrar y descifrar el mensaje.
2. Cada usuario localiza la clave pública en un registro del mismo tipo. La clave privada no se revela. Así mismo cada usuario mantiene un grupo de claves públicas otros usuarios.
3. Si un usuario A quiere enviar desea enviar un mensaje a B, este los cifra con la clave pública de B. al recibir B, lo descifra con su clave privada.
El uso de los sistemas de criptografía de sistemas de clave pública son básicamente tres categorías:
Cifrado y descifrado: el emisor cifra un mensaje con la clave pública del receptor. Firma digital: el emisor “firma” un mensaje con su clave privada.
Intercambio de clave: dos partes cooperan para intercambiar una clave de sesión. Los requisitos para que sea confiable y práctico un sistema de clave pública son:
1. Para una entidad es fácil generar una pareja de claves (clave pública KUx, clave
privada KRx
2. Para un emisor A que conozca la clave pública y el mensaje que ha de cifrarse, M, es fácil general el texto cifrado correspondiente: C = E
).
KUb
3. Para un receptor B es fácil descifrar el texto recibido con su clave privada:
M = D
(M).
KRb(C) = DKRb [EKUb
4. Es imposible que un oponente, conociendo la clave pública, KU (M)].
b, conozca la
clave privada KRb
5. Es imposible que un oponente, conociendo la clave pública, KU
.
b
El principal algoritmo de cifrado asimétrico es el algoritmo RSA.
2.4.2.1 Algoritmo RSA
En febrero de 1978 Ron Rivest, Adi Shamir y Leonard Adleman proponen un algoritmo de cifra de clave pública. Este es uno de los primeros esquemas desarrollados además es el enfoque más aceptado e implementado. Es un cifrado de bloque en el que el texto claro y el texto cifrado son enteros 0 y n -1 para algún n.
Para algún texto claro M y un bloque de datos cifrados C, el cifrado y el descifrado son de la siguiente forma:
Cifrado: C = Me mod n
Descifrado: Cd mod n = (Me)d mod n = Med mod n
Cd mod n = Mkφ(n)+1 mod n = M∗Mkφ(n)mod n Cd
6. KU = {e,n}
mod n = M∗1 mod n = M mod n
Tanto el emisor como el receptor deberán conocer los valores de n y e y solo el receptor conoce el valor de d. El par de claves está dada por:
7. KR = {d,n}
Para que el algoritmo sea satisfactorio se deben cumplir estos criterios:
i. Que sea posible calcular los valores de e, d, n tal que Med
ii. Que sea relativamente fácil calcular M
= M mod n
para valores M<n.
e y Cd
iii. Que sea imposible determinar d dados e y n.
para valores M<n.
Los siguientes pasos y la Tabla 2.1 dan una idea de cómo funciona el algoritmo RSA.
1. Cada usuario elige p y q y se calcula el valor de n. Estos pueden y de hecho son distintos. Así mismo se calcula el producto n = p*q.
2. Los valores p y q no se hacen públicos.
3. Cada usuario calcula φ(n) = (p-1)(q-1). Se conoce como función totient de Euler, que es el número de enteros positivos menor que n y primo relativo de n.
4. Cada usuario elige una clave pública e de forma que 1 < e < φ(n) y que cumpla con la condición: mcd [e, φ(n)] = 1.
5. Cada usuario calcula la clave privada d = inv [e,φ(n)]. 6. Se hace público el grupo n y la clave e.
Generación de clave Seleccionar p y q
Calcular n = p * q
Calcular φ(n) = (p-1)(q-1) Seleccionar entero e
Calcular d
Clave publica Clave privada
p≠ q ; p y q primos
Acd(φ(n),e) = 1 < e < φ(n)
d mod φ(n) = 1
KU = {e,n}
KR = {d,n}
Cifrado
Texto claro M < n
Texto cifrado C = Me mod n
Descifrado
Texto cifrado C
[image:48.612.77.547.81.342.2]Texto claro M = Cd mod n
Tabla 2.1. Algoritmo RSA
2.4.3 Códigos de Autenticación de Mensajes
Los códigos de autenticación de mensajes son técnicas que implican el uso de una clave secreta para generar un bloque de datos pequeño, el cual se añade al mensaje. Esto implica que las partes que se quieren comunicar deben conocer la clave secreta común KAB
1. El receptor está seguro de que el mensaje no ha sido alterado.
. Cuando se quiere enviar un mensaje, se calcula un código de autenticación como una función del mensaje y la clave. El mensaje y el código se transmiten al receptor deseado. El receptor realiza los mismos cálculos en el mensaje recibido, usando la misma clave secreta para generar un nuevo código de autenticación del mensaje. El código recibido se compara con el código calculado. Si solo el receptor y el emisor conocen la clave secreta y si el código corresponde con el código calculado, entonces:
2. El receptor está seguro de que el mensaje es del emisor indicado.
2.4.3.1Funciones HASH simples
El mecanismo Hash es usado para asegurar la integridad de los datos. Está basado sobre una función matemática de una sola vía, la cual es fácil de computar, pero significativamente difícil de recuperar. Datos de longitud arbitraria como entrada y dan como resultado una salida de longitud fija. Para asegurar que no hubo alguna modificación en los datos, Los hashes calculados tanto por el emisor como el receptor debe ser exactamente igual.
2.7. Algoritmo Hash
2.4.3.2 Función HASH segura SHA-1
El algoritmo Hash Seguro (de las siglas SHA, en ingles Secured Hash) fue desarrollado por el NIST (National Institute of Standards and Technology) en 1993. Este algoritmo toma como entrada un mensaje con una longitud máxima menor que 264
1. Añadir los datos de relleno: el mensaje se rellena para que su longitud sea congruente con 448 mod 512 (longitud = 448 mod 512). Es decir, la longitud del mensaje relleno es 64 bits menor que un múltiplo de 512 bits. El relleno se añade aunque el mensaje ya tenga la longitud deseada.
bits y produce como salida un resumen de mensaje de 160 bits. La entrada se procesa en bloques de 512 bits.
El procesamiento de los datos consiste en los siguientes pasos:
2. Añadir longitud: se añade un bloque de 64 bits al mensaje el cual se trata como un entero sin signo y contiene la longitud del mensaje original (antes del relleno).esto evita el tipo de ataque de relleno.
3. Inicializar el buffer: un buffer de 160 bits se utiliza para obtener resultados intermedios y finales de la función hash. Estos registros son cinco de 32 bita (A, B, C, D y E). los cuales se inicializan con los valores hexadecimales marcados en la figura 2.8.
4. Procesar el mensaje en bloques de 512 bits: en este paso se realiza el proceso más importante: la función de compresión. Esta función consiste en cuatro etapas de veinte pasos. En cada uno de estos pasos se utilizan funciones primitivas diferentes. Esto se observa más claramente en la Figura 2.8.
5. Salida: después de que todos los bloques de 512 bits han sido procesados, la salida es un resumen de 160 bits.
Figura 2.8. Algoritmo SHA-1
2.4.4 Funciones HASH para autenticación
HMAC (Hashed Message Authentication Code, por sus siglas en ingles) es una función que usando los hash vistos y una clave secreta, autentica a dos usuarios mediante sistemas de clave secreta. Las funciones HMAC se usan en plataformas IP seguras como por ejemplo en Secure Socket Layer (SSL), Transport Layer Security (TLS) y Secure Electronic Transaction (SET).
Algunos de los objetivos de la utilización de la función HMAC son:
8. Usar, sin modificaciones, las funciones hash disponibles.
9. Permitir la fácil sustitución de una función hash empotrada en caso de que los requerimientos del sistema lo requiera.
10. Preservar la función hash utilizada. 11. Usar y manejar claves en forma sencilla.
El diseño HMAC tiene gran aceptación debido al hecho de que trata las funciones hash como una “caja negra”.
Para los sistemas actuales, se ha convertido en una necesidad el autenticar a los usuarios. Como se mencionó en el capitulo anterior, las maneras de autenticar a un usuario es mediante el cifrado simétrico y el cifrado asimétrico. Las aplicaciones más utilizadas para representar estos métodos de autenticación son Kerberos y el estándar X 509. Además, existen otros métodos, pero hacen de Kerberos y X.509 su base de funcionamiento.
Kerberos es un protocolo de autenticación basado en el cifrado simétrico, en cambio, el estándar X.509 especifica un algoritmo de autenticación y define la utilización de certificados con clave pública, siendo la base de construcción de muchas otras aplicaciones actuales.
3.1 KERBEROS
El sistema de distribución de claves y autenticación Kerberos fue desarrollado en el Instituto de Tecnología de Massachusetts (MIT) para proteger los servicios de red que surgieron con el proyecto Athena.
Kerberos se basa en el modelo cliente/servidor. El objetivo de Kerberos es permitir que un cliente pueda autenticarse sin necesidad de enviar datos por la red que podrían facilitar el que un oponente pudiera suplantar al usuario.
El modelo Kerberos utiliza una entidad de confianza que actúe como centro distribuidor de claves (de las siglas KDC, Keys Distribution Center). El KDC consta de dos partes:
1. Un servidor de autenticación (AS).
2. Un conjunto de servidores de emisión de tickets (TGS. Ticket Granting Servers)
El KDC mantiene una base de datos con una entrada para cada principal registrado. La información que se almacena de cada principal es:
• El identificador de principal P.
• Clave maestra KP
• Fecha de expiración de la entidad P.
., estas están cifradas dentro del KDC.
• Fecha de registro de la última modificación.
• Tiempo de vida de los tickets.
• Atributos.
• Datos relacionados no visibles.
Kerberos utiliza tickets para distribuir las claves de inicio de sesión. Un ticket es un registro de datos que se puede utilizar para la autenticación; es un certificado emitido por el KDC y cifrado con la clave maestra del servidor. Este ticket contiene:
En la siguiente figura se muestra el modelo básico de los sistemas Kerberos.
Figura 3.1. Configuración básica del sistema Kerberos
1.- El cliente proporciona al AS el nombre de usuario. El AS busca la entrada concreta para este usuario en la base de datos del KDC.
2.- El KDC devuelve la contraseña definida por el usuario y esta se utiliza para cifrar un ticket de concesión de ticket (TGT). Este se devuelve al cliente.
El cliente pide al usuario que introduzca la contraseña. El cliente, si es la contraseña correcta, descifra el TGT y por consiguiente el cliente podrá utilizarlo.
3.- el cliente solicita en nombre del usuario un ticket que conceda un servicio. Con este fin, se envía un mensaje al TGS. El mensaje contiene el nombre del servicio solicitado, el TGT y un autenticador de usuario. El autenticador se genera con la dirección de red y la hora actual del cliente.
4.- el TGS descifra el ticket recibido y verifica el éxito del descifrado con la presencia de su identificador. Comprueba el tiempo de vida, compara el autenticador con la dirección de red y el usuario. Si el usuario tiene permiso para acceder al servicio, el TGS devuelve un ticket para conceder al acceso al servicio solicitado.
5.- El cliente solicita acceso al servicio en nombre del usuario mediante un mensaje que contiene el ticket concedido y un nuevo autenticador.
3.1.1 Versión 4 de Kerberos
Algunas de las principales características de la versión 4 de Kerberos son:
Uso de marcas temporales.
Adición de un servicio de emisión de billetes para dar soporte a las subsiguientes operaciones de autenticación sin necesidad de hacer que se introduzca constantemente la contraseña.
Autenticación entre diferentes dominios.
En la siguiente tabla se presenta un resumen del intercambio de mensajes de la versión 4 de Kerberos.
INTERCAMBIO DE SERVICIO DE AUTENTICACIÓN PARA OBTENER UN TGT
C AS IDC || IDtgs || TS1
AS C ETicketKc [Kc,tgs || IDtgs || TS2 || Tiempo de vida2 || Tickettgs]
tgs = EKtgs [Kc,tgs || IDC ||ADC || IDtgs || TS2 Tiempo de vida2]
Intercambio de TGS para obtener un ticket que concede un servicio C TGS IDV || Tickettgs || AutenticadorC
TGS C
EKc,tgs [KC,V|| IDV || TS4 || TicketV]
Tickettgs = EKtgs [Kc,tgs || IDC || ADC || IDtgs || TS2 Tiempo de vida2]
TicketV = EKv [KC,V|| IDC ||ADC || IDV || TS4 || Tiempo de vida4 ]
AtenticadorC = EKc,tgs[IDC ||ADC || TS3]
Intercambio de autenticador cliente/servidor para obtener un servicio C V TicketV|| AtenticadorC
V C
EKc,v (TS5 + 1) Para autenticación mutua
TicketV = EKv || KC,V|| IDC ||ADC || IDV || TS4 || Tiempo de vida4
[image:55.612.88.539.293.552.2]AtenticadorC = EKc,v[IDC ||ADC || TS5]
Tabla 3.1. Intercambio de mensajes de autenticación de Kerberos
INTERCAMBIO DEL SERVICIO DE AUTENTICACIÓN Mensaje 1 El cliente solicita el TGT.
IDC Dice al AS la identidad del usuario desde este cliente. IDtgs Dice al AS que el usuario solicita acceso al TGS.
TS Permite que AS verifique que el reloj del cliente este sincronizado con el del AS.
1
Mensaje 2 AS devuelve el TGT.
E El cifrado se basa en la contraseña del usuario, permitiendo que AS y el cliente verifiquen la contraseña, y protegiendo los contenidos del mensaje 2
Kc
K Copia de la clave de sesión accesible al cliente; creada por el AS para permitir un intercambio seguro entre el cliente y el TGS sin exigirles que compartan una clave permanente.
c,tgs
IDtgs Confirma este ticket para el TGS.
TS2 Informa al cliente del momento en que este ticket fue emitido. Tiempo de vida2 Informa al cliente sobre el tiempo de vida de este ticket.
Tickettgs Ticket que va a usar el cliente para acceder al TGS. Mensaje 3 El cliente solicita un ticket que concede un servicio.
IDV Dice al TGS que el usuario solicita acceso al servidor V.
Tickettgs Garantiza al TGS que este usuario ha sido autentificado por el AS. AutenticadorC Generado por el cliente para validar el ticket.
Mensaje 4 El TGS devuelve el ticket que concede un servicio.
E Clave compartida solo por C y TGS; protege los contenidos del mensaje 4.
Kc,tgs
K Copia de la clave de sesión accesible al cliente; creada por TGS para permitir un intercambio seguro entre el cliente y el servidor sin exigirles que compartan una clave permanente.
c,tgs
IDV Confirma que este ticket es para el servidor V.
TS4 Informa al cliente del momento en que este ticket fue emitido. TicketV Ticket que ha de usar el cliente para acceder al servidor V.
Ticket Reutilizable para que el usuario no tenga que volver a introducir una clave de acceso.
tgs
EKtgs El ticket se cifra con una clave que es conocida solo por AS y TGS. K Copia de la clave de sesión accesible al TGS; usada para descifrar el
autenticador, autenticando por lo tanto al ticket.
c,tgs
IDC Indica el propietario correcto de este ticket.
AD Evita que el ticket se use desde otra estación de trabajo que no sea la que inicialmente la solicitó.
C
Autenticador Garantiza al TGS que el que presenta es el mismo que el cliente para el cual se emitió el ticket; tiene un tiempo de vida muy corto para evitar repeticiones.
C
E El autenticador se cifra con una clave conocida solo por el cliente y el
TGS, para evitar falsificaciones.
Kc,tgs
ID Debe coincidir con el ID que aparece en el ticket para autentificar el ticket.
C
AD Debe coincidir con la dirección que aparece en el ticket ara autentificar el ticket.
C
TS2 Informa al TGS del momento en que se genero este autenticador. INTERCAMBIO DE AUTENTIICACIÓN CLIENTE/SERVIDOR Mensaje 5 El cliente solicita un servicio.
TicketV Garantiza al servidor que este usuario ha sido autentificado por AS. AtenticadorC Generado por el cliente para validar el ticket.
Mensaje 6 Autentificación opcional del servidor al cliente. EKc,v Garantiza a C que este mensaje proviene de V.
(TS5 Garantiza a C que no se trata de una repetición de una respuesta
antigua. + 1)
Ticket Reutilizable para que el cliente no tenga que solicitar un nuevo ticket al TGS para cada acceso al mismo servidor.
V
E El ticket se cifra con una clave conocida solo por el TGS y el servidor, para evitar falsificación.
Kv
K Copia de la clave de sesión accesible al cliente; usada para descifrar el autenticador, autentificando por lo tanto al ticket.
C,V
IDC Indica el propietario correcto de este ticket.
AD Evita el uso del ticket desde una estación de trabajo que no sea la que inicialmente se solicito.
C
IDV Garantiza al servidor que ha descifrado el ticket correctamente. TS4 Informa al servidor del momento en que se emitió el ticket. Tiempo de vida4 Evita repeticiones una vez que el ticket ha expirado.
Atenticador Garantiza al servidor que el que presenta el ticket es el mismo cliente para el cual se emitió; tiene un tiempo de vida corto para evitar repeticiones.
C
E El autenticador se cifra con una clave conocida solo por el cliente y es servidor, para evitar falsificaciones.
Kc,v
ID Debe coincidir con el ID que aparece en el ticket para autentificar el ticket.
C
AD Debe coincidir con la dirección que aparece en el ticket para identificar el ticket.
C
[image:57.612.91.540.89.678.2]