Andrea Danti - Fotolia
Proceso de reconocimiento de SSL: Claves públicas y privadas explicadas
El experto Michael Cobb detalla qué es SSL así como el papel de las claves públicas y privadas en una transacción entre la empresa y su cliente (C2B).
He leído su obra que explica como funcionan los certificados SSL de confianza y los falsificadossted y necesito todavía una explicación más detallada de las llaves públicas y privadas. Además, por favor explique con más detalle la diferencia exacta entre la clave pública y privada, así como el papel que juega el certificado en las siguientes situaciones:
• Una transacción de consumidor a sitio web, o C2B (es decir, lo que sucede cuando alguien compra algo en Amazon), y
• Una transacción verdadera B2B, en la que los servidores deben hablar con los servidores.
El navegador de un consumidor comienza el proceso de reconocimiento de SSL por medio de la solicitud de una página web segura mediante el protocolo HTTPS. Esto inicia una sesión segura con el sitio web mediante el envío de un mensaje del cliente que diga 'Hola' al servidor Web. El mensaje de Hola del cliente contiene información acerca del cifrado y algoritmos de compresión que el navegador soporta, así como un número pseudo-aleatorio. El servidor Web responde con un mensaje de saludo del servidor, que también incluye información acerca de los algoritmos soportados y un número pseudo-aleatorio. El servidor web elige el cifrado más fuerte que tanto el navegador como el servidor soporten. El servidor también envía su certificado digital en el navegador para dar fe de la identidad de un individuo o de un sistema informático. El servidor web envía entonces un mensaje de saludo del servidor, con lo que indica que ha terminado y queda en espera de una respuesta del navegador.
Una vez que el navegador recibe el mensaje del servidor, se comprueba el certificado con una lista de entidades emisoras de certificados conocidos para asegurarse de que este sea válido. El certificado del servidor contiene su clave pública y el nombre del mismo, que debe coincidir con el nombre del servidor al navegador solicitado. Por ejemplo, si el usuario escribe la dirección URL "https://www.secureserver.com" en el navegador, el certificado debe contener un nombre de asunto de "www.secureserver.com" o "* secureserver.com.».
El cliente calcula entonces un premaster secreto utilizando los dos valores aleatorios que se generaron durante los mensajes de saludo del servidor y el cliente. Este premaster secreto se cifra con la clave pública del certificado del servidor y se envía en un mensaje de Client Key Exchange en el servidor. Si el servidor puede descifrar estos datos, el cliente se asegura de que el servidor tiene la clave privada correcta. Un mensaje cifrado con una clave pública sólo puede ser descifrado con la clave privada correspondiente, y viceversa. Este paso es crucial para demostrar la autenticidad del servidor. Sólo el servidor con la clave privada que coincide con la clave pública en el certificado puede descifrar estos datos y continuar la negociación del protocolo.
El proceso de reconocimiento de SSL asegura el intercambio de datos utilizado por el cliente y el servidor para calcular una clave secreta principal. Debido a que tanto el servidor como el cliente pueden calcular la clave secreta principal, no deben ser intercambiados. Ahora el servidor puede responder a la página, con una solicitud para iniciar la comunicación con las teclas y parámetros establecidos. Así, mediante la combinación de SSL con un certificado digital de un servidor Web, un consumidor puede establecer una conexión segura a un sitio web sin tener que pasar a claves de codificación secretas.