¿ Cómo funciona ?
Para proveer de una comunicacion segura para el serviddor web, se utiliza el protocolo criptográfico SSL (en especial TLS 1.2, la actual vesrion de ese protocolo) y un certificado X.509 de encriptacion asimétrica para autenticar al servidor e intercambiar una llave simétrica, la cual es usada para cifrar la comunicacion entre cliente y servidor.



Esta comunicacion inicia con el cliente enviando un mensaje ClientHello, en el cual le notifica al servidor los algoritmos de cifrado, métodos de compresion (funciones hash), y la version del protocolo SSL/TLS mas alta permitida.

El servidor le responde con un mensaje ServerHello, el cual elige los parametros de conexion a utilizar a partir de as opciones dadas por el cliente.

Ademas el servidor envia su certificado al cliente, para que este lo verifique en la Autoridad Certificadora correspondiente, y así obtenga la clave pública del servidor, la cual utiliza el cliente para encriptar una clave secreta (simétrica) que es enviada al server.

Este desencirpta esta clave con su clave privada, y así ambos tienen la misma clave simétrica.

Al momento de finalizar esta transferencia de parámetros, el cliente envía un mensaje ClientFinished. Finalmente, el servidor termina el handshake enviando su mensaje ServerFinished al cliente.

Ahora, cliente y servidor pueden comunicarse con una clave simétrica que les brinda seguridad.