Resumen

  • En TLS 1.2 y DTLS 1.2, el RFC 10015 establece que los clientes no deben ofrecer y los servidores no deben seleccionar varios intercambios Diffie–Hellman de campo finito ni el intercambio RSA estático. ECDH estático y ciertos certificados de cliente DH permanecen en el nivel SHOULD NOT.
  • El registro IANA acredita la postura del estándar, no el estado de ejecución. Para declarar una desactivación hacen falta pruebas de la configuración cargada, cada punto de terminación, las ofertas y selecciones reales, las excepciones y la migración de los clientes dependientes.

La alerta desapareció el mismo día que IANA cambió la recomendación. Meses después, una prueba dirigida encontró la suite en un servicio DTLS que no formaba parte del escaneo habitual. El registro estaba al día; lo que faltaba era una definición honesta de qué significaba «cerrado».

El RFC 10015 es un documento de la vía de estándares del IETF. Actualiza el tratamiento de intercambios de claves antiguos para TLS 1.2 y DTLS 1.2 y modifica recomendaciones anteriores. No contiene un censo de bibliotecas, productos o endpoints, ni afirma que alguna flota concreta haya aplicado la norma. Su objeto es normativo, no empírico.

La confusión surge porque el dato normativo es fácil de consumir. Un sistema lee el registro, encuentra D y marca la regla. Sin embargo, entre esa fila y el handshake hay muchas decisiones: qué código conserva la biblioteca, qué valor predeterminado trae el producto, qué configuración aprobó el operador, qué versión se renderizó, qué proceso la cargó, dónde termina realmente TLS y qué ofreció cada cliente.

No existe una única categoría de «TLS antiguo»

El RFC distingue familias y verbos. En TLS 1.2 y DTLS 1.2, un cliente MUST NOT ofrecer y un servidor MUST NOT seleccionar suites DH no efímeras sobre campo finito. La prohibición también cubre DHE efímero en esas versiones. Las suites de intercambio de claves RSA estático reciben el mismo MUST NOT.

ECDH estático queda en SHOULD NOT. Los tipos de certificado de cliente con DH fijo tratados por el documento también son SHOULD NOT. Apartarse de esa recomendación exige una razón excepcional y revisable, pero no tiene la misma semántica que infringir un MUST NOT. Una herramienta que guarda solo «deprecated» elimina el dato que debería gobernar la excepción.

También hay que conservar la versión del protocolo. El RFC 8996 ya había dejado obsoletos TLS 1.0 y 1.1. El RFC 5246 define TLS 1.2 y el RFC 8446 transforma el acuerdo de claves en TLS 1.3. El RFC 10015 permite FFDHE en TLS 1.3: los defectos específicos del diseño y uso en TLS 1.2 no convierten cualquier FFDHE en una práctica prohibida. El RFC 7919 aporta el contexto de los grupos finitos negociados.

«RSA estático» tampoco significa «todo RSA». Un servidor puede usar un certificado RSA y una firma RSA sin transportar el secreto mediante el intercambio RSA estático. Un inventario de certificados no prueba, por tanto, cuál es la ruta de intercambio que el endpoint puede seleccionar.

Las razones de seguridad explican por qué importa la precisión. Sin secreto hacia adelante, la pérdida futura de una clave duradera puede comprometer sesiones antiguas. La reutilización de claves DH finitas trae riesgos de temporización y grupos; la reutilización ECDH añade curvas inválidas, canales laterales y fallos. RSA estático conserva la exposición histórica a ataques de la familia Bleichenbacher y a la reutilización entre protocolos. El RFC 9325 y el RFC 9847 forman parte de una política de mantenimiento: las recomendaciones de despliegue cambian cuando cambia la evidencia, aunque el código legado siga funcionando.

El alcance exacto de la D

El registro de parámetros TLS de IANA marca con D las suites afectadas y cuatro identificadores ClientCertificateType, citando el RFC 10015. La letra significa discouraged. Para saber si el requisito es MUST NOT o SHOULD NOT hay que seguir la referencia normativa.

La D demuestra que el registro ya desaconseja el elemento. Puede activar revisión de código, controles de compra y planes de migración. No prueba que una biblioteca haya eliminado la capacidad, que el producto haya cambiado su valor por defecto, que el operador haya retirado la suite de la configuración, que el proceso haya recargado el cambio o que todos los listeners, SNI, proxies y bordes regionales lo hayan recibido.

Tampoco demuestra que los clientes dejaron de ofrecerla, que ningún servidor la selecciona, ni que una excepción o una imagen de rollback no pueda reintroducirla. Cada afirmación pertenece a una superficie distinta y caduca a su propio ritmo.

Capacidad, oferta, selección y observación

Conviene modelar cuatro estados. Capacidad indica que el código aún puede ejecutar el intercambio. Oferta describe lo que el cliente envía en un handshake concreto. Selección es la elección del servidor. Observación es lo que una sonda o la telemetría logró ver.

Una biblioteca puede conservar la capacidad mientras una política impide toda oferta. Una suite puede aparecer en un archivo y no ganar nunca la selección. Un escáner puede no verla porque desconoce un nombre SNI, no prueba UDP, salta un borde interno o siempre ofrece alternativas mejores. La ausencia en la muestra no es imposibilidad.

Una prueba negativa controlada ofrece únicamente la familia prohibida y espera el rechazo. Es una evidencia más fuerte que la conexión normal de un navegador moderno, pero sigue limitada a la dirección, puerto, transporte, SNI y versión de política alcanzados. El DTLS 1.3 del RFC 9147 recuerda que un inventario exclusivo de TLS sobre TCP no puede cerrar servicios DTLS sobre UDP.

Un recibo de cierre de la obsolescencia

La solución operativa es un recibo de cierre de la obsolescencia por exposición. El primer bloque identifica el elemento de IANA, el RFC, la versión, la familia y la fuerza normativa. Así, un SHOULD NOT de ECDH estático no se disfraza de MUST NOT, y FFDHE permitido en TLS 1.3 no cae por una coincidencia de nombre.

El segundo bloque fija el punto de control real: fuente de configuración autorizada, revisión aprobada, política renderizada, build o firmware, listener, SNI, dirección, puerto, transporte y proxies anteriores. «Política global actualizada» es una intención, no una prueba, cuando la terminación está repartida.

El tercero registra la activación: reinicio, recarga en caliente o rollout gestionado; hora; cambio; población objetivo; instancias completas, fallidas y ausentes; versión de retorno. El diff acredita qué debía ocurrir. La identidad del proceso y su política cargada acreditan algo más cercano a lo que ocurrió.

El cuarto bloque reúne comportamiento. La prueba de oferta única debe terminar en rechazo; la prueba de alternativas conserva la selección; la telemetría registra ofertas y elecciones durante una ventana explícita y declara sus lagunas. El recibo no traduce «no observado» por «imposible».

El último bloque gobierna dependencias y excepciones: cliente, función, alcance, control compensatorio, responsable, aprobación, vencimiento y condición de salida. También acredita la migración del cliente y la eliminación del camino compatible. Una excepción sin fecha no es transición; es otra política.

El recibo es una propuesta editorial de Daniel Kade, no un requisito nuevo del RFC. Su objetivo es que la velocidad de ingestión del estándar no supere la capacidad de la organización para describir su realidad.

Un vocabulario de verificación

La automatización debería decir «desaconsejado por el registro», «retirado de la configuración», «recarga comprobada», «oferta negativa rechazada», «sin selecciones observadas dentro de esta cobertura» o «excepción cerrada». Solo la unión de las pruebas pertinentes permite decir «desactivado».

Además, ese vocabulario conserva causalidad. Si reaparece una selección prohibida, se puede buscar el fallo en la fuente, el renderizado, el despliegue, el inventario, la excepción o el cliente dependiente. Un único indicador verde no ofrece ese camino.

El IETF ha fijado la norma. La cuestión de gobierno empieza después: qué endpoint todavía puede tomar la decisión antigua, quién controla ese endpoint y qué evidencia demuestra que ya no puede hacerlo.

Fuentes