HPKP y múltiples certificados SSL

3

Hace algunas semanas, habilitamos el encabezado de fijación de clave pública HTTP en nuestro sitio web. Según la especificación, incluimos no solo la huella digital SHA-256 de nuestra clave RSA actual, sino también la de una clave de respaldo (RSA).

Ahora, sin embargo, nos gustaría agregar una segunda clave (ECC) a nuestro sitio. Configuramos un servidor de prueba con dos certificados autofirmados (un RSA, un ECC). Al ver el protocolo de enlace TLS en Wireshark, parece que el servidor solo envía un certificado (el ECC uno). Sin embargo, al usar la opción -cipher de openssl s_client , puedo probar que el servidor puede entregar ambos certificados (forzando a OpenSSL a usar solo conjuntos de cifrado aRSA o ECDSA).

Según tengo entendido, cuando un visitante con un navegador bastante moderno visitará nuestro sitio de producción, el servidor presentará solo la clave ECC y el navegador se quejará al usuario de que no conoce esa clave, como estaba no incluido en el encabezado HPKP enviado en la última visita. ¿Hay alguna manera de hacer que el servidor (Apache 2.4.7) presente ambos certificados? ¿O el navegador logra de alguna manera obtener la clave RSA (conocida) del servidor?

    
pregunta TheWolf 23.06.2015 - 10:10
fuente

2 respuestas

2
  

¿Hay alguna manera de hacer que el servidor (Apache 2.4.7) presente ambos certificados?

No. Esto es por diseño en TLS. El servidor solo presenta el certificado después de que se haya negociado un conjunto de cifrado común.

Y la suite de cifrado determina el tipo de certificado (ECDSA o RSA). Entonces el servidor sabrá cuál de los certificados usar.

EDIT: vea la pregunta anterior:
Aquí está una de mis respuestas anteriores a una pregunta relacionada:

SecSE: ¿Cómo elige un navegador qué certificado usar si mi servidor web tiene varios certificados?

    
respondido por el StackzOfZtuff 23.06.2015 - 13:35
fuente
3
  • Usted tiene Pin con HPKP: Clave1 (Huella digital de certificado RSA actual) y Clave2 (Huella digital de respaldo) con un máximo de X días.
  • Desea utilizar un certificado ECC (por lo tanto, con una nueva clave aún no incluida).
  • Necesitas:

    1. Pin con HPKP Key1, Key2 y Key3 (huella digital de certificado ECC)
    2. espere al menos el mismo tiempo que el tiempo de caducidad de la fijación: X días (para asegurar que todos sus visitantes olviden la lista de fijación anterior)
    3. Ahora puede utilizar el certificado RSA y el certificado ECC

No puede presentar los dos certificados al mismo tiempo. Cuando se fija una clave, el navegador comprueba que la clave está en la cadena actual .

    
respondido por el Tom 25.06.2015 - 21:47
fuente

Lea otras preguntas en las etiquetas