Saltar al contenido
ecdsa.com

Protección contra la degradación (downgrade)

Los mecanismos que impiden que un atacante obligue a dos partes que admiten una versión del protocolo o un algoritmo robusto a pasar a uno más débil, como el centinela de TLS 1.3 en ServerHello.random.
También se escribedowngrade attack protectionDOWNGRD sentinelTLS_FALLBACK_SCSV

Los servidores TLS 1.3 que negocian una versión anterior deben poner en los últimos 8 bytes de ServerHello.random el valor 44 4F 57 4E 47 52 44 01 (DOWNGRD en ASCII más 0x01) para TLS 1.2, o …00 para TLS 1.1 o anteriores; los clientes TLS 1.3 que lo reciben deben abortar (RFC 9846 §4.2.3). Como el valor aleatorio del servidor está cubierto por la firma del servidor, un atacante no puede eliminarlo.

Defensas anteriores: el valor de señalización TLS_FALLBACK_SCSV (RFC 7507), contra los navegadores que reintentaban con versiones inferiores (la época de POODLE), y el hash de la transcripción del handshake en Finished, que detecta la manipulación de los parámetros negociados. En TLS 1.2, las degradaciones a un intercambio de claves de exportación o RSA (FREAK, Logjam) funcionaron porque los servidores todavía admitían esas opciones débiles; desactivarlas es la verdadera solución.

La misma idea se aplica en otros ámbitos: HSTS y MTA-STS impiden las degradaciones de HTTPS o STARTTLS a texto en claro; el intercambio de claves híbrido no debe permitir que un interlocutor elimine la parte poscuántica, y por eso se negocia como un único grupo.

Estándares y referencias

Todos los términos