Cómo las nuevas ‘credenciales delegadas’ aumentan la seguridad del protocolo TLS

credenciales delegadas para la seguridad del sitio web tls

Mozilla, en asociación con Facebook, Cloudflare y otros miembros de la comunidad IETF, ha anunciado especificaciones técnicas para un nuevo protocolo criptográfico llamado «Credenciales delegadas para TLS. «

Las credenciales delegadas para TLS son una nueva forma simplificada de implementar certificados «de corta duración» sin sacrificar la confiabilidad de las conexiones seguras.

En resumen, la nueva extensión del protocolo TLS tiene como objetivo prevenir de manera efectiva el uso indebido de certificados robados al reducir su período máximo de validez a un período de tiempo muy corto, como unos pocos días o incluso horas.

Antes de entrar en el funcionamiento de las Credenciales delegadas para TLS, debe comprender la infraestructura de TLS actual y, por supuesto, conocer el problema central por el cual necesitamos Credenciales delegadas para TLS.

La infraestructura TLS actual

Más del 70% de todos los sitios web en Internet hoy en día usan certificados TLS para establecer una línea segura de comunicación HTTPS entre sus servidores y visitantes, asegurando la confidencialidad e integridad de cada bit y byte de datos que se intercambian.

Los sitios web obtienen un certificado TLS de una autoridad de certificación (CA) en la que deben confiar todos los principales navegadores web. La organización de CA firma digitalmente un certificado que sigue siendo válido solo por un período específico, generalmente por uno o dos años.

Cuando se conecta a un sitio web protegido por HTTPS, el servidor proporciona su certificado TLS a su navegador web para confirmar su identidad antes de intercambiar cualquier información que pueda incluir sus contraseñas y otros datos confidenciales.

Idealmente, se espera que los certificados se utilicen durante todo su período de validez, pero desafortunadamente, un certificado puede fallar antes de su fecha de vencimiento por muchas razones.

Por ejemplo, la clave privada secreta correspondiente a un certificado puede ser robada, o el certificado puede emitirse de manera fraudulenta, lo que permite a un atacante hacerse pasar por un servidor objetivo o espiar conexiones cifradas a través de un ataque de intermediario.

Además, las grandes empresas tecnológicas como Facebook, Google y Cloudflare ofrecen sus servicios desde miles de servidores implementados en todo el mundo. Distribuyen claves de certificados privados a cada uno de ellos, un proceso en el que el riesgo de compromiso es mayor de lo habitual.

Problema: ¿Por qué necesitamos credenciales delegadas para TLS?

Si un certificado se ve comprometido antes de su fecha de vencimiento, la única opción que tiene actualmente un operador de sitio web es solicitar a la autoridad de certificación que revoque el certificado robado y vuelva a emitir uno nuevo con una clave privada diferente.

Sin embargo, lamentablemente, los mecanismos de revocación actuales también se rompen en la práctica.

Idealmente, los navegadores deberían poder detectar rápidamente los certificados que ya no son de confianza para evitar de manera proactiva que sus usuarios se conecten más a un servidor comprometido hasta que vuelva a estar en línea con un nuevo certificado válido.

Pero dado que consultar con frecuencia un servidor de CA impone una penalización de rendimiento masiva en el tráfico web, los navegadores modernos usan el estado de validación en caché de un certificado durante algún tiempo o asumen que aún es válido en caso de que el navegador no reciba una respuesta de la CA. a tiempo o encontrar algún error de conexión.

Eso significa que un atacante puede lanzar ataques cibernéticos contra un sitio web objetivo solo en el período de tiempo entre la revocación de su certificado robado y cuando los navegadores se enteran y lo bloquean.

En un intento por reducir aún más este marco de tiempo sensible, algunas empresas han comenzado a experimentar con certificados con un período de validación más corto, después del cual los propios navegadores los rechazan en lugar de esperar la señal de revocación.

Facebook también se encuentra entre las empresas que utilizan este enfoque, como explica la empresa:

«Cuanto más corta sea la vida útil del certificado, es menos probable que se deba revocar un certificado antes de que caduque. Hemos acortado la vida útil de nuestros certificados del estándar actual de la industria de un año a solo unos pocos meses».

«Esto aumenta nuestra seguridad al reducir el período durante el cual un atacante potencial podría usar un certificado comprometido».

Sin embargo, dado que CA es una organización separada y un servidor de sitio web necesitaría obtener nuevos certificados de ellos con mucha más frecuencia, no hay una forma confiable disponible para que las empresas roten continuamente los certificados cada pocas horas o días.

«Sin embargo, la comunicación constante con una CA externa para obtener certificados de corta duración podría dar como resultado un rendimiento deficiente o, lo que es peor, la falta total de acceso a un servicio», advirtió Firefox.

«Para mitigar este riesgo, servicios como el nuestro [Facebook] generalmente optan por un tiempo de caducidad más prolongado, de modo que haya tiempo para recuperarse de cualquier falla «, dijo Facebook.

Solución: ¿Cómo funciona ‘Credenciales delegadas para TLS’?

Finalmente, hablemos de la solución.

Para resolver los problemas mencionados anteriormente, los miembros de la comunidad de IETF ahora han propuesto Credenciales delegadas para TLS, un nuevo protocolo criptográfico que equilibra el equilibrio entre la vida útil y la confiabilidad.

credenciales delegadas para tls explicadas

Las Credenciales delegadas para TLS permiten a las empresas tomar un control parcial sobre el proceso de firma de nuevos certificados por sí mismas, con un período de validez de no más de 7 días y sin depender por completo de la autoridad de certificación.

«Las credenciales delegadas permiten a los titulares de certificados inscritos especialmente usar esos certificados como una especie de sub-sub-CA para construir subcertificados cuya autoridad es delegada por el certificado de entidad final real», dijo JC Jones, líder de ingeniería de criptografía en Mozilla. .

«Estos certificados delegados son particularmente útiles cuando se necesita actuar en nombre de la entidad final en entornos de baja confianza, como los que a veces se encuentran en las redes de borde de CDN».

En términos sencillos, una empresa puede obtener un «certificado de hoja» firmado de su autoridad de certificación, mediante el cual puede generar y firmar una credencial delegada con un tiempo de vencimiento de tan solo unas pocas horas.

En el lado del cliente, los navegadores y el software compatibles con el nuevo protocolo utilizarían la clave pública de la credencial delegada de corta duración de un sitio web para establecer una conexión TLS segura con su servidor.

Entonces, en lugar de implementar la clave privada real asociada con el certificado en todos los servidores, las empresas ahora pueden crear, implementar y emitir credenciales delegadas internamente.

«Es mucho más fácil para un servicio crear una credencial delegada que un certificado firmado por una CA», dice el borrador de IETF.

«Los operadores pueden emitir a cada uno de sus servidores una credencial delegada separada con un tiempo de validez corto, en lugar de la clave privada del certificado real, para agregar una defensa en profundidad», dijo Facebook.

Vamos a envolverlo:

Cuando se conecta a un sitio web con un navegador que admite credenciales delegadas, en lugar de usar el certificado TLS normal, el servidor proporciona un token de corta duración a su navegador para la autenticación, lo que satisface la cadena de confianza porque las credenciales delegadas aún están firmadas por el certificado obtenido de la CA.

«Dado que la credencial delegada tiene su propia clave pública, un servidor también puede experimentar con nuevos algoritmos de clave pública para TLS (incluidas las claves públicas Ed25519) incluso antes de que las CA lo admitan», dijo Facebook.

«Se puede crear una credencial delegada nueva y enviarla a los servidores TLS mucho antes de que caduque la credencial anterior. Las fallas momentáneas en la disponibilidad no darán lugar a apretones de manos rotos para los clientes que admiten credenciales delegadas», dijo Cloudflare.

Compatibilidad con credenciales delegadas

Facebook ya agregó soporte para credenciales delegadas en la biblioteca de Fizz, su implementación de código abierto de TLS 1.3 diseñada para el rendimiento y la seguridad.

La bifurcación de OpenSSL de código abierto de Google, BoringSSL, también admite credenciales delegadas para el protocolo TLS.

Como uno de los socios en la estandarización del protocolo, Mozilla ahora admite credenciales delegadas en la última versión del navegador web Firefox.

credenciales delegadas de firefox para tls

Aunque la función no está habilitada de forma predeterminada en este momento, los usuarios pueden activarla navegando a about: config → busque «security.tls.enable_delegated_credentials«preferencia → haga doble clic en él para establecer su valor en verdadero.

Para comprobar si su navegador admite Credenciales delegadas para TLS, puede visitar los siguientes sitios:

Continua leyendo

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Newsletter Signup

Suscríbete a nuestra lista si te interesa recibir turcos exclusivos sobre hacking y seguridad informática