¿HPKP no se vuelve inútil después de que haya expirado la edad máxima?

3

La idea básica detrás de HPKP era proteger a sus usuarios de los ataques MITM si una CA intermedia emite accidentalmente un certificado fraudulento para su dominio al atacante.

Fija claves o hash en su certificado y establece una edad máxima . El problema es la edad máxima en sí. Su navegador recuerda una política de HPKP siempre que la edad máxima no haya caducado. Una vez que finaliza la edad máxima, el atacante puede usar su certificado fraudulento para aparecer como servidor web legítimo de su sitio.

Github y Mozilla usan HPKP. ¿No es obvio que un atacante esperará hasta que caduque su edad máxima y luego realice el ataque?

    
pregunta defalt 17.11.2016 - 14:03
fuente

1 respuesta

6
  

¿El HPKP no se vuelve inútil después de que haya expirado la edad máxima?

Sí, una vez que se alcanza el tiempo de espera, el pin ya no es efectivo. Pero la expectativa es que eventualmente volverá a visitar la página antes de que caduque el pin, por lo que se actualizará nuevamente el tiempo de espera y se actualizarán los pines. Puede ser peligroso nunca dejar que un pin caduque, ya que podría bloquear a los usuarios anteriores para siempre si accidentalmente les permite pinchar la clave incorrecta solo una vez.

  

¿No es obvio que un atacante esperará hasta que caduque su edad máxima y luego realice el ataque?

Tal atacante tiene que ser muy paciente y hacer algunas suposiciones. La víctima no puede visitar el sitio regularmente ya que eso prolongaría el tiempo de espera en cada visita. Además, el ataque tiene que ser viable después de ese tiempo. Dos meses pueden ser largos para que una brecha de CA permanezca sin ser detectada.

En última instancia, es un compromiso que RFC 7469 ("Extensión de fijación de clave pública para HTTP") explica en la sección en Consideraciones de seguridad :

  

4.1. Máxima edad máxima

     

[...] Hay un compromiso de seguridad en ese mínimo máximo      Los valores proporcionan una ventana estrecha de protección para los usuarios que visitan el      El host anclado conocido solo con poca frecuencia, mientras que los valores máximos altos pueden      dar como resultado la incapacidad de un UA para realizar con éxito la Validación de Pin para      un host anclado conocido si los pines de la UA y los pines verdaderos del host      divergir.

(UA = User Agent, que significa su navegador)

El RFC recomienda un tiempo de caducidad de alrededor de 60 días (que es exactamente el tiempo que usa Github):

  

Probablemente no haya un límite superior ideal para la directiva de edad máxima   Eso satisfaría todos los casos de uso. Sin embargo, un valor del orden de   60 días (5,184,000 segundos) pueden considerarse un balance entre el   dos preocupaciones de seguridad en competencia.

    
respondido por el Arminius 17.11.2016 - 14:35
fuente

Lea otras preguntas en las etiquetas