En agosto de 2018, el IETF aprobó el estándar TLS 1.3TLS 1.0 y
TLS 1.1 pronto dejarán de existir.
La telemetría de Firefox ya muestra que estos protocolos representan una fracción insignificante del tráfico HTTPS: 1.11% y 0.09%, respectivamente. La gran mayoría de los sitios ahora usan TLS 1.2. Y en 2019-2020, todos los navegadores principales tienen la intención de abandonar por completo la compatibilidad con TLS 1.0 y TLS 1.1. En el lado del servidor, se recomienda que deshabilite estos protocolos ahora.
¿Por qué deshabilitar TLS 1.0 y 1.1?
TLS 1.0 cumplirá 20 años el próximo enero. Cumplió su papel: a lo largo de los años, el protocolo ha cifrado miles de millones, si no billones de conexiones. Con el tiempo, se hizo mejor comprender cómo deberían diseñarse los protocolos de cifrado. Mayores requisitos para la fiabilidad de las cifras. Desafortunadamente, TLS 1.0 y 1.1 no cumplen con estos requisitos.
Hay algunos aspectos de TLS 1.0 y 1.1 que son preocupantes,
escribe el blog de seguridad de Mozilla. Lo peor es que no admiten trabajar con algoritmos criptográficos modernos. Por ejemplo, cuando se dan la mano, necesariamente requieren el uso del algoritmo hash SHA-1. En estas versiones de TLS, no es posible instalar un algoritmo hash más fuerte para las firmas ServerKeyExchange o CertificateVerify. Por lo tanto, la única salida es actualizar a la nueva versión de TLS.
El 14 de septiembre de 2018, el Grupo de trabajo de ingeniería de Internet (IETF) publicó un
borrador de documento oficial en el que
no recomienda el uso de TLS 1.0 y 1.1. Entre otras cosas, menciona que un SHA-1 con una fuerza criptográfica de 2 ^ 77 no puede considerarse seguro según los estándares modernos: "2 ^ 77 operaciones [para ataque] están por debajo del límite de seguridad aceptable".
Fragmento de un IETF descartando TLS antiguoEl documento proporciona información técnica más detallada sobre los motivos de esta decisión. Habla del ataque BEAST (Exploit Exploit Against SSL / TLS) en TLS 1.0, es decir, cifrados de bloque, donde el último bloque de cifrado del mensaje anterior (n-1) se usa como el vector de inicialización para el mensaje n.
TLS 1.1 se elimina junto con TLS 1.0 porque no es fundamentalmente diferente y tiene esencialmente las mismas desventajas. En esta versión, solo se corrigieron algunas restricciones de TLS 1.0, que se pueden evitar
de otras maneras (de nuevo, estamos hablando de un ataque BEAST).
De acuerdo con las recomendaciones de NIST, los servicios web fueron invitados a eliminar el soporte para versiones anteriores de TLS hasta julio de 2018. Esto fue hecho por Amazon, CloudFlare, GitHub, KeyCDN, PayPal y muchos otros servicios web.
Fechas de cierre
Los desarrolladores de todos los principales navegadores acordaron cumplir con las recomendaciones de IETF.
El navegador Chrome será el primero en rechazar la compatibilidad con versiones anteriores de TLS. Los desarrolladores planean comenzar el proceso con la versión de Chrome 72, que se lanzará en enero de 2019: a partir de ahora, para sitios con protocolos obsoletos, se mostrará una advertencia en la consola de DevTools. Se realizará un apagado completo en la versión Chrome 81, cuyo lanzamiento está programado para marzo de 2020 (versiones preliminares de enero de 2020).
Microsoft
promete deshabilitar los protocolos "en la primera mitad de 2020". Mozilla
anunció que deshabilitará TLS 1.0 y 1.1 en Firefox en marzo de 2020. Apple
planea eliminar el soporte de los navegadores Safari en marzo de 2020.
Los comunicados de prensa de los desarrolladores de todos los principales navegadores salieron muy coordinados:
Perfil TLS 1.2 moderno
Según la recomendación de IETF, la base criptográfica mínima para las conexiones HTTPS debe ser TLS 1.2. Según la telemetría de Firefox, ahora representa el 93.12% del tráfico HTTPS (
94% según Qualys ), por lo que las recomendaciones de facto se están implementando hoy.
Uso de versiones TLS para todas las conexiones HTTPS en Firefox Beta 62, datos de telemetría para agosto-septiembre de 2018TLS 1.2 es un requisito previo para HTTP / 2, que
mejora el rendimiento del sitio . Mozilla recomienda utilizar el
perfil moderno TLS 1.2 en el lado del servidor si no hay necesidades especializadas. El perfil moderno proporciona un alto nivel de seguridad e incluye los siguientes parámetros:
- Conjuntos de cifrado: ECDHE-ECDSA-AES256-GCM-SHA384: ECDHE-RSA-AES256-GCM-SHA384: ECDHE-ECDSA-CHACHA20-POLY1305: ECDHE-RSA-CHACHA20-POLY1305: ECDHEC-EEEH-EEC-E8-E12-EC-E8-E8-EC-E8 -RSA-AES128-GCM-SHA256: ECDHE-ECDSA-AES256-SHA384: ECDHE-RSA-AES256-SHA384: ECDHE-ECDSA-AES128-SHA256: ECDHE-RSA-AES128-SHA256
- Curvas elípticas para TLS: prime256v1, secp384r1, secp521r1
- Tipo de certificado: ECDSA
- Certificado de curvas elípticas: prime256v1, secp384r1, secp521r1
- Firma del certificado: sha256WithRSAEncryption, ecdsa-with-SHA256, ecdsa-with-SHA384, ecdsa-with-SHA512
- Tamaño de clave RSA: 2048 (si no hay ECDSA)
- Tamaño del parámetro DH: ninguno (completamente deshabilitado)
- Tamaño del parámetro ECDH: 256
- HSTS: edad máxima = 15768000
- Certificado de cambio: No
Los expertos señalan que pocas autoridades de certificación ahora admiten firmas ECDSA, por lo que las firmas RSA para certificados ECDSA están permitidas en las recomendaciones.
El protocolo de intercambio de claves DHE se elimina por completo del conjunto de cifrado porque es más lento que ECDHE y todos los clientes modernos admiten curvas elípticas.
El algoritmo de firma SHA1 también se elimina por completo del conjunto: en su lugar se utilizan SHA384 para AES256 y SHA256 para AES128.
Esta configuración es compatible con las versiones Firefox 27, Chrome 30, IE 11 en Windows 7, Edge, Opera 17, Safari 9, Android 5.0 y Java 8. Si necesita soporte para navegadores más antiguos, entonces los requisitos para el conjunto de cifrado deberán reducirse al nivel
"promedio" , se establece como el nivel predeterminado. Solo en el caso más extremo se recomienda pasar a un
conjunto de cifrado compatible con versiones anteriores con soporte para Windows XP / IE6.
Desafortunadamente, hoy no todos los proveedores cumplen con las recomendaciones para la configuración segura de TLS 1.2.
El 24 de septiembre de 2018, arXiv.org publicó un
estudio académico sobre este problema , realizado por investigadores de la Universidad de Concordia en Montreal (Canadá). Los autores analizaron el comportamiento de 17 versiones de 13 herramientas TLS de red de diferentes clases (libre, de código abierto, de bajo y alto nivel).

Las conclusiones son decepcionantes: casi todos los productos considerados eran vulnerables:
Por ejemplo, resultó que WebTitan, UserGate y Comodo no realizaron la validación TLS. Comodo y Endian, por defecto, consideran todos los certificados como verificados, y Cacheguard acepta certificados TLS autofirmados.
Trend Micro, McAfee y Cacheguard utilizan pares de claves pregenerados (aunque la documentación de McAfee dice lo contrario). Cuatro dispositivos, de UserGate, WebTitan, Microsoft y Comodo, aceptan sus propios certificados para contenido entregado externamente. Las claves privadas se almacenan en el dispositivo y se pueden extraer fácilmente con otras vulnerabilidades.
El ataque BEAST permite cookies de autenticación para usuarios de TLS de Microsoft, Cisco y TrendMicro, mientras que los clientes de Sophos, Cacheguard, OpenSense, Comodo y Endian aceptan certificados RSA-512, por los cuales las claves privadas se pueden falsificar fácilmente durante cuatro horas.

El futuro para TLS 1.3
En agosto de 2018, el IETF aprobó el estándar
TLS 1.3 , que
se describió en detalle en Habré . Innovaciones clave en la nueva versión:
- nuevo protocolo de protocolo de enlace: el proceso es el doble de rápido debido a la combinación de varios pasos, el mecanismo de protocolo de enlace se ha vuelto más seguro, ya que los desarrolladores han eliminado todos los algoritmos que no utilizan modos AEAD de cifrado de bloque;
- nuevo proceso de generación de claves utilizando el HMAC de la función de derivación de claves de extracción y expansión (HKDF);
- Eliminar conjuntos de cifrado mediante el intercambio de claves RSA o DH, modo CBC y SHA-1.
Ahora la versión 1.3 en la versión preliminar es compatible con Chrome y Firefox. Según la telemetría, el navegador Firefox ahora establece más conexiones en TLS 1.3 que en TLS 1.0 y 1.1.
Está claro que actualizar uno de los protocolos más importantes afectará a muchos sitios y llevará mucho tiempo, pero como resultado, Internet se volverá más seguro.

