Вы находитесь на странице: 1из 3

Cmo funciona SSL

SSL es un protocolo que proporciona privacidad e integridad entre dos aplicaciones de comunicaciones utilizando HTTP. El Protocolo de transferencia de hipertexto (HTTP) para World Wide Web utiliza SSL para que las comunicaciones sean seguras. Los datos que circulan en un sentido y otro entre el cliente y el servidor se cifra mediante un algoritmo simtrico como DES o RC4. Un algoritmo de clave pblica -generalmente RSA- se utiliza para el intercambio de las claves de cifrado y para las firmas digitales. El algoritmo utiliza la clave pblica en el certificado digital del servidor. Con el certificado digital del servidor, el cliente tambin puede verificar la identidad del servidor. Las versiones 1 y 2 del protocolo SSL slo proporcionan autenticacin de servidor. La versin 3 agrega la autenticacin del cliente, utilizando los certificados digitales de cliente y de servidor. Protocolo de enlace de SSL Una conexin SSL siempre es iniciada por el cliente. Al principio de una sesin SSL, se realiza un protocolo de enlace SSL. Este protocolo de enlace produce los parmetros criptogrficos de la sesin. Una visin general simplificada de cmo se procesa el protocolo de enlace SSL se muestra en la Figura 58. En este ejemplo se supone que se est estableciendo la conexin SSL entre un navegador web y un servidor web. Figura 58. Protocolo de enlace SSL con autenticacin de servidor

1. El cliente enva el mensaje "hello" que lista las posibilidades criptogrficas del cliente (clasificadas por orden de preferencia del cliente), como la versin de SSL, los grupos de programas de cifrado soportados por el cliente y los mtodos de compresin de datos soportados por el cliente. El mensaje tambin contiene un nmero aleatorio de 28 bytes. 2. El servidor responde con el mensaje "hello" del servidor que contiene el mtodo criptogrfico (conjunto de programas de cifrado) y el mtodo de compresin de datos seleccionados por el servidor,

el ID de sesin y otro nmero aleatorio. Nota: El cliente y el servidor deben dar soporte como mnimo a un conjunto de cifrado comn; de lo contrario, el protocolo de enlace dar error. Generalmente, el servidor elige el conjunto de programas de cifrado comn ms potente. 3. El servidor enva su certificado digital. (El servidor utiliza certificados digitales X.509 V3 con SSL.) Si el servidor utiliza SSL V3 y si la aplicacin de servidor (por ejemplo, el servidor web) requiere un certificado digital para la autenticacin de cliente, el servidor enva el mensaje "digital certificate request". En el mensaje "digital certificate request", el servidor enva una lista de los tipos de certificados digitales soportados y los nombres distinguidos de autoridades de certificacin aceptables. 4. El servidor enva el mensaje "hello done" de servidor y aguarda una respuesta del cliente. 5. Al recibir el mensaje "hello done" del servidor, el cliente (el navegador web) verifica la validez del certificado digital del servidor y comprueba que los parmetros del mensaje "hello" del servidor son aceptables. Si el servidor ha solicitado un certificado digital del cliente, el cliente enva un certificado digital o, si no hay ningn certificado digital adecuado disponible, el cliente enva la alerta "no digital certificate". Esta alerta slo es un aviso, pero la aplicacin de servidor puede hacer que la sesin sea anmala si la autenticacin del cliente es obligatoria. 6. El cliente enva el mensaje "client key exchange". Este mensaje contiene el secreto pre-maestro, un nmero aleatorio de 46 bytes utilizado en la generacin de las claves de cifrado simtrico y las claves de cdigo de autenticacin de mensajes (MAC), cifradas con la clave pblica del servidor. Si el cliente ha enviado un certificado digital al servidor, el cliente enva un mensaje "digital certificate verify" firmado con la clave privada del cliente. Al verificar la firma de este mensaje, el servidor puede verificar explcitamente la propiedad del certificado digital del cliente. Nota: No es necesario un proceso adicional para verificar el certificado digital del servidor. Si el servidor no tiene la clave privada que pertenece al certificado digital, no podr descifrar el secreto pre-maestro y crear las claves correctas para el algoritmo de cifrado simtrico y el protocolo de enlace dar error. 7. El cliente utiliza una serie de operaciones criptogrficas para convertir el secreto pre-maestro en un secreto maestro, del que se deriva todo el material de clave necesario para el cifrado y la autenticacin de mensajes. A continuacin, el cliente enva el mensaje "change cipher spec" para que el servidor conmute al conjunto de programas de cifrado recin negociado. El siguiente mensaje enviado por el cliente (mensaje "finished") es el primer mensaje cifrado con este mtodo y estas claves de cifrado. 8. El servidor responde con mensajes propios "change cipher spec" y "finished". 9. El protocolo de enlace SSL finaliza y los datos de aplicacin cifrados se pueden enviar. Certificados digitales y cadenas de confianza con SSL Secure Sockets Layer V3 puede utilizar certificados digitales de servidor, as como certificados digitales de cliente. Como se ha explicado anteriormente, los certificados digitales de servidor son obligatorios para una sesin SSL, mientras que los certificados digitales de cliente son opcionales, segn los requisitos de autenticacin de cliente. La infraestructura de clave pblica (PKI) utilizada por SSL permite cualquier nmero de autoridades de certificacin raz. Una organizacin o un usuario final debe decidir cules son las CA que aceptar como de confianza. Para poder verificar los certificados digitales de servidor, el cliente debe estar en posesin de los certificados digitales de CA raz utilizados por los servidores. Si una sesin SSL est a punto de establecerse con un servidor que enve un certificado digital con el certificado digital de CA raz que no est definido en el archivo de almacn de confianza del cliente, la sesin SSL no se establecer. Para evitar esta situacin, importe el certificado digital de CA raz al almacn de claves o al almacn de confianza del cliente.

Si se utiliza la autenticacin de cliente, el servidor requiere la posesin de los certificados digitales de CA raz utilizados por los clientes. Todos los certificados digitales de CA raz que no forman parte del almacn de claves de servidor predeterminado deben instalarse utilizando el programa de utilidad iKeyman antes de que estas CA emitan cualquier certificado digital de cliente.