Hoy os voy a hablar de un término un poco más técnico que no todo el mundo sabe lo que es, en este caso es el protocolo de seguridad https y si debemos tenerlo en nuestra web.
Antes de empezar a comentar y explicar un poco cómo podemos instalarlo en nuestras webs, creo que es importante primero que os explique lo que significa https y para qué sirve. Bueno pues el https (https://) es un protocolo de seguridad que se utiliza para las webs, en su mayoría tiendas online o plataforma de pago, pues garantiza una mayor seguridad. Hyper Text Transfer Protocol Secure (https) es el término que adquiere esas webs que tienen un protocolo enviar paquetes cifrados a través de Internet, en SSL/TLS (Secure Sockets Layer/Transmission Layer Security).
Si aún no se te ha trabado la lengua con estos tecnicismos y palabros en inglés os voy a explicar cómo se establece esa conexión de seguridad cuando navegamos por una web que tiene este tipo de protocolo cifrado https.
Cómo funciona este protocolo de seguridad https
Como siempre se ha hecho a la hora de cifrar cualquier tipo de dato, se necesita una clave que encriptará la información y esa clave debe estar en concordancia entre el servidor y la web que está albergada en el mismo. Esta web debe ser única para cada una de las conexiones por lo que no puede estar preconfigurada con anterioridad.
En este caso se genera una especie de «pre-clave» que se comparte con un método de criptografía asimétrica. Por ejemplo, si mando una mensaje al servidor, éste se cifra con la clave pública para que sólo se pueda descifrar con su clave privada. Sí, quizás necesites leer de nuevo este párrafo para entenderlo. Esta conexión es el primer paso de un protocolo https.
Una vez se haya configurado el servidor con el protocolo con su pertinente algoritmo de cifrado tanto simétrico como asimétrico, el navegador que usemos en ese momento (Google Chrome, Safari…) cifra la clave pública del servidor para luego descifrarla con la clave privada, todo bajo un mismo protocolo que sólo conocen servidor y navegador. Con esto se supera el primer vacío de seguridad, intercambiar la clave.
Como nadie más sabe esa clave, a no ser que tengamos hackeada la web o el servidor y el protocolo de seguridad tenga un algoritmo de cifrado simétrico seguro, nuestra navegación y comunicación en la web es segura.
Y, ¿por qué no cifrar directamente los datos usando cifrado asimétrico? El cifrado simétrico es muchísimo más rápido que el asimétrico, e intercambiar la clave no resulta un problema que haya que sortear.
¿Qué datos protegemos con este sistema?
Cuando está basado en SSL/TLS, que funciona en la capa más baja de comunicación, se cifran todos los datos de HTTP , es decir no sólo la web, sino también la URL completa, los parámetros enviados, las cookies, las imágenes… menos los datos del paquete TCP: el servidor y el puerto al que nos conectamos.
No sólo impide que alguien vea las páginas web que estamos visitando, sino que impide que puedan conocer las URLs por las que nos movemos, los parámetros que enviamos al servidor o las cookies que enviamos y recibimos (alguien con acceso a estas cookies podría robar nuestra sesión).
Datos adicionales a conocer sobre tu servidor
Pero no todo queda ahí, debemos autenticar el servidor donde está la web. No sirve de nada tener los datos cifrados si no nos aseguramos de que nos estamos conectando al servidor correcto. Para eso están los certificados SSL, que contienen la clave pública y los nombres de dominio en los que se pueden usar.
Las CA (terceros de confianza) nos aseguran que el certificado es válido y que el servidor es quien dice ser.
El certificado SSL por sí sólo no sirve para nada. Cualquier atacante podría falsear uno y no te darías cuenta. Por eso existen entidades de certificados SSL firmados, que sólo dan certificados sobre un dominio a su propietario. Nadie podría pedir el cifrado de mi web joanraez.com, que no ganaría mucho, pero no se puede hacer porque va asociado a una firma que asegura que el contenido del certificado no ha variado.
El navegador busca el certificado para verificar la firma y ver que todo coincide. Si no es válida o no encuentra el certificado, te mostrará un aviso de que no puede autenticar la conexión al servidor. Te aparecerá el texto en la web de «Conexión no segura» y créeme que la gente que no entienda y vea en tu web ese mensaje, saldrá corriendo de tu URL y podrás haber perdido una visita, un cliente e incluso una compra.
Existe un artículo de Google que promueve que pasemos todas nuestras webs en protocolo https, además os adelanto que Google está preparando la versión 62 de Google Chrome que va a salir en Octubre y ya va a detectar de manera predeterminada qué página tiene instalada ese protocolo de seguridad. Los que no tengan ese protocolo, aparecerá en la URL, como he comentado antes, el mensaje de sitio no seguro. Para los que tengan el certificado instalado y la web funcionando sobre ese protocolo, verá un candado cerrado al lado de la url.
Los puntos débiles que podemos encontrar en https
Lo que puede ocurrir si se filtra la clave privada de una CA. Un atacante podría crear y firmar certificados válidos para cualquier dominio sin que nadie se lo impidiese, y por lo tanto engañar a los usuarios para que se conectasen a servidores falsos. Pero es algo que es muy difícil que pase, además tened en cuenta que si solemos navegar con cabeza, entrando en sitios limpios de malware, tenemos el ordenador al día o el smartphone… Es muy difícil que ocurra, pero todo puede ser en el mundo de la informática
Conclusión a este tipo de certificado
Lo mejor es utilizar un servidor de confianza, que sea bueno en seguridad y tenga un gran equipo de soporte. Porque es muy importante, por lo menos para mí, tener un soporte de tíckets que conteste en el momento. Que no tarden más de 3 horas en contestar una duda y cuando se trata de un problema, que no sea larga la solución. Yo confío en Siteground, os paso mi cuenta de asociado por si queréis daros de alta en este fantástico servidor. Yo sugiero darse de alta en este protocolo de seguridad https sea la web que sea. Tened en cuenta que Chrome penaliza las webs sin certificado y por consiguiente Google. Así que ya estáis cambiando de un simple http a un https, ademas, el Let’s Encrypt es gratuito en muchos servidores