ssl - ¿Puede un servidor/cliente TLS 1.2 sobrevivir solo con TLS_RSA_WITH_AES_128_CBC_SHA?
tls1.2 (2)
"Entonces, mi pregunta es si los dispositivos que usan nuestra biblioteca interactuarán con los navegadores web modernos (como servidor) y los servidores https / smtps / pop modernos (como cliente). ¿Hay clientes / servidores TLS 1.2 que no logren negociar una conexión TLS_RSA_WITH_AES_128_CBC_SHA? "
Sí, hay muchas implementaciones que fallan.
Más común:
- Clientes que todavía envían un cliente SSL2.0. Hola
- Clientes / Servidores que solo soportan el conjunto de cifrado PFS
- Servidores que aún no soportan TLS 1.2
- Servidores que ya no admiten TLS 1.2, ya que solo son compatibles con TLS 1.3
Mi recomendación es:
- También soporta TLS 1.3 (no es tan difícil de implementar, lo hice)
- también apoya DHE
O use una herramienta / sitio como https://www.ssllabs.com/ssltest/index.html y pruebe la compatibilidad / seguridad de su servidor hasta que sea suficiente para usted.
Estoy actualizando una implementación TLS 1.0 incorporada a TLS 1.2 (dispositivos con 1 MB de espacio de código o menos, y ningún sistema operativo). En este punto, tengo cifrados AES-128 y AES-256 CBC que trabajan con los resúmenes SHA-1 y SHA-256 para una implementación mínima. La biblioteca no puede negociar una conexión SSLv2, SSLv3, TLS 1.0 o TLS 1.1.
Sentí que esto sería suficiente, dado que el RFC 5246 afirma que "TLS_RSA_WITH_AES_128_CBC_SHA ahora es obligatorio para implementar el conjunto de cifrado".
Sin embargo, mientras leo varias publicaciones en blogs de seguridad, veo recomendaciones que hacen que los usuarios deshabiliten esa suite y (por ejemplo) solo permiten las variantes ECDHE_RSA o DHE_RSA.
Entonces, mi pregunta es si los dispositivos que utilizan nuestra biblioteca interactuarán con navegadores web modernos (como servidor) y servidores https / smtps / pop modernos (como cliente). ¿Hay clientes / servidores TLS 1.2 que no logran negociar una conexión TLS_RSA_WITH_AES_128_CBC_SHA?
No estoy seguro de que actualmente haya muchos servidores compatibles con TLS que puedan fallar en la negociación de TLS_RSA_WITH_AES_128_CBC_SHA
con TLSv1.2
ya que es EL conjunto de cifrado obligatorio para TLSv1.2
.
Sin embargo hay cosas a tener en cuenta:
-
TLS_RSA_WITH_3DES_EDE_CBC_SHA
es obligatorio paraTLSv1.0
yTLSv1.1
pero por razones de seguridad ya no es compatible con todos los servidores. - Mozilla recomienda (y no es el único) favorecer
AES128
lugar deAES256
, - Perfect Forward Secrecy (PFS), permitido por DHE o ECDHE, ahora es una característica imprescindible.
Entonces, si puedo proporcionarle 4 suites de cifrado (el mismo número que usted tiene), diría que estas son de la más fuerte a la más débil:
-
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
-
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
-
TLS_RSA_WITH_AES_128_GCM_SHA256
-
TLS_RSA_WITH_AES_128_CBC_SHA
Yo diría que estas 4 suites de cifrado brindan suficiente seguridad y compatibilidad con los servidores TLSv1.2
.
Ahora la cuestión de admitir solo TLSv1.2
es otra pregunta, pero si tiene suficiente espacio, le recomiendo que también agregue TLSv1.0
( TLSv1.1
no proporciona compatibilidad adicional).
PD: La razón por la cual AES128
se favorece en lugar de AES256
es que algunas personas piensan que la seguridad adicional agregada por AES256
es (por ahora) inútil y que AES128
parece ser más resistente a los ataques de tiempo.