Cómo funciona y por qué es importante el uso de HTTPS
Clase 40 de 43 • Curso de Express.js 2018
El Protocolo seguro de transferencia de hipertexto (HTTPS) es un protocolo HTTP que funciona en el puerto 443 y utiliza un cifrado basado en SSL (Secure Sockets Layer) / TLS (Transmission Layer security) con el fin de crear un canal de comunicación seguro entre el cliente y el servidor.
Por qué usar HTTPS
Una de las razones por la cual siempre debemos usar sitios con HTTPS es que sin este cualquier individuo podría efectuar ataques conocidos como man-in-the-middle o eavesdropping y obtener nuestro usuario y contraseña en el momento en que intentamos acceder a este servicio que no tiene HTTPS establecido.
Cómo funciona
- El cliente envía un mensaje al servidor y este responde con su certificado público.
- El cliente comprueba que este certificado sea valido y toma la llave pública.
- El cliente genera una cadena llamada
pre-master secret
y la encripta usando la llave publica del servidor y se lo envía. - El servidor usa su llave privada para comprobar el
pre-master secret
. - En ese momento tanto el cliente como el servidor usan el
pre-master secret
para generar unmaster secret
que es usado como una llave simétrica. - Teniendo este par de llaves ya se pueden enviar mensajes seguros entre ellos.
Cómo habilitar HTTPS en nuestro servidor
Dependiendo el servicio de hosting que estemos usando puede ofrecernos o no una instalación de certificados de seguridad SSL/TLS que pueden tener algún costo. Sin embargo existen servicios como Let's Encrypt que permiten la instalación de este certificado completamente gratis. Servicios como Now y Heroku ofrecen HTTPS por defecto.
Más información: