next up previous contents index
Next: 5.2.5 Implementaciones de SSL Up: 5.2 HTTP + SSL Previous: 5.2.3 Cuestiones de rendimiento   Índice General   Índice de Materias


5.2.4 Pasos del algoritmo

Se muestra a continuación un resumen del esquema básico del algoritmo, y una figura (figura [*]) que ubica los distintos protocolos relacionados en una torre general. Si se necesita más información puede consultarse la especificación de SSL [116].

Figura: Situación del protocolo SSL en la torre de protocolos.

  1. Un cliente SSL se conecta al servidor SSL.

  2. Se inicia la fase de saludo (protocolo handshake). El cliente envía un mensaje que contiene el número de versión del protocolo SSL que utiliza, los métodos criptográficos soportados y un flujo de bytes aleatorio.

  3. El servidor responde al saludo, envía el número de versión del protocolo SSL que utiliza, el método criptográfico seleccionado, un identificador de sesión y un flujo de bytes aleatorios.

  4. El servidor envía al cliente un certificado X.509 que le identifica.

  5. Opcionalmente puede ser que el servidor requiera la autentificación por parte del cliente (que debe disponer de su propio certificado X.509).

  6. El cliente autentifica el servidor comprobando el certificado del mismo.

  7. El cliente genera una clave secreta previa que se enviada encriptada con la clave pública del servidor (conocida gracias al certificado).

  8. Opcionalmente, si el servidor ha requerido la autentificación del cliente, este enviará firmado algún dato adicional (certificado X.509 propio, etc.). El servidor autentificará al cliente gracias al certificado.

  9. El cliente y el servidor usan la clave secreta previa para determinar una clave maestra (secreta) de sesión.

  10. Se intercambian mensajes para especificar los métodos de cifrado (protocolo de cipher method). Deberá llegarse a un acuerdo sobre que algoritmos utilizar para intercambio de claves, cifrado para transferencia de datos y compendio de mensajes. Además se indica que todos los mensajes posteriores deberán utilizar la clave maestra de sesión.

  11. Finaliza la fase de saludo. Se intercambia un mensaje encriptado con la clave de sesión que indica el comienzo de la comunicación ``segura''. A partir de este momento se utiliza el register protocol que encapsula los datos y los transfiere a través del protocolo de la capa inferior.

Como se ha visto la sesión de SSL se establece siguiendo una serie de pasos de saludo (handshaking) entre el cliente y servidor. Esta sucesión puede variar, dependiendo de si el servidor se configura para pedir certificados de cliente. Además existen algunos casos en donde se requieren pasos de saludo adicionales para el manejo de condiciones especiales (protocolo de condiciones de advertencia o error).

Una vez una sesión de SSL se ha establecido puede reutilizarse, evitando así la penalización de repetir los pasos necesarios durante la fase de saludo. El servidor asigna un identificador único a cada sesión de SSL que debe ser guardada de modo seguro para que el cliente pueda utilizarla en próximas conexiones (hasta que el identificador de la sesión caduque).


next up previous contents index
Next: 5.2.5 Implementaciones de SSL Up: 5.2 HTTP + SSL Previous: 5.2.3 Cuestiones de rendimiento   Índice General   Índice de Materias
Jose Manuel Lopez Franco 2001-10-15