¿Bloqueará Google HMAC-SHA1 junto con los certificados firmados SHA1?

9

Por lo tanto, en este momento, hay un impulso para pasar de los certificados firmados por SHA1 a los certificados firmados por SHA256 de Google. Mi entendimiento es que no puede usar SHA1 para firmar certificados, pero HMAC-SHA1 aún puede usarse en su conjunto de cifrado como MAC. ¿Es esto correcto? ¿O los certificados que utilizan HMAC-SHA1 también serán rechazados por Google y otros?

    
pregunta Earthling 25.02.2016 - 12:31
fuente

2 respuestas

10

Debido a las matemáticas de cómo funcionan los HMAC, una debilidad en el algoritmo hash no significa automáticamente que un HMAC basado en él también sea débil. Esto puede parecer contrario a la intuición, pero se debe al hecho de que la debilidad conocida en SHA1 se relaciona con las colisiones y no se puede aplicar a un HMAC debido al método de construcción. De hecho, incluso HMAC-MD5 sigue siendo bastante seguro, aunque MD5 se considera completamente roto.

Todo esto significa que Google no ha hecho ninguna indicación de querer retirar HMAC-SHA1 en este momento. Es posible que quieran hacerlo en el futuro, especialmente si se encuentran diferentes formas de ataque contra SHA1, pero actualmente la única forma conocida de romper un HMAC-SHA1 es mediante la fuerza bruta de la clave, lo que debería, dado un proceso de selección de teclas sensible, ser realmente duro.

    
respondido por el Matthew 25.02.2016 - 12:41
fuente
7

Para complementar el punto de @ Matthew (que es muy correcto): la seguridad de HMAC está probada como buena, siempre y cuando la función hash subyacente esté construida sobre una "función de compresión" interna que cumpla con algunos requisitos específicos. propiedades Se sabe que MD5 y SHA-1 no cumplen todas estas propiedades (porque entonces también serían idealmente resistentes a las colisiones, que no lo son), pero eso solo invalida la prueba. No se convierte en un ataque real. La ausencia de una prueba de seguridad no es una prueba de ausencia de seguridad.

En SSL / TLS, HMAC se usa en dos lugares: para las verificaciones de integridad de los registros, y como parte del "PRF" interno que se usa para derivar claves a otras claves. Hasta e incluyendo TLS 1.1, HMAC / SHA-1 se usa en ambos roles, y eso no es opcional. Prohibir HMAC / SHA-1 realmente significaría hacer cumplir TLS-1.2. En este momento, demasiados servidores HTTPS aún admiten solo TLS-1.0, por lo que Google no puede permitirse el lujo de prohibir las versiones de protocolo pre-1.2. Los navegadores web tienen que navegar.

    
respondido por el Tom Leek 25.02.2016 - 15:01
fuente

Lea otras preguntas en las etiquetas