TLS (Transport Layer Security) es un protocolo de cifrado que garantiza la transmisión segura de datos en Internet. Es el sucesor del ya obsoleto SSL y, en la actualidad, se utiliza casi exclusivamente en su versión TLS 1.3.

Seguridad del correo electrónico
  • Protección de datos y seguridad profesional
  • Cifrado de correo electrónico con SSL/TLS
  • Máxima protección antivirus gracias a cortafuegos y filtros antispam
  • Copias de seguridad diarias, protección diaria

¿Qué es TLS?

En los primeros años de Internet, la seguridad de los datos no era una prioridad como lo es hoy. Toda la comunicación se transmitía de forma abierta y sin cifrar entre ordenadores, algo parecido a enviar una postal: cualquier persona que la transportara podía leer su contenido.

Con la llegada del protocolo TLS, también conocido como SSL/TLS, se introdujo el cifrado de los datos transmitidos. Siguiendo con el mismo ejemplo, este cifrado sería como meter la postal en un sobre sellado que solo puede abrir el destinatario legítimo.

TLS es el acrónimo de Transport Layer Security, que se traduce al español como “seguridad de la capa de transporte”. Esta denominación hace referencia a la capa de transporte del modelo TCP/IP. TLS es un proceso que encripta los flujos de datos de Internet para que solo sus legítimos destinatarios puedan leerlos.

Nota

El antiguo nombre del protocolo de cifrado era SSL (Secure Socket Layer). Dado que esta abreviatura sigue siendo más popular que TLS, es habitual que nos refiramos a TLS con la doble denominación SSL/TLS.

¿Cómo funciona TLS?

TLS encripta por cifrado simétrico todo el tráfico de datos que se realiza a través de TCP.

Aunque suene fácil en la práctica, la realidad es más complicada. El problema principal es que el servidor debe comunicar la clave al cliente y, además, debe hacerlo antes de que la comunicación se asegure con TLS. Si envías habitualmente archivos cifrados por correo, conocerás este problema: cifras un archivo y después debes compartir la contraseña con el destinatario, por ejemplo, por teléfono.

El protocolo TLS, cuya versión actual es la 1.3 desde 2018, emplea el siguiente procedimiento para garantizar una conexión segura:

  1. ClientHello: el cliente (por ejemplo, un navegador) inicia la conexión enviando un mensaje llamado ClientHello, que contiene información sobre los métodos de cifrado que admite. Entre estos datos se incluyen las cipher suites, las versiones del protocolo, un valor aleatorio y su propio valor de intercambio de claves de Diffie-Hellman (valor ECDHE). Opcionalmente, puede incluir ya un primer bloque de datos cifrado.
  2. ServerHello: el servidor responde con un mensaje llamado ServerHello, en el que selecciona los parámetros adecuados y responde con su propia información, que incluye su valor ECDHE y su certificado digital. Este certificado SSL confirma que el servidor es auténtico y no está suplantando una identidad. Al mismo tiempo, comienza el cálculo de la clave de sesión.
  3. Cálculo de claves: ambas partes calculan de forma independiente la misma clave de sesión (session key) a partir de la clave previamente acordada.
  4. El servidor completa el intercambio inicial y comienza la comunicación cifrada. El cliente hace lo mismo y, a partir de ese momento, la conexión queda totalmente asegurada.
Nota

En comparación con versiones anteriores, el intercambio inicial (conocido coloquialmente como “handshake”) de TLS 1.3 es mucho más ágil y seguro. Todo el proceso descrito solo requiere una única ida y vuelta (1 RTT), lo que acelera notablemente la conexión.

El motivo por el que la criptografía asimétrica con Diffie Hellman solo se utiliza para la transmisión de la clave de sesión (pero no para el cifrado del flujo de datos en sí) es la desventaja que supone en la velocidad: la criptografía asimétrica es relativamente lenta y retrasaría la comunicación de datos.

Pros y contras de TLS

TLS es una solución sencilla para hacer más seguro el tráfico de datos en la web, pues no requiere que las partes cifren por sí mismas el contenido, como pueden ser los datos de un formulario. En su lugar, basta con que el tráfico se produzca a través del TLS protocol, independientemente del sistema operativo y de las aplicaciones informáticas que utilicen los involucrados. Durante la transmisión, todos los flujos de datos se cifran de forma automática.

El precio de esta seguridad es una conexión ligeramente más lenta, ya que las etapas del proceso que acabamos de describir —certificado, número aleatorio e intercambio de claves— es muy exigente a nivel computacional.

Campos de aplicación de TLS

Tal y como hemos explicado, TLS se puede utilizar de forma universal, sin importar la aplicación ni el sistema operativo. Como consecuencia, son muchos los protocolos de aplicación que cuentan con una versión segura de TLS. El esquema de denominación es, en muchos casos, muy sencillo: cuando un protocolo utiliza TLS, simplemente se añade una “S” al final de su nombre.

El ámbito de aplicación más importante de TLS es la World Wide Web o, más concretamente, el protocolo HTTP. Su variante cifrada recibe el nombre de HTTPS.

Otros casos de aplicación habituales son:

  • POP3S: los correos electrónicos desde el servidor se reciben con el protocolo POP3.
  • IMAPS: la bandeja de entrada se sincroniza con el servidor utilizando el protocolo IMAP.
  • SMTPS: envío de correos electrónicos.
  • FTPS: transferencia de archivos a través del protocolo FTP.
  • SIPS: telefonía de voz sobre IP utilizando el protocolo SIP.
  • IRCS: chats cifrados.
  • QUIC: protocolo de transporte desarrollado por Google que integra directamente TLS 1.3; se presenta como una alternativa a TCP para lograr conexiones web más rápidas y seguras (por ejemplo, en HTTP/3)

OpenVPN, un software libre para establecer una red privada virtual (VPN), también utiliza el TLS protocol.

Aplicaciones de TLS

Algunas aplicaciones importantes de TLS son:

  • OpenSSL: de lejos, su aplicación más habitual, ya que la mayoría de las páginas web utilizan HTTPS.
  • GnuTLS: desarrollada por la Free Software Foundation*.*
  • LibreSSL: desarrollada por OpenBSD.
  • NSS: desarrollada por Network Security Services*.*
  • BoringSSL: desarrollada por Google.
  • Rustls: desarrollada por Joe Birr-Pixton, Dirkjan Ochtman, Daniel McCarney, Josh Aas y la comunidad de código abierto.
  • Botan: licencia de BSD, desarrollada por Jack Lloyd.
  • JSSE: desarrollada por Java Secure Socket Extension y Oracle.
  • S2n: desarrollada por Amazon.

Esta lista no es exhaustiva. Encontrarás más información sobre los usos de TLS en el artículo de Wikipedia “Comparación de implementaciones TLS”.

Ataques conocidos a TLS

TLS no está totalmente a salvo de los ataques y de las filtraciones. Algunos puntos de ataque conocidos son:

  • Errores de programación: como la famosa brecha de seguridad Heartbleed, un grave error de programación en las primeras versiones de OpenSSL, que se corrigió en 2014.
  • Encriptación débil: como consecuencia de las restricciones estadounidenses de exportación de la criptografía, se desarrollaron versiones exportables más fáciles de descifrar que las originales.
  • Ataques de compresión: utilizar la compresión HTTP en vez de la compresión TLS hace que a los piratas informáticos les resulte más fácil adivinar el contenido cifrado con TLS mediante distintos procesos.
  • El ataque BEAST afectó a la versión 1.0 de TLS y ya se describió en 2014. Las versiones actuales de TLS son más seguras frente a ese tipo de ataques.
  • El *ataque Padding Oracle se descubrió en 2002 y no se corrigió hasta la versión 3.0 de SSL. La versión actual 1.3 de TLS no se ve afectada.
  • El ataque ALPACA, descubierto en 2021, demuestra cómo se pueden explotar certificados TLS en servidores mal configurados para redirigir a los usuarios a otros servicios y así interceptar o manipular datos.

Además, se trató de evitar la aparición de un cifrado TLS completamente seguro para que las autoridades pudiesen inspeccionar comunicaciones cifradas, por ejemplo, si estaban relacionadas con transacciones financieras o actividades delictivas. Una de las organizaciones que más trabajó para que TLS tuviese un punto débil de este tipo fue el ETSI (Instituto Europeo de Normas de Telecomunicaciones).

¿Le ha resultado útil este artículo?
Ir al menú principal