SSL vs. TLS: diferencias entre los protocolos de comunicación

Kyung Y.
Kyung Y.
SSL vs TLS Thumbnail
Link Icon

SSL y TLS son dos protocolos de comunicación que ayudan a proteger nuestros datos. Pero, ¿qué hacen exactamente y en qué se diferencian?

Ya habrás visto "HTTPS" en las URL de los sitios web. La "S" adicional significa "seguro" y significa que la comunicación entre tu dispositivo y ese sitio web está cifrada mediante SSL o TLS. Esto impide que los piratas informáticos te roben información mientras navegas por Internet.

En esta guía exploraremos qué son SSL y TLS, cómo funcionan, las principales diferencias entre ellos y por qué el nuevo protocolo TLS es más seguro. También explicaremos cómo gestionan estos protocolos los proveedores de alojamiento web.

Índice
arrow

¿Qué son SSL y TLS?

SSL (Secure Sockets Layer) y TLS (Transport Layer Security) son protocolos criptográficos que proporcionan una comunicación segura a través de Internet. Utilizan algoritmos de encriptación para codificar los datos en mensajes cifrados que solo puede descifrar el destinatario previsto.

Cuando instalas un certificado SSL/TLS en tu servidor web, se crea una clave pública y una clave privada. Estas claves autentifican tu servidor y le permiten cifrar y descifrar datos mediante una fórmula matemática.

Así pues, SSL y TLS tienen la misma finalidad: crear conexiones seguras a Internet. Sólo que uno es más nuevo y está más mejorado (ya llegaremos a eso). Primero, exploremos la historia y las versiones de cada protocolo.

Protocolo SSL

Netscape desarrolló el protocolo SSL a mediados de los 90 para asegurar la transmisión de datos entre los navegadores web y los servidores. Por desgracia, las dos primeras versiones de SSL tenían fallos de seguridad:

  • SSL 1.0 nunca se hizo pública debido a sus vulnerabilidades
  • SSL 2.0 tenía múltiples problemas y fue obsoleto (eliminado gradualmente)
  • SSL 3.0 llegó en 1996 y solucionó los problemas encontrados en SSL 2.0

Sin embargo, casi 20 años después, los investigadores descubrieron una importante vulnerabilidad llamada POODLE que afectaba a SSL 3.0. Este ataque permitía a los piratas informáticos utilizar el fallback de SSL 3.0 para descifrar información sensible.

Como consecuencia, también se volvió obsoleto.

Se encargó entonces al Grupo de Trabajo de Ingeniería de Internet (IETF) que encontrara una solución y este creó el protocolo TLS para mejorar SSL 3.0.

Protocolo TLS

TLS 1.0 se publicó en 1999 como una mejora de SSL que aún contenía algunas vulnerabilidades.

Las versiones posteriores de TLS solucionaron estos fallos:

  • TLS 1.1 (2006): Añadió protección contra ataques CBC
  • TLS 1.2 (2008): Importantes mejoras de seguridad y rendimiento
  • TLS 1.3 (2018): Más rápida y segura que las versiones anteriores de TLS

En resumen, el protocolo TLS evolucionó a partir de SSL 3.0 para ofrecer un mejor cifrado de los sitios web mediante conexiones más rápidas y seguras. Para aclarar esto, veamos las diferencias clave entre ambas tecnologías.

Diferencias clave entre los protocolos SSL y TLS

SSL y TLS pueden parecer similares a primera vista, ya que ambos permiten la transferencia cifrada de datos. Pero cuando echas un vistazo bajo el capó, surgen algunas distinciones importantes. TLS tiene importantes ventajas de seguridad, velocidad y capacidad que lo han convertido en el estándar del sector.

Estas son algunas de las principales diferencias.

SSL y TLS

Seguridad

Desgraciadamente, los investigadores descubrieron varias vulnerabilidades en versiones anteriores de SSL que los atacantes podrían aprovechar para descifrar comunicaciones sensibles. Ya hemos mencionado el ataque POODLE, que permite a los hackers descifrar conexiones SSL 3.0.

Otro ejemplo es el ataque BEAST. Éste también desencripta datos enviados a través de conexiones SSL y TLS. Lo hace atacando los puntos débiles del método de cifrado CBC (Cipher Block Chaining) utilizado.

Cada versión de TLS añade capas de protección contra nuevas amenazas. TLS 1.3, la última versión, mejora significativamente la seguridad mediante algoritmos de cifrado actualizados. También elimina suites de cifrado obsoletas como SHA-1 y RC4. En general, TLS protege mejor la información.

Proceso de apretón de manos

El proceso de apretón de manos establece una conexión segura cliente/servidor mediante intercambios de claves cifradas. Los handshakes SSL requieren más comunicación de ida y vuelta, lo que ralentiza las conexiones.

Los handshakes TLS se hicieron más rápidos y eficientes al reducir los mensajes de ida y vuelta. Menos viajes a través de la red significa conexiones más rápidas y menos exposición a los piratas informáticos.

Como referencia, aquí tienes un apretón de manos típico en TLS 1.3:

Apretón de manos SSL TLS
  1. El servidor escucha las conexiones entrantes en el puerto 443, que es el puerto estándar para HTTPS.
  2. El cliente inicia una conexión con el servidor en el puerto 443 y envía un mensaje ClientHello. En TLS 1.3, el número de suites de cifrado admitidas se ha reducido de 37 a 5. El cliente asume que el servidor utilizará uno de estos cinco conjuntos de cifrado y genera de forma preventiva un par de claves para cada uno de ellos. A continuación, el cliente envía los pares de claves al servidor junto con la versión de protocolo deseada.
  3. Al recibir el mensaje ClientHello, el servidor selecciona el conjunto de claves más adecuado y calcula la clave de sesión utilizando la clave compartida del cliente.
  4. El servidor responde con un mensaje ServerHello, que incluye la clave compartida del propio servidor. Esto permite al cliente generar la misma clave de sesión. Además, el servidor envía su certificado SSL/TLS cifrado utilizando la clave de sesión creada en el paso 3.
  5. El cliente recibe el mensaje ServerHello y utiliza la clave compartida del servidor para calcular la clave de sesión de forma independiente. A continuación, descifra y verifica el certificado del servidor. Si todo es correcto, el intercambio se considera completado y se establece una conexión segura.

Suites de cifrado

Las suites de cifrado son conjuntos de algoritmos que realizan comprobaciones de autenticación, cifrado e integridad de los datos durante las transacciones. SSL admite suites obsoletas como RC4 y DES. TLS utiliza generalmente cifrados más modernos y seguros como AES y SHA-2. Cada versión elimina opciones vulnerables y añade otras mejores.

Mensajes de alerta

A veces se producen errores durante las sesiones seguras; los mensajes de alerta comunican estos problemas entre el cliente y el servidor. SSL sólo tiene dos niveles: advertencia y fatal. TLS amplió las alertas para incluir un mensaje de "notificación de cierre" para finalizar las conexiones de forma segura.

Además, SSL envía datos de alerta sin cifrar, lo que permite a los piratas informáticos acceder potencialmente a información sensible. TLS cifra todas las alertas para mejorar la privacidad.

Autenticación de mensajes

Por último, la autenticación de mensajes verifica la integridad de los datos mediante sumas de comprobación criptográficas llamadas MAC (Códigos de Autenticación de Mensajes). El destinatario descifra el MAC para confirmar que el mensaje no ha sido alterado durante el tránsito.

SSL:

  • SSL utiliza el algoritmo Message Digest 5 (MD5) para generar los MAC.
  • MD5 es una función hash que produce un valor hash de 128 bits.
  • Se ha descubierto que MD5 tiene debilidades criptográficas y ahora se considera obsoleto/inseguro.

TLS:

  • TLS utiliza el Código de Autenticación de Mensajes basado en Hash (HMAC) para la generación de MAC.
  • HMAC es un algoritmo más seguro que combina una función hash criptográfica (como SHA-256) con una clave secreta.
  • HMAC proporciona mayor seguridad y resistencia contra los ataques criptográficos.

Relación entre SSL/TLS y HTTPS

Con suerte, ahora entiendes cómo funcionan los protocolos SSL/TLS. Pero, ¿dónde encajan exactamente en el panorama general? Bueno, proporcionan la "S" de HTTPS. HTTPS es una versión segura del protocolo estándar de comunicación HTTP. Protege los sitios web mediante:

  • El cifrado de los protocolos SSL/TLS
  • Autenticación mediante certificados SSL/TLS

Cuando un visitante accede a un sitio HTTPS, el navegador comprueba el certificado SSL/TLS para validar la identidad del servidor. Los certificados válidos indican que es seguro transmitir información. Son un sello de aprobación, que indica que los piratas informáticos no se están haciendo pasar por sitios legítimos para robar datos.

Los sitios web obtienen certificados SSL/TLS de Autoridades de Certificación (CA) de confianza para validar su autenticidad.

Los certificados SSL/TLS contienen datos identificativos como el nombre de la organización, la ubicación y la propiedad del servidor. También incluyen una fecha de caducidad y una clave pública para el cifrado. Los servidores renuevan automáticamente los certificados antes de que caduquen para evitar errores. En general, los certificados SSL/TLS permiten el intercambio cifrado de datos al confirmar la validez del sitio.

Si el certificado no está bien configurado, el navegador puede mostrar errores de privacidad que podrían ahuyentar a los visitantes. Por ejemplo, Google Chrome muestra "HTTPS no seguro".

Confiar en versiones SSL obsoletas también debilita la protección contra las estrategias modernas de pirateo informático.

SSL vs TLS: ¿cuál deberías usar?

Dadas las vulnerabilidades del protocolo SSL, TLS se recomienda universalmente para la comunicación segura en línea. Todos los navegadores y servidores modernos son compatibles ahora con una u otra versión de TLS. De hecho, muchos incluso han dejado de aceptar SSL debido a sus defectos inherentes.

Sin embargo, los propietarios de sitios web deben comprobar la compatibilidad de los navegadores para asegurarse de que todos los visitantes puedan acceder a sus sitios sin errores. Mientras que los navegadores de última generación funcionan sin problemas con las nuevas versiones de TLS, algunos dispositivos más antiguos tienen dificultades para ponerse al día.

Por ejemplo, Opera Mini, los navegadores antiguos de Android y Samsung Internet tardaron sorprendentemente mucho tiempo en añadir compatibilidad con TLS 1.2 y 1.3. Sorprendentemente, el navegador Internet Explorer no es mejor.

Entonces, ¿qué deberías hacer? Nuestra recomendación es que adoptes TLS 1.2 o superior para la seguridad de tu sitio web. Después, mantén la retrocompatibilidad con TLS 1.2 para garantizar la accesibilidad en todos los navegadores. Con el tiempo, a medida que disminuya su uso, puedes ir eliminando la compatibilidad por completo.

SSL y hosting web

Cuando elijas un proveedor de alojamiento web, una de las primeras cosas que debes mirar es si implementa una seguridad robusta para tu sitio. Los proveedores de alojamiento web más populares han migrado del anticuado SSL a los modernos protocolos TLS. Sin embargo, la mayoría de los proveedores siguen utilizando el término "SSL" en sus ofertas, incluso cuando se refieren a TLS.

Esto se debe principalmente a la omnipresencia del término "SSL". Se ha convertido en sinónimo de seguridad online. En otras palabras, es una cuestión de marca. Como la mayoría de los clientes entienden lo que se quiere decir al oír "SSL", todo el sector sigue utilizando el término. Pero no te equivoques, en la mayoría de los casos se refiere a TLS.

Esta confusión es también la razón por la que debes asegurarte de que el proveedor de alojamiento ofrece realmente soporte TLS, no sólo SSL. Puedes hacerlo fácilmente mirando sus protocolos de seguridad y asegurándote de que TLS está implementado.

Al elegir un alojamiento, mira más allá de los nombres y asegúrate de que ofrecen las últimas versiones de TLS. Estas son algunas consideraciones clave:

  • Opciones de certificado TLS: Los buenos servidores proporcionan certificados TLS validados por dominio (DV), validados por organización (OV) y de validación ampliada (EV) de CA de confianza.
  • Instalación/renovación automática de certificados TLS: Muchos hosts instalan y renuevan automáticamente los certificados TLS para mayor simplicidad y continuidad.
  • Compatibilidad con versiones modernas de TLS: Utiliza sólo servidores compatibles con TLS 1.2+ para evitar vulnerabilidades en versiones anteriores de TLS y SSL.
  • Optimización del rendimiento de TLS: Los mejores servidores implementan potenciadores de velocidad TLS como HTTP/2 y aceleración SSL/TLS.

Conclusión

Esperamos que esta guía te haya servido de introducción útil a las diferencias entre los protocolos SSL heredados y TLS modernos. He aquí algunos puntos clave:

  • TLS evolucionó a partir de SSL para ofrecer un mejor cifrado de sitios web mediante una mayor seguridad, velocidad y capacidades.
  • TLS 1.3 ofrece actualmente la forma más rápida y segura de salvaguardar la comunicación en línea.
  • Todos los navegadores y servidores web modernos admiten TLS, mientras que SSL ha quedado obsoleto y debe evitarse.
  • Cuando elijas un hosting web, busca proveedores que ofrezcan las últimas versiones de TLS y funciones de optimización.

En Softailed, hemos elegido los mejores servicios de hosting web en función de varios factores, uno de los cuales es la seguridad. Échales un vistazo a las mejores opciones en términos de seguridad para encontrar los proveedores de alojamiento web con los más altos estándares de seguridad.

Link Icon

Soy ingeniero de software y me encanta recopilar datos. Me apasiona el hosting web y el cloud computing. Cuando no estoy online, me gusta ir a pescar y crear cosas raras con mi impresora 3D.

Por qué confiar en Softailed

Nuestros redactores son profesionales del sector con experiencia práctica en los temas que tratan. Cada artículo pasa por un proceso de revisión de varias fases: verificación de datos, edición por expertos y aprobación final. Priorizamos la precisión para que nunca tengas que dudar. Conoce nuestras normas editoriales.