martes, abril 18, 2017

Expect-CT: Un nuevo HTTP Header de Google para Certificate Transparency

Hace poco que hemos lanzado desde ElevenPaths nuestro add-on Certificate Transparency Checker para Mozilla Firefox, y es que no quedan muchos meses para que el modelo de Certificate Transparency empujado por Google empiece a ser realidad en Google Chrome. De hecho, a comienzos de este año Google ha empujado también un nuevo HTTP Header para que los servidores vayan reportando a los navegadores si van a estar listos o no para la llevada de Certificate Transparency.

Figura 1: Expect-CT un nuevo HTTP Header de Google para Certificate Transparency

El HTTP Header se llama Expect-CT y su formato está recogido en un draft durante el modo experimental en que está. La idea de este HTTP Header es informarle al navegador si debe esperar o no la entrega de los SCT (Signed Certificated Time-Stamps) que van asociados a los certificados cuando estos están publicados en los logs de los servidores de Certificate Tansparency.
Este HTTP Header tiene tres posibles directivas. La primera será la posibilidad de forzar o no forzar el uso de Certificate Transparency. Para ello, si el HTTP Header de Expect-CT lleva la directiva "enforce" el navegador deberá esperar la llegado de los SCT y si no llegan, abortar la conexión.
Expect-CT: enforce
La segunda es el tiempo que debe ser cacheada esta directiva en el navegador, y este es un valor en segundos que se inserta en max-age. Es decir, una vez que un servidor web envíe la política Expect-CT, esta perdurará durante el "max-age" en la caché del navegador.
Expect-CT: enforce; max-age=1440
La tercera y última es "report-URI", es decir, la URL a la que el navegador debería enviar los reportes de fallos en la política Expect-CT
Expect-CT: enforce; max-age=1440;
           report-URI= https://misitio.com/CTReport/
Estos "violation reports" los envía el navegador en formato JSON al endpoint que se reporte en la directiva, y tienen esta estructura.

Figura 3: Formato JSON de Violation Report de Expect-CT

Si tu sitio web ya está listo para Certificate Transparency, puedes comenzar a utilizar este HTTP Header en modo "report-URI" sin "enforce", para que vayas viendo cómo se comportan los navegadores. 


Figura 4: Certificate Transparency Checker para Mozilla Firefox


Saludos Malignos!

1 comentario:

Unknown dijo...

Hola Chema! Me podrías aconsejar algun libro de seguridad informática-hacking(para novatos) ???
Muchas gracias
Saludos!

Entrada destacada

¿Quieres hacer algún proyecto conmigo? Servicio de Reuniones Virtuales en MyPublicInbox

Estamos testando una nueva funcionalidad en MyPublicInbox centrada no en comunicaciones por mensajes de correo electrónico, sino en reunion...

Entradas populares