Mecanismos de Seguridad en la Capa de Transporte: SSL y TLS
Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 5,56 KB
Protocolos de la Capa de Transporte
1 SSL (Secure Socket Layer) / TLS (Transport Layer Security)
SSL/TLS proporciona una comunicación segura end-to-end al incorporar cifrado mediante el uso de criptografía. SSL/TLS se ejecutan en una capa por debajo de los protocolos de aplicación como HTTP, SMTP, NNTP, y sobre el protocolo de transporte TCP. La capa más usada con esta tecnología es **HTTPS**.
Provee seguridad en el canal:
- Confidencialidad: Usa un criptosistema simétrico (DES, RC4).
- Autenticación: Usa un criptosistema asimétrico (RSA).
- Integridad: Usan funciones hash (MD2, MD4, MD5).
a) Conexión SSL
Una conexión SSL es un transporte (modelo OSI) para proporcionar un tipo de servicio adecuado; son relaciones de igual a igual y transitorias. Cada conexión se asocia a una sesión.
Parámetros de la Conexión:
- Servidor y cliente aleatorio: Secuencias de bytes que son escogidas por el cliente y el servidor para cada conexión.
- Secreto MAC de escritura del servidor: Clave secreta en las operaciones MAC en los datos enviados por el servidor.
- Secreto MAC de escritura del cliente.
- Clave de escritura del servidor: Clave de cifrado secreta para los datos cifrados por el servidor y descifrados por el cliente.
- Clave de escritura del cliente: Clave de cifrado simétrica para el proceso inverso.
- Vectores de inicialización (IV): Un cifrado de bloque en modo CBC mantiene un IV para cada clave.
- Número de secuencia: Cada parte mantiene secuencias de números separados para mensajes transmitidos y recibidos por cada conexión.
b) Sesión SSL
Una sesión SSL es una asociación entre un cliente y un servidor, creada por el protocolo Handshake. Las sesiones se utilizan para evitar la costosa negociación de nuevos parámetros de seguridad para cada conexión. El proceso de HANDSHAKE maneja los estados pendientes en el estado actual.
Parámetros de la Sesión:
- Identificador de sesión: Secuencia de bytes arbitraria elegida por el servidor para identificar un estado de sesión activo o reanudable.
- Peer certificate: Certificado X.509.v3 del par, puede ser nulo.
- Método de compresión: Se aplica antes de la encriptación.
- Especificación de cifrado: Algoritmo de cifrado de datos masivos (nulo, AES, etc.) y un algoritmo hash (MD5 o SHA-1) utilizado para calcular el MAC.
- Master secret: Secreto de 48 bytes compartido entre el cliente y el servidor.
- Resumable: Un indicador que señala si se pueden iniciar nuevas conexiones.
Servicios de Seguridad Proporcionados:
- a) Confidencialidad: Porque implementa cifrado y descifrado.
- b) Autenticación: Basada en certificados y usando criptosistemas de clave pública.
- c) Integridad: A través del uso del Código de Autenticación de Mensajes (MAC).
- d) No repudio: Implementado por la firma digital y el certificado.
Problemas del Protocolo SSL:
- Sólo trabaja sobre TCP (no UDP).
- No implementa no repudio a las transacciones.
- Ineficiencia aportada por el protocolo handshake, lo que obliga al uso de hardware acelerador especializado.
2 TLS (Transport Layer Security)
El objetivo de TLS es producir una versión estándar de Internet de SSL. Es similar a SSL v3, pero presenta las siguientes diferencias:
- Número de versión.
- MAC: Usa HMAC en su forma de rellenar ceros.
Códigos de Alerta TLS:
Se utilizan para notificar errores o estados:
record_overflowunknown_caaccess_denieddecode_errorprotocol_versioninsufficient_securityunsupported_extensioninternal_errordecrypt_erroruser_canceledno_renegotiation
Suites de Cifrado TLS:
- Para intercambio de claves: Todas las de SSLv3 excepto Fortezza.
- Algoritmos de encriptación simétrica: Todas las de SSLv3 excepto Fortezza.
Detalles Adicionales de TLS:
- Tipos de certificados de clientes: Admite RSA y DSS.
- Certificados de verificación y finalización de mensajes: MD5 y SHA-1.
Protocolos de la Capa de Aplicación
1 Hypertext Transfer Protocol Secure (HTTPS)
HTTPS es HTTP sobre SSL/TLS. Implementa comunicaciones seguras entre un navegador Web y un servidor Web, si el primero lo soporta. Mientras HTTP usa el puerto 80, **HTTPS usa el puerto 443**, el cual invoca SSL/TLS. HTTPS corre en el nivel de aplicación, pero al bajar en la pila, se encripta la siguiente información:
- URL del documento solicitado.
- Contenido del documento.
- Contenido de los formularios del navegador.
- Las cookies enviadas desde el navegador al servidor y desde el servidor al navegador.
- Contenido del encabezado HTTP.