🔐🌐 Protocolo HTTPS (comunicación segura entre cliente y servidor) 🌐🔐

HTTPS (HyperText Transfer Protocol Secure) es una versión segura del protocolo HTTP que se utiliza para la transmisión de datos en la web. La principal diferencia es que HTTPS cifra los datos intercambiados entre el cliente (por ejemplo, un navegador web) y el servidor, utilizando técnicas de cifrado SSL/TLS. Esto asegura que la información esté protegida contra posibles interceptaciones y ataques, como los ataques de «hombre en el medio». Además, HTTPS también autentica el servidor mediante un certificado digital, lo que garantiza que el cliente está comunicándose con el servidor legítimo y no con uno falso. Esto hace que la navegación en sitios web, especialmente aquellos que manejan datos sensibles (como contraseñas y pagos), sea más segura.

Funcionamiento del protocolo HTTPS

 1. El cliente contacta con el servidor

El cliente (por ejemplo, un navegador web) realiza una solicitud al servidor a través del protocolo HTTPS (ejemplo: https://www.ejemplo.com).

 2. El servidor le envía el certificado digital

El servidor responde enviando su certificado SSL/TLS, que incluye su clave pública. Este certificado está firmado por una Autoridad Certificadora (CA) que valida la autenticidad del servidor.

 3. Verificación del certificado por parte del cliente

Si el certificado está firmado por una CA confiable, el cliente lo acepta automáticamente. Si el certificado no es válido o no está firmado por una CA confiable, el navegador le mostrará una advertencia al usuario (por ejemplo, «¿Continuar en el sitio?»).

 4. El servidor especifica los detalles de la conexión segura:

Con el certificado, el servidor indica los parámetros para la comunicación segura:

– Algoritmo de intercambio de claves (ej. RSA, ECDHE, etc.).

– Algoritmo de cifrado simétrico para la comunicación (ej. AES).

– Algoritmo de autenticación (ej. SHA256).

– Intercambio de la clave simétrica:

Durante el handshake (intercambio de claves), el cliente y el servidor se ponen de acuerdo sobre el algoritmo y la clave simétrica a utilizar. El cliente genera una clave secreta simétrica, la cifra con la clave pública del servidor (obtenida del certificado), y se la envía al servidor.

 5. El servidor usa su clave privada para descifrar la clave simétrica

Ahora, tanto el cliente como el servidor tienen la misma clave simétrica que utilizarán para cifrar y descifrar los datos de la comunicación.

 6. Inicio de la comunicación segura

Una vez que la clave simétrica ha sido intercambiada, tanto el cliente como el servidor comienzan a cifrar y a enviar los datos mediante este cifrado simétrico. Esta es la fase donde los datos del protocolo HTTP se protegen y se envían de manera segura.

 7. Descifrado de datos por el servidor

El servidor usa la clave simétrica para descifrar los datos que recibe del cliente. La clave privada del servidor solo se usó para descifrar la clave simétrica, no los datos.

8. Descifrado de datos por el cliente

El cliente usa la misma clave simétrica que el servidor para cifrar y descifrar los mensajes. De este modo, ambos intercambian datos de manera cifrada y segura.