El TLS oportunista (Transport Layer Security) hace referencia a extensiones de los protocolos de comunicación de texto sin formato que ofrecen una forma de actualizar una conexión de texto sin formato a una conexión cifrada ( TLS o SSL ) en lugar de utilizar un puerto independiente para la comunicación cifrada. Varios protocolos utilizan un comando denominado " STARTTLS " para este fin. Es una forma de cifrado oportunista y está pensado principalmente como una contramedida al monitoreo pasivo .
El comando STARTTLS para IMAP y POP3 está definido en RFC 2595, para SMTP en RFC 3207, para XMPP en RFC 6120 y para NNTP en RFC 4642. Para IRC , el grupo de trabajo IRCv3 definió una extensión STARTTLS, aunque luego quedó obsoleta. [1] FTP utiliza el comando "AUTH TLS" definido en RFC 4217 y LDAP define un OID de extensión de protocolo en RFC 2830. HTTP utiliza un encabezado de actualización .
TLS es independiente de la aplicación; en palabras de RFC 5246:
El estilo utilizado para especificar cómo utilizar TLS coincide con la misma distinción de capas que también es compatible con varias implementaciones de bibliotecas de TLS. Por ejemplo, la extensión SMTP RFC 3207 ilustra con el siguiente diálogo cómo un cliente y un servidor pueden iniciar una sesión segura: [3]
S: <espera conexión en el puerto TCP 25> C: <abre conexión> S: 220 mail.example.org Servicio ESMTP listo C: cliente EHLO.ejemplo.org S: 250-mail.example.org le ofrece un cálido abrazo de bienvenida S: 250 STARTTLS C: STARTTLS S: 220 Adelante C: <inicia negociación TLS> C&S: <negociar una sesión TLS> C&S: <verificar resultado de negociación> C: cliente EHLO.ejemplo.org [4] . . .
El último comando EHLO anterior se emite a través de un canal seguro. Tenga en cuenta que la autenticación es opcional en SMTP y que la respuesta del servidor omitida ahora puede anunciar de forma segura una extensión SMTP AUTH PLAIN , que no está presente en la respuesta de texto sin formato.
Además del uso de TLS oportunista, se definieron varios puertos TCP para versiones protegidas con SSL de protocolos conocidos. Estos establecen comunicaciones seguras y luego presentan un flujo de comunicación idéntico al antiguo protocolo sin cifrar. Los puertos SSL separados tienen la ventaja de que se realizan menos viajes de ida y vuelta ; también se transmiten menos metadatos en forma no cifrada. [5] Algunos ejemplos incluyen:
Al menos para los protocolos relacionados con el correo electrónico, RFC 8314 favorece puertos SSL separados en lugar de STARTTLS.
El TLS oportunista es un mecanismo de cifrado oportunista . Debido a que el protocolo de enlace inicial se realiza en texto sin formato, un atacante que controle la red puede modificar los mensajes del servidor mediante un ataque de intermediario para que parezca que el TLS no está disponible (denominado ataque STRIPTLS ). La mayoría de los clientes SMTP enviarán entonces el correo electrónico y posiblemente las contraseñas en texto sin formato, a menudo sin notificación al usuario. [ cita requerida ] En particular, muchas conexiones SMTP se producen entre servidores de correo, donde la notificación al usuario no es práctica.
En septiembre de 2014, se descubrió que dos ISP en Tailandia estaban haciendo esto a sus propios clientes. [6] [7] En octubre de 2014, se reveló que Cricket Wireless , una subsidiaria de AT&T , estaba haciendo esto a sus clientes. Esta conducta comenzó ya en septiembre de 2013 por parte de Aio Wireless , que luego se fusionó con Cricket, donde la práctica continuó. [8] [6]
Los ataques STRIPTLS se pueden bloquear configurando los clientes SMTP para que requieran TLS para las conexiones salientes (por ejemplo, el agente de transferencia de mensajes Exim puede requerir TLS mediante la directiva "hosts_require_tls" [9] ). Sin embargo, dado que no todos los servidores de correo admiten TLS, no resulta práctico simplemente requerir TLS para todas las conexiones.
Un ejemplo de un ataque STRIPTLS del tipo utilizado en la tecnología de vigilancia masiva tailandesa : [10]
Suponiendo que el lado del cliente lo admita (resolución de nombres del cliente y servidor DNS ascendente del cliente), este problema se puede solucionar mediante la autenticación basada en DNS de entidades nombradas (DANE), una parte de DNSSEC , y en particular mediante RFC 7672 para SMTP. DANE permite anunciar la compatibilidad con SMTP seguro a través de un registro TLSA. Esto indica a los clientes que se conectan que deben requerir TLS, evitando así los ataques STRIPTLS. El proyecto STARTTLS Everywhere de la Electronic Frontier Foundation funciona de forma similar. Sin embargo, DNSSEC, debido a las complejidades de la implementación y a las peculiares [ aclaración necesaria ] críticas, [11] enfrentó una baja tasa de adopción y un nuevo protocolo llamado SMTP MTA Strict Transport Security o MTA-STS ha sido redactado [12] por un grupo de los principales proveedores de servicios de correo electrónico, incluidos Microsoft, Google y Yahoo. MTA-STS no requiere el uso de DNSSEC para autenticar los registros TLSA de DANE, sino que se basa en el sistema de autoridad de certificación (CA) y en un enfoque de confianza en el primer uso (TOFU) para evitar intercepciones. El modelo TOFU reduce la complejidad, pero sin las garantías en el primer uso que ofrece DNSSEC. Además, MTA-STS introduce un mecanismo para informar errores y un modo de solo informes, lo que permite una implementación progresiva y una auditoría para el cumplimiento.
Tras las revelaciones realizadas por Edward Snowden a la luz del escándalo de vigilancia masiva global , los proveedores de correo electrónico populares han mejorado su seguridad de correo electrónico al habilitar STARTTLS. [13] Facebook informó que después de habilitar STARTTLS y alentar a otros proveedores [ ambiguo ] a hacer lo mismo, hasta que Facebook suspendió su servicio de correo electrónico en febrero de 2014, el 95% del correo electrónico saliente estaba cifrado con Perfect Forward Secrecy y una estricta validación de certificados. [14]
hosts_require_tls - Exim insistirá en utilizar una sesión TLS al realizar entregas a cualquier host que coincida con esta lista.