La misma Google acaba
con este estándar que anunció hace 3 años para prevenir los ataques "Man
in the Middle" usando CAs vulnerados.
Hace 3 años se
anunciaba con el rfc7469 esta medida de seguridad adicional, creada por la
misma Google e implementado en sus servidores y el navegador Chrome con su
versión 46, que previene de un posible 'ataque MitM de sustitución' haciendo
uso de una CA vulnerada en la que confía el cliente.
La medida ha sido
anunciada por Chris Palmer, que trabaja en la seguridad de Google Chrome, el
pasado 27 de octubre. Entre las razones que exime para declararlo obsoleto se
encuentra el alto riesgo de dejar un sitio inutilizable.
HTTP Public Key
Pinning (HPKP) es una cabecera adicional enviada por el servidor que contiene
la declaración de las claves públicas válidas para el sitio web durante un
periodo de tiempo. En caso de cambiar la clave pública utilizada, como cuando
se cifra la conexión con el certificado de otra CA, el cliente corta la
conexión evitando así un posible ataque MitM. El problema de esta medida es que
no se diferencia entre un cambio de clave pública fidedigno y un ataque real,
pudiendo dejar el sitio inaccesible.
Además del problema
antes descrito, puede que su baja adopción, con sólo un 0.1% según Netcraft,
también sea una de las razones para su eliminación. Otra opción es el apoyo de
Google a su otro proyecto similar (aunque complementario) Certificate
Transparency.
Certificate
Transparency (CT) es un proyecto de Google para el registro y monitorización de
los certificados expedidos, el cual involucra a entidades de certificación,
dueños de los certificados y clientes. Las CAs enviarían los cambios de los
certificados que gestionan a los registros CT, los dueños podrían monitorizar
los cambios indebidos sobre los certificados de sus dominios, y los clientes
validarían el certificado que envía el sitio respecto al registrado en CT. Este
nuevo sistema permite a los dueños saber rápidamente si están sufriendo un
ataque, y a los clientes denegar el cambio fraudulento de no estar registrado.
Esta medida, que no
requiere de cambios por los dueños de los sitios para su adopción, da solución
a uno de los mayores problemas del ataque por reemplazo de certificado: la
mayoría se realizan sin que el dueño se entere.
Más información:
- Intent To Deprecate And Remove: Public Key Pinning https://groups.google.com/a/chromium.org/forum/#!msg/blink-dev/he9tr7p3rZ8/eNMwKPmUBAAJ
- Rolling out Public Key Pinning with HPKP Reporting https://developers.google.com/web/updates/2015/09/HPKP-reporting-with-chrome-46
- RFC 7469 - Public Key Pinning Extension for HTTP https://tools.ietf.org/html/rfc7469
- Is HTTP Public Key Pinning Dead? https://blog.qualys.com/ssllabs/2016/09/06/is-http-public-key-pinning-dead
- Secure websites shun HTTP Public Key Pinning https://news.netcraft.com/archives/2016/03/22/secure-websites-shun-http-public-key-pinning.html
- The fall of Public Key Pinning and rise of Certificate Transparency https://hackernoon.com/on-guarding-against-certificate-mis-issuance-b968e61baf18
- Certificate Transparency https://www.certificate-transparency.org/