¿Por qué está bien que los certificados por encima del certificado de entidad final se basen en SHA1?

7

He escuchado acerca de la eliminación gradual de los certificados basados en Sha1 para el uso de la entidad final, y los pasos que se describen para que Chrome muestre advertencias cada vez más agresivas para los certificados de Sha1 que no expiren antes del 1 de enero de 2016.

En la parte inferior de su publicación de blog: enlace sobre esto , mencionan cita:

  

Nota: las firmas basadas en SHA-1 para certificados raíz de confianza no son un problema porque los clientes TLS confían en ellos por su identidad, en lugar de por la firma de su hash.

No entiendo la diferencia aquí.

¿La identidad no está probada por el defensor (autoridad superior) firmando un hash del certificado?

    
pregunta Breakhty 18.06.2015 - 14:16
fuente

2 respuestas

12

Esto no es para "certificados por encima de la entidad final" sino para "certificados raíz" solamente.

En pure X.509 , no existe tal cosa como un "certificado raíz". Hay certificados y hay anclajes de confianza . Un certificado contiene una clave pública, el nombre de la entidad que posee esa clave y está firmada por otra entidad (una "autoridad de certificación superior"). Este proceso de firma debe comenzar en algún lugar, y ese lugar es un "ancla de confianza". Un ancla de confianza es un nombre y una clave pública.

X.509 no especifica cómo una entidad debe codificar anclajes de confianza, ya que los anclajes de confianza son algo que se conoce como a priori , no algo que se debe intercambiar a través de la red. Sin embargo, un método tradicional para almacenar anclajes de confianza es utilizar el mismo formato que los certificados. Un certificado contiene, entre otras cosas, un campo no opcional para una firma de alguna CA superior. En lugar de definir un nuevo formato para un ancla de confianza, la Tradición es llenar el "campo de firma" con una autofirma. Así nace un certificado raíz : un ancla de confianza codificada como un certificado autofirmado.

¡Pero esa autofirma no tiene sentido! No tiene ningún valor de seguridad alguno. En consecuencia, nadie lo verifica (*). Por lo tanto, no hay ningún problema relacionado con su uso de una función hash que, de otro modo, se considere con cierta sospecha.

(*) Algunos sistemas comprueban heurísticamente esa firma porque los certificados autofirmados pueden solo ser utilizados como raíz, no como cualquier otra cosa. Pero esto no es una característica de seguridad; esto es para conveniencia de la interfaz de usuario, sin depender de la seguridad de esa firma. Por lo tanto, no hay problema con SHA-1 o, pase lo que pase, MD5 o MD2.

    
respondido por el Tom Leek 18.06.2015 - 14:40
fuente
4
  

¿La identidad no está probada por el defensor (autoridad superior) firmando un hash del certificado?

Los certificados raíz están integrados en el sistema (o se envían con el navegador). Son el final de la cadena de confianza y no hay una autoridad superior que los haya firmado. Son autofirmados, pero solo porque tiene que haber alguna firma. No es necesario verificar la firma y, por lo tanto, no importa la seguridad del hash de la firma.

En otras palabras: la confianza de los certificados de hoja y cadena se basa en la confianza en el firmante y se expresa mediante la firma. Es necesario que esta confianza no pueda ser falsificada, es decir, utilice SHA-256 en lugar de SHA-1. Para los certificados autofirmados esto significaría la confianza en sí misma. No importa lo difícil que alguien confíe en sí mismo, solo importa cuánto confían los demás en él (es decir, el certificado incorporado significa confianza plena).

Tenga en cuenta que la confianza en este caso solo significa la confianza de que alguien emitió un certificado. No significa qué tan seguro es un sitio. ¡Los piratas también pueden obtener certificados fácilmente!

    
respondido por el Steffen Ullrich 18.06.2015 - 14:29
fuente

Lea otras preguntas en las etiquetas