• No se han encontrado resultados

La administración de llaves, es un proceso continuo a lo largo del ciclo de vida de las llaves criptográficas, que tiene por objeto frustrar: las divulgaciones o utilizaciones no autorizadas, las

modificaciones, sustituciones y/o reutilizaciones de llaves expiradas o revocadas. La seguridad a este nivel es un problema recursivo, porque el sistema de administración de llaves debe cumplir las propiedades requeridas por el sistema criptográfico.

La administración segura de llaves criptográficas comprende la producción, almacenamiento, distribución, utilización, retiro, borrado y archivado de llaves [20].

Los sistemas basados en algoritmos de llave simétrica tienen el problema de asegurar la confidencialidad de la distribución de llaves, lo que implica generalmente el uso de un canal preestablecido para la distribución segura entre los participantes. Además, cada entidad debe contar con un número de llaves igual al número de participantes con los que se mantendrá en contacto. De esta forma, la administración de llaves simétricas se complica exponencialmente cuando se eleva el número de participantes.

Los algoritmos de llave pública resuelven las dificultades anteriores, pero no quedan exentos de problemas, pues estos algoritmos generan mayor carga computacional que la criptografía simétrica, debido a que cada entidad posee un par de llaves (una pública y una privada). Por tal situación, solamente se recomienda el uso de criptografía asimétrica para asegurar la confidencialidad, cuando se trabaje con mensajes cortos.

Por las características de ambos tipos de cifrado, la criptografía de llave pública puede complementar a la criptografía simétrica para asegurar la distribución eficiente de llaves secretas, particularmente, cuando no son confiables los medios de contacto físicos. De esta forma, puede distribuirse una nueva llave simétrica al inicio de una nueva sesión, e incluso al comienzo de cada nuevo intercambio, en casos extremos.

3.12.1 Intercambio de llaves secretas: Kerberos

Kerberos es el sistema más ampliamente conocido para el intercambio automático de llaves mediante criptografía simétrica. Debe su nombre al “perro de las tres cabezas” que protegía las puertas del infierno en la mitología griega.

Kerberos ofrece los servicios de identificación en línea y autenticación, así como el de control de acceso a los recursos de redes abiertas con máquinas inseguras, mediante criptografía

simétrica [21]. Este sistema constituye la opción de autenticación predeterminada en los sistemas operativos de Microsoft a partir de Windows 2000.

El desarrollo de Kerberos comenzó en el MIT en 1978 con el proyecto Athena financiado por la empresa Digital Equipment Corporation (DEC) y por IBM. Actualmente se utiliza la versión 5 de Kerberos, publicada en 1994, la cual incluye algunas modificaciones en el sistema de

Micropagos NetBill.

El sistema está construido alrededor de un centro de distribución de llaves Kerberos, que cuenta con la confianza total de los participantes, los cuales deben contar previamente con sus respectivas llaves de encripción simétricas. Las llaves son atribuidas a cada una de las cuentas de los usuarios individuales, cuando se registran personalmente.

El centro de distribución de llaves consta de un servidor de autenticación (AS

authentication server) y un servidor repartidor de boletos (TGSticket-granting server). Los controles del AS acceden al TGS, el cual controla por turnos el acceso a recursos específicos. El algoritmo utilizado para la encripción simétrica es DES. Durante el registro personal de los usuarios, se establece una llave secreta con el AS para cada cuenta de usuario. Con este acuerdo, el cliente tiene acceso a múltiples recursos durante su sesión (cuando obtiene una autenticación exitosa), en lugar de repetir el proceso de autenticación por cada recurso.

Mensajes de Intercambio:

(1) Solicitud de un boleto de sesión. (2) Adquisición de un boleto de sesión. (3) Solicitud de un boleto de Servicio. (4) Adquisición del boleto de Servicio. (5) Solicitud de Servicio.

(6) Respuesta opcional del servidor.

Figura 3.8 Autenticación y control de acceso en Kerberos.

• Después de identificar al usuario terminal con un registro de entrada (log-in) y una contraseña, el AS envía al cliente una llave de encripción simétrica para encriptar los intercambios de datos entre el cliente y el TGS. La llave de sesión es cifrada con la llave de encripción simétrica que comparten el usuario y el AS. La llave está contenida en el boleto de sesión, encriptado con la llave preestablecida entre el TGS y el AS.

• El boleto de sesión, también llamado “ticket-granting ticket” es válido por un breve periodo de tiempo (horas), durante el cual puede ser utilizado para solicitar acceso a un servicio específico. Por ese motivo, también se le denomina “boleto inicial”.

• El cliente presenta el TGS con dos objetos abstractos de identificación: el boleto de sesión y un título de autenticación encriptado con la llave de sesión. El TGS compara los datos en ambos objetos para verificar la autenticidad del cliente y sus privilegios, antes de conceder acceso al servidor específico solicitado.

La figura 3.8 muestra las interacciones entre las cuatro entidades: el cliente, el AS, el TGS y el servidor de comercio solicitado o recurso S.

3.12.2 Protocolo de Administración de Llaves y Asociación de Seguridad de Internet (ISAKMP)

El RFC 2408 [22] del IETF define el ISAKMP (Internet Security Association and Key Management Protocol) como la infraestructura genérica para negociar asociaciones de seguridad punto a punto, en el intercambio de llaves y en la autenticación de datos entre dos partes. En

ISAKMP, el término asociación de seguridad tiene dos implicaciones: describe el canal seguro de comunicación establecido entre dos entidades, y la definición de una instancia específica del canal seguro. Un dominio de interpretación (DOI) es el contexto de operación en términos de la semántica y la sintaxis relevante. El RFC 2407 [23] del IETF define la seguridad IP del DOI,para asociaciones seguras en redes IP, dentro de la infraestructura ISAKMP.

ISAKMP especifica los formatos de mensajes a ser intercambiados y sus bloques constructores (payload – carga útil). Un encabezado fijo precede al número variable de payloads encadenados que conforman un mensaje. Esto proporciona una capa de manejo uniforme para la

seguridad de todas las capas de la pila de protocolos ISO, lo que permite reducir la cantidad de duplicaciones dentro de cada protocolo de seguridad.

3.12.3 Algoritmo de Intercambio de Llaves (Key Exchange Algorithm)

El Algoritmo de Intercambio de Llaves (KEA), es un algoritmo de la Agencia Nacional de Seguridad (NSA) basado en el algoritmo de Diffie-Hellman. Todos los cálculos de KEA están basados en módulos primarios de 1024 bits generados de acuerdo a las especificaciones DSA

(Directory System Agent) de FIPS 186. De esta forma, el tamaño de la llave es de 1024 bits, y al igual que DSA, el tamaño del exponente es de 160 bits.

KEA es usado en la tarjeta criptográfica PCMCIA Fortezza y en el algoritmo de encripción

SKIPJACK. Las especificaciones experimentales del RFC 2773 [24] describen su uso para transferencias seguras de archivos con FTP. Las especificaciones del RFC 2951 [25] proveen seguridad a las sesiones Telnet, donde el KEA busca reemplazar la autenticación del nivel de usuario (en el que el nombre de acceso y la contraseña se intercambian en claro), con mensajes más seguros y con la posibilidad de autenticar el servidor.