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 evitar de manera efectiva el uso indebido de los certificados robados al reducir su período de validez máximo 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 TLS actual y, por supuesto, el problema central que se debe a ella, por lo que necesitamos Credenciales delegadas para TLS.

La infraestructura actual de TLS

Más del 70% de todos los sitios web en Internet utilizan hoy 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 solo es válido por un período específico, generalmente por un año o dos.

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 usen durante todo su período de validez, pero desafortunadamente, un certificado puede salir mal antes de su fecha de vencimiento por muchas razones.

Por ejemplo, la clave privada secreta correspondiente a un certificado se puede robar o el certificado se puede emitir 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 hombre en el medio.

Además, las grandes compañías tecnológicas como Facebook, Google y Cloudflare ofrecen sus servicios desde miles de servidores implementados en todo el mundo. Distribuyen claves de certificado privadas a cada una de ellas, un proceso donde 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, desafortunadamente, 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 confiables para evitar de forma proactiva que sus usuarios se conecten aún 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 encuentra algún error de conexión.

Eso significa que un atacante puede lanzar ataques cibernéticos contra un sitio web específico 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 sensible período de tiempo, algunas compañías han comenzado a experimentar con certificados con un período de validación más corto, después de lo cual los navegadores mismos los rechazan en lugar de esperar la señal de revocación.

Facebook también se encuentra entre las compañías que usan este enfoque, como explica la compañía :

«Cuanto más corta sea la vida útil del certificado, es menos probable que sea necesario revocarlo 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 compañías 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, peor aún, la falta de acceso a un servicio por completo», 

advirtió Firefox .
«Para mitigar este riesgo, los servicios como el nuestro [Facebook] generalmente optan por un tiempo de vencimiento más largo, por lo que hay 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 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 compañías tomar un control parcial sobre el proceso de firmar nuevos certificados por sí mismas, con un período de validez de no más de 7 días y sin depender completamente de la autoridad de certificación.

«Las credenciales delegadas permiten a los titulares de certificados especialmente inscritos usar esos certificados como una especie de sub-sub-CA para construir sub-certificados 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 periféricas 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 que admiten 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.

Por lo tanto, 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 credenciales delegadas 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 corto tiempo de validez, en lugar de la clave privada del certificado real, para agregar defensa en profundidad», dijo Facebook.
En resumen:

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, que satisface la cadena de confianza porque delegó las credenciales 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 nueva credencial delegada y enviarla a los servidores TLS mucho antes de que caduque la credencial anterior. Las interrupciones momentáneas en la disponibilidad no darán lugar a saltos de manos rotos para los clientes que admiten credenciales delegadas», dijo 

Cloudflare . 

Soporte para credenciales delegadas

Facebook ya ha agregado soporte para Credenciales Delegadas en la biblioteca Fizz , su implementación de código abierto de TLS 1.3 diseñada para rendimiento y seguridad.

La bifurcación de código abierto de Google de OpenSSL, 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 aproximadamente: config → buscar la preferencia » security.tls.enable_delegated_credentials » → hacer doble clic en ella para establecer su valor en verdadero.

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

  • fbdelegatedcredentials.com ← Por Facebook
  • kc2kdm.com/delegated.html ← Por Mozilla

Fuente: thehackernews.com

Compartir