7 sept 2014

¿Firefox implementa un sistema de certificate pinning?... no del todo

Ya hemos hablado de Certificate Pinning en el blog. Chrome era el único navegador que, además de ser el primero, implementaba el "pinning" de serie. Internet Explorer se apoya por ahora precariamente en EMET y Firefox en un addon llamado Certificate Patrol. Pero desde su versión 32, según los titulares, comenzará a "pinear"... pero esto es solo el comienzo y aunque anunciado a bombo y platillo, no es del todo cierto...
 

¿En qué quedamos según estos titulares y la prueba técnica?... ¿Firefox 32 suporta Public Key Pinning o no?

Brevemente, el "pineo" de certificados propone que el navegador "recuerde" cuáles son los certificados válidos de una web, para que, en el caso de robo o creación ilegítima (y posterior MiTM), el usuario sea alertado de que no se está conectando al sitio correcto aunque la negociación SSL sea válida. Varios incidentes muy famosos han contribuido a que esta opción sea cada vez más utilizada. Firefox, en su versión 32, ha implementado varias mejoras. Para empezar, ha eliminado de su lista de certificados confiables varios creados solo con claves de 1024 bits. La lista de Firefox es totalmente diferente a la de Windows (y Chrome), y bastante más estricta a la hora de elegir "certificados de confianza", con lo que, con este paso, se vuelve todavía más paranoica. Con respecto al "pinning", lo que ha hecho es complementar lo que ya tenían (HSTS) con el PKP (Public Key Pinning). Pero, cuidado, hay dos "tipos" de PKP y Firefox solo ha implementado una parte... de ahí la confusión. Veamos qué es cada cosa.

HSTS

El estándar HTTP Strict Transport Security o HSTS. Se trata de una especificación que permite obligar a que, en una página, se use siempre HTTPS aunque el usuario no lo escriba en la barra del navegador. Para ello, el servidor que lo desee debe enviarle una cabecera al navegador, del tipo:

Strict-Transport-Security: max-age=16070400; includeSubDomains

La primera vez que visita la web, recuerda que a partir de entonces y durante el tiempo especificado en max-age, debe hacerlo por HTTPS. Poco más que añadir sobre esta tecnología.

Public key pinning dinámico

Esto también son unas cabeceras que permiten a un servidor indicarle al navegador cuáles son sus certificados "habituales" y por cuánto tiempo debe recordarlos. Si alguna vez se produce un ataque de hombre en el medio y suplantación de certificados, el navegador se quejará de que no eran los mismos que recuerda que le indicó el servidor. Así, los dueños de los sitios pueden declarar qué certificados son realmente suyos.

Contenido completo en fuente original Eleven Path

Suscríbete a nuestro Boletín

0 Comments:

Publicar un comentario

Gracias por dejar un comentario en Segu-Info.

Gracias por comentar!