Qué es un certificado SSL y porqué necesito uno

Antes de explicarte qué es un certificado SSL vamos a repasar qué pasa cuando navego por Internet.

¿Qué sucede cuando escribo una URL en mi navegador?

Pongamos que quiero ir a la web de una conocida tienda online para hacer unas comprillas. Escribo www.amazon.es en mi navegador favorito y despues de unos milisegundos y cuatro parpadeos se me muestra la web de Amazon y un candado junto la dirección www.amazon.es.

¿Qué ha pasado? Pues muchas cosas…

De nombre de dominio a dirección IP

En Internet las direcciones en realidad son algo llamado IP. Algo así como los números de teléfono de los servidores. Los nombres de dominios no son más que “alias” para que nosotros, los humanos, podamos acordarnos.

Mi navegador necesita la dirección IP del servidor de Amazon de la que descargarse la página que me va a mostrar. Así que se la pide a quien tiene más a mano: el sistema operativo (Windows, Mac OSX, Linux, Chrome OS, etc.).

Y entonces empieza una cadena de peticiones hacia arriba un poco kafkiana pero que es en lo que se basa Internet:

  • Si mi sistema operativo no sabe a qué IP corresponde Amazon.com entonces le pasa la petición a la puerta de enlace a la que está conectado mi ordenador (probablemente un router).
  • Si el router tampoco sabe la IP, entonces se lo pregunta a su Servidor de Nombres de Dominio (DNS) predeterminado. Probablemente el de tu proveedor de Internet (Telefónica, Vodafone, etc.).
  • Si el servidor de nombres de dominio (DNS) de mi proveedor de Internet tampoco lo sabe, entonces le pasa la petición al router que tiene por encima que será uno de los routers que forman el “backbone” de Internet.
  • Si estos routers tampoco saben la IP, le reenvían a petición a EEUU. ¿Y porqué a EEUU? Pues porque el dominio acaba en .com y el operador de ese country-code top-level domain name está allí.
  • Finalmente el operador de los .com consulta sus registros DNS y le devuelve a mi navegador la dirección IP del servidor con el que tiene que hablar. Bueno, en realidad le responde al que se lo había pedido que a su vez responde al anterior… etc.

En la práctica, todos estos actores intermedios almacenan todas las respuestas a esas peticiones en unas “cachés”. Con lo que si alguien ha visitado ese dominio antes, lo más probable es que tu petición no llegue tan “arriba”.

Solicitud de página web a IP del servidor

Bien, entonces mi navegador ya tiene una IP. Así que le pide a esa IP una página web (obviemos por el momento las redes CDN para acelerar la carga de contenidos desde diferentes países…).

Esa IP corresponde a un servidor que le devuelve una página web (en lenguaje HTML) que mi navegador sabe “interpretar” para mostrarme texto, botones, imágenes y colorines.

Entonces yo visito un rato la web, añado al carrito un par de cosas (más, probablemente, otras dos que no necesito), voy a “Finalizar compra”, meto los datos de mi tarjeta de crédito y pago.

Pero, espera un momeno, ¿qué pasa si alguno de esos “actores intermedios” ha modificado la respuesta? Es decir, si en vez de la verdadera IP de Amazon me ha dado una IP de un servidor “malicioso” que aloja una página web “clon” de la de Amazon. Resulta que acabo de darle los datos de mi tarjeta de crédito a un desconocido y, además, las dos cosas que he pedido no llegarán nunca (las otras dos que no necesitaba tampoco me importan mucho).

Aquí es donde entra en juego el certificado SSL.

¿Qué es un certificado SSL?

Un certificado SSL es un documento (virtual) que certifica que un servidor representa a un nombre de dominio.

Este certificado lo envía el servidor a mi navegador junto con la página en HTML que este le ha pedido (la portada de Amazon, en el caso anterior).

Que el certificado sea válido es una de las condiciones para que mi navegador muestre el famoso candadito al lado de la URL. Pero ¡ojo!, no la única (saber más razones por las que mi web se marca como “insegura”).

Pero, ¿cómo sabe mi navegador que ese certificado es “válido”? quiero decir, los certificados se podrán falsificar también, ¿no? Efectivamente. Por eso mi navegador hace una petición a la empresa que ha expedido el certificado para comprobar su autenticidad.

Ten en cuenta que hay

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *