¿Cómo funciona SSL? | Certificados SSL y TLS

SSL, también conocido como TLS, usa la encriptación para mantener seguros los datos de los usuarios, autenticar la identidad de los sitios web e impedir que los atacantes manipulen las comunicaciones de Internet.

Objetivos de aprendizaje

Después de leer este artículo podrás:

  • Entender qué significa SSL/TLS
  • Explica cómo SSL/TLS mantiene la seguridad de las comunicaciones en Internet
  • Más información sobre cómo obtener un certificado SSL, y cómo los certificados SSL mantienen la seguridad de los datos de los usuarios

Copiar enlace del artículo

¿Qué es SSL?

SSL son las siglas de Secure Sockets Layer, y hace referencia a un protocolo para encriptar y asegurar las comunicaciones que tienen lugar en Internet. Aunque SSL fue sustituido hace tiempo por un protocolo actualizado conocido como TLS (Transport Layer Security), "SSL" sigue siendo un término de uso común para esta tecnología.

El principal caso de uso para SSL/TLS es asegurar las comunicaciones entre un cliente y un servidor, pero también puede asegurar el correo electrónico, VoIP y otras comunicaciones a través de redes no seguras.

¿Cómo funciona SSL/TLS?

Estos son los principios fundamentales que hay que entender para comprender el funcionamiento de SSL/TLS:

  • La comunicación segura empieza con un protocolo de enlace TLS, en el que las dos partes que se comunican abren una conexión segura e intercambian la clave pública
  • Durante el protocolo de enlace TLS, las dos partes generan claves de sesión, y las claves de sesión encriptan y desencriptan todas las comunicaciones después del protocolo de enlace TLS
  • Se utilizan diferentes claves de sesión para encriptar las comunicaciones en cada nueva sesión
  • TLS garantiza que la parte del lado del servidor, o el sitio web con el que está interactuando el usuario, es realmente el que dice ser
  • TLS también garantiza que los datos no hayan sido alterados, ya que se incluye un código de autenticación de mensajes (MAC) en las transmisiones

Con TLS, tanto los datos HTTP que los usuarios envían a un sitio web (al hacer clic, rellenar formularios, etc.) como los datos HTTP que los sitios web envían a los usuarios están encriptados. Los datos encriptados los debe desencriptar el destinatario con una clave.

el protocolo de enlace TLS

Las sesiones de comunicación de TLS empiezan con un protocolo de enlace TLS. Un protocolo de enlace TLS utiliza lo que se conoce como encriptación asimétrica, lo que significa que se utilizan dos claves diferentes en los dos extremos de la conversación. Esto es posible gracias a una técnica llamada criptografía de clave pública.

En la criptografía de clave pública se utilizan dos claves: una clave pública, que el servidor la hace pública, y una clave privada, que se mantiene en secreto y solo se utiliza en el lado del servidor. Los datos encriptados con la clave pública solo pueden desencriptarse con la clave privada, y viceversa.

Durante el protocolo de enlace TLS, el cliente y el servidor usan las claves pública y privada para intercambiar datos generados aleatoriamente, y estos datos aleatorios se utilizan para crear nuevas claves para la encriptación, llamadas claves de sesión.

Encriptación simétrica con claves de sesión

A diferencia de la encriptación asimétrica, en la encriptación simétrica las dos partes de una conversación usan la misma clave. Tras el protocolo de enlace TLS, ambas partes utilizan las mismas claves de sesión para la encriptación. Una vez se utilizan las claves de sesión, las claves pública y privada dejan de usarse. Las claves de sesión son claves temporales que no se vuelven a utilizar una vez haya finalizado la sesión. Se creará un nuevo conjunto aleatorio de claves de sesión para la siguiente sesión.

Encriptación asimétrica Encriptación simétrica

Autenticar el servidor de origen

Las comunicaciones TLS del servidor incluyen un código de autenticación del mensaje, o MAC, que es una firma digital que confirma que la comunicación procede del sitio web real. Esto autentica al servidor, impidiendo los ataques en ruta y la falsificación de dominios. También garantiza que los datos no hayan sido alterados en tránsito.

¿Qué es un certificado SSL?

Un certificado SSL es un archivo instalado en el servidor de origen de un sitio web. Simplemente es un archivo de datos que contiene la clave pública y la identidad del propietario del sitio web, junto con otra información. Sin un certificado SSL, el tráfico de un sitio web no puede encriptarse con TLS.

Técnicamente, cualquier propietario de un sitio web puede crear su propio certificado SSL: estos certificados se llaman certificados autofirmados. Sin embargo, los navegadores no consideran que los certificados autofirmados sean tan fiables como los certificados SSL emitidos por una autoridad de certificación.

¿Cómo consigue un sitio web un certificado SSL?

Los propietarios de los sitios web tienen que obtener un certificado SSL de una agencia certificadora, y luego instalarlo en su servidor web (con frecuencia, un proveedor de alojamiento web puede encargarse de este proceso). Una agencia certificadora es una entidad externa que puede confirmar que el propietario del sitio web es quien dice ser. Conservan una copia de los certificados que emiten.

¿Es posible conseguir un certificado SSL gratuito?

Muchas agencias certificadoras cobran por los certificados SSL. Para ayudar a que Internet sea más seguro, Cloudflare ofrece certificados SSL gratuitos. Cloudflare fue la primera empresa de seguridad y rendimiento de Internet en hacerlo. Cloudflare también ha trabajado para optimizar el rendimiento de SSL/TLS para que los sitios web que pasen de HTTP a HTTPS no tengan problemas de rendimiento. Para más información sobre las opciones de SSL con Cloudflare, consulta nuestra Documentación para desarrolladores.

¿En qué se diferencian HTTP y HTTPS?

La S de "HTTPS" significa "seguro." HTTPS es simplemente HTTP con SSL/TLS. Un sitio web con una dirección HTTPS tiene un certificado SSL legítimo emitido por una agencia certificadora, y el tráfico hacia y desde ese sitio web se autentica y encripta con el protocolo SSL/TLS.

Para promover que todo Internet se pase al más seguro HTTPS, muchos navegadores web han empezado a marcar los sitios web HTTP como "no seguro" o "inseguro." Por tanto, el HTTPS no solo es fundamental para mantener seguros a los usuarios y sus datos, sino que también se ha convertido en algo fundamental para generar confianza con los usuarios. Prueba un sitio web para detectar problemas de SSL/HTTPS.