Protocolo ssl y set
SSL (Secure Sockets Layer) y TSL (Transport Secure Layer) son protocolos de propósito general para establecer conexiones seguras.
No son protocolos de pago.
SSL es original de Netscape (1994).
Última versión: SSLv3.
El grupo TLS se formó dentro del IETF.
La primera versión de TLS puede verse como SSLv3.1
Es el protocolo de seguridad más utilizado actualmente.
Es capaz deasegurar cualquier protocolo de la capa de aplicación que trabaje sobre TCP:
HTTPS, SFTP, SSH, etc.
SSL y el comercio electrónico
Permite al usuario sin un certificado enviar eficientemente los datos de la tarjeta de crédito
Servicios
SSL cifra los datos sirviéndose de:
Criptografía de clave privada (simétrica)
Posibilidades: DES, 3DES, RC2, RC4 o IDEA
Para el intercambio de datos.Criptografía de clave pública (asimétrica): RSA o Diffie-Hellman
En los certificados digitales y en el cifrado de la clave de sesión.
SSL autentifica al servidor
Utilizando certificados digitales X.509 v3.
Opcionalmente, también puede certificar al cliente.
SSL asegura la integridad de los datos
A través de códigos de autentificación de mensajes (MAC) que utilizan algoritmos de resumenDigital (hash)
Posibilidades: MD5 o SHA-1
Sesiones SSL
Concepto de sesión en SSL:
Asociación entre cliente y servidor.
Cada sesión tiene sus parámetros de seguridad, compartidos entre varias comunicaciones (no varían durante la sesión).
Identificador de sesión, certificados X.509v3 del par, método de compresión, algoritmos de cifrado, clave maestra, es reanudable, etc.
Arquitectura SSLSSL es un conjunto de Protocolos distribuidos en dos niveles:
En el nivel inferior se sitúa el Protocolo Record:
Encargado de fragmentar y cifrar los paquetes.
En el nivel superior: Handshake, Change Cipher Spec y Alert.
Gestionan los intercambios SSL
Protocolo Record
Proporciona dos servicios a las conexiones SSL:
Confidencialidad: Encriptación simétrica.
Integridad: Código deautentificación de mensajes (MAC)
Divide los datos en varios fragmentos a los que aplica las siguientes operaciones:
Partes en el nivel superior
Protocolo para el intercambio de las especificaciones del cifrado (Change cipher spec.).
Es el más simple.
Protocolo de Alerta (Alert).
Utilizando para el intercambio de mensajes especiales (notificar avisos o errores).
Protocolo de negociado(Handshake).
Es la parte más compleja del protocolo SSL
Permite al servidor y al cliente autentificarse el uno al otro.
Negocia el algoritmo de encriptación, los algoritmos MAC y las claves de encriptación que luego se utilizarán en el p. Record
Se utiliza antes de transmitir cualquier dato de la aplicación (mensajes HTTP)
Fase 1: Establecimiento de las capacidades de seguridad.Comienza el intercambio el cliente, enviando “Client_hello”:
Versión SSL del cliente, lista de algoritmos criptográficos, lista de métodos de compresión, etc.
El cliente espera “Server_hello”.
Versión SSL del servidor, algoritmo de cifrado elegido por el servidor, algoritmo de compresión elegido por el servidor, etc.
Fase 2: Autentificación del servidor e intercambio de claves.
El servidor envíasu certificado X.509v3 y otros datos
Por último, “Server_hello_done” para indicar el final de la fase.
Fase 3: Autentificación de cliente e intercambio de claves.
El cliente comprueba la validez del certificado y los parámetros enviados en la fase 1.
Envía “Client_key_exchange”: la clave simétrica (cifrada)
Fase 4: Finalización
El cliente envía un mensaje “Change_cipher_spec”.
Luegoenvía un mensaje “finished” utilizando los nuevos algoritmos y claves.
Confirma que el intercambio de claves y los procesos de autentificación fueron satisfactorios.
En respuesta el servidor envía su propio mensaje “Change_cipher_spec” y “finished”
La negociación se ha completado y las partes pueden comenzar a intercambiar datos en el nivel de la aplicación.
TSL (Transport Secure Layer)...
Regístrate para leer el documento completo.