¿Qué es HPKP y cómo funciona en el caso de sitios web?

3

Estaba observando la implementación de Seguridad de transporte estricta de HTTP (HSTS) en Firefox. Firefox almacena estos datos para los sitios en un archivo llamado SiteSecurityServiceState.txt

Veo entradas en ella como -

  

support.mozilla.org:HPKP 3 17242 1483383397412,1,0, r / mIkG3eEpVdm + u / ko / cwxzOMo1bk4TyHIlByibiAp.VPV = WoiWRyIOVNa9ihaBciRSC7XHiPiVisPVVPiXWRyIOVNa9ihaBciRSC7XHiPiVPVPVPiXWRYIOVNA9ihaBciRSC7XHiPiVPPVPiXWRYIOVNA9ihaBciRSC7XHiPiVPVPVPiXWRYIOVNA9ihaBciRSC7XHiPiVPPVVP   web.facebook.com:HSTS 18 17227 1504027319798,1,0

HSTS es lo que estaba buscando. Está configurado en su servidor web para enviar el encabezado correspondiente en el encabezado de respuesta. El navegador lo almacena y se asegura de que todas las solicitudes subsiguientes siempre vayan a https y el certificado sea correcto, no permite agregar excepciones (al menos en Firefox).

Entonces, ¿qué es este HPKP y cómo funciona? ¿Es alguna otra configuración de seguridad?

    
pregunta Aniket Thakur 17.03.2017 - 13:29
fuente

2 respuestas

6

HSTS y HPKP son conceptos diferentes.

Un encabezado HTTP Strict Transport Security (HSTS) indica a los clientes que utilicen HTTPS para todas las conexiones futuras a un sitio web, lo que evita los ataques de baja calificación. A diferencia de HPKP, no influye en cómo se validan los certificados.

Un encabezado Fijación de clave pública HTTP (HPKP) instruye a los clientes a vincular una clave pública específica a un dominio. Entonces, si un navegador compatible con HPKP encuentra un encabezado HPKP, recordará los hashes de clave pública especificados y los asociará con ese dominio . En el futuro (hasta que expire el tiempo de espera max-age especificado), el navegador solo aceptará un certificado para ese dominio si alguna clave en la cadena de confianza del certificado coincide con uno de los hashes asociados.

HPKP mitiga el riesgo de que un atacante emita certificados fraudulentos después de haber comprometido una autoridad de certificación ( sucede ocasionalmente ). Su navegador normalmente no podrá detectar un certificado fraudulento si ha sido firmado correctamente por un CA . (Aunque hay mecanismos para detectar revocaciones de certificados, por ejemplo, OCSP / CRLs .) Pero si has anclado un certificado particular a un sitio web de antemano, el atacante no podrá reemplazarlo sin desencadenar un navegador que se desvanezca.

Tenga en cuenta que dado que HPKP es trust-on-first-use , (similar a HSTS) solo será efectivo después de su primera visita a un sitio web. Una excepción a esto son las listas de precarga mantenidas por los proveedores de navegadores para sitios web de alto perfil (Google, Facebook, Twitter, etc.). Esto significa que incluso si DigiCert (la CA de Facebook) estuviera comprometida hoy, un atacante no podría interceptar su conexión a Facebook porque las claves públicas de los certificados originales están precargadas en su navegador.

    
respondido por el Arminius 17.03.2017 - 14:10
fuente
1

Es la fijación de la clave pública http. Su objetivo es proporcionar cierta protección (pero no total) contra las CA comprometidas.

enlace

    
respondido por el Peter Green 17.03.2017 - 14:08
fuente

Lea otras preguntas en las etiquetas