Únase a Keyfactor en la RSA Conference™ 2024 | del 6 al 9 de mayo | Más información

SHA-1 está "destrozado

SHA-1 ha sido noticia (otra vez). Todos sabemos que la función hash SHA-1 es criptográficamente débil. De hecho, CSS lleva años señalando las debilidades de SHA-1.

Sin embargo, recientemente Google ha publicado una demostración práctica de un algoritmo que permite a cualquiera modificar el contenido de un documento manteniendo al mismo tiempo su valor hash SHA-1 original. Normalmente, si un documento se altera de alguna manera, el valor hash calculado también debe cambiar. Esta funcionalidad básica del hash es la base de las afirmaciones criptográficas sobre la integridad de los datos.

Y aunque desde hace años se sabe que el algoritmo hash SHA-1 es débil, ésta es la primera vez que se ha difundido ampliamente un proceso para subvertir SHA-1.

SHA_1 hash.png

Esto no quiere decir que el esfuerzo para subvertir los hashes SHA-1 no sea trivial. Computar una colisión hash utilizando el nuevo método de Google requiere 6.500 años de tiempo de CPU y 110 años de tiempo de GPU. Sin duda, mucho tiempo y dinero. Pero esto está muy al alcance de los estados nación o de las organizaciones criminales que aprovechan los recursos de computación en la nube.

¿Qué significa esto? 

Creo que tiene sentido poner el nuevo algoritmo de Google en perspectiva. Cuando leo blogs técnicos en Internet, tengo la abrumadora sensación de que hay que sustituir SHA-1 ahora mismo. Y la verdad es que no puedo discutir este punto. Mi única sugerencia es que nos tomemos un respiro y entendamos lo que este nuevo algoritmo significa en términos de mayor riesgo para su entorno. A continuación, planifique su cambio de SHA-1 en consecuencia.

El nuevo algoritmo de colisión hash de Google significa que la integridad de los datos que está protegiendo ha disminuido considerablemente. Al igual que la seguridad general de su infraestructura de clave pública (PKI).

Pero, ¿significa esto que sus certificados SHA-1 ya no tienen valor? Probablemente no.

Lo que el nuevo algoritmo de colisión hash de Google significa, es que cualquiera con acceso a 6.500 años de tiempo de CPU y 110 años de tiempo de GPU ahora puede calcular una colisión hash para cualquier valor hash calculado en su entorno. Esto no es bueno.

Y como todos sabemos, esos requisitos informáticos sólo pueden abaratarse y ser más fáciles de conseguir con el tiempo. Como resultado de la economía informática, esta vulnerabilidad será cada vez más fácil de explotar. Los ejemplos de colisiones de hash SHA-1 serán cada vez más frecuentes. La conclusión es que este riesgo no hará sino aumentar con el tiempo.

Así que sí, es hora de migrar.

Las cinco mejores medidas de SHA:

1. Revise sus niveles de garantía de seguridad

La seguridad, en este caso, es la medida de confianza que uno tiene, o debería poder tener, en que la integridad de sus datos es significativa. Suele estar en función de los riesgos de un sistema y de los tipos de datos que dicho sistema protege.

En este caso, si ha definido niveles de garantía, querrá reevaluar sus definiciones de garantía para mantener niveles adecuados de seguridad en los datos protegidos.

2. Actualizar las políticas de certificación pertinentes

Se trata de un documento rector que las CA utilizan como base para cualquier declaración de garantía. Como resultado de cualquier ajuste en la definición de garantía, será necesario actualizar todas las políticas de certificación pertinentes para garantizar que se ajustan a los requisitos SHA-2 más recientes.

3. Actualización de las declaraciones de prácticas de certificación de CA

El complemento de la "Política de Certificación" es la "Declaración de Prácticas de Certificación". Este documento contiene los detalles sobre el funcionamiento y la configuración de la AC.

A medida que actualice su PC para incluir referencias apropiadas a SHA-2, su(s) CPS(s) deberá(n) actualizarse en consecuencia. Las partes usuarias utilizan este documento para determinar si la CA es adecuada para una aplicación determinada.

4. Priorizar los esfuerzos migratorios

La migración a SHA-2 puede ser una empresa grande, cara y compleja. Pero no tiene por qué hacerse de golpe.

Mi recomendación es crear una jerarquía de CA separada y paralela. Una que incluya SHA-2. Todas las partes confiantes deberían confiar en ambas jerarquías durante la migración. Este enfoque permite un ritmo de migración deliberado y preciso.

Cree una lista priorizada de aplicaciones PKI ordenadas por riesgo. Las aplicaciones que presenten mayor riesgo deben migrarse en primer lugar. Migre las aplicaciones en ese orden.

Cualquier evaluación de aplicaciones PKI no estaría completa sin una lista de los recursos que la aplicación protege. ¿Firma de código? ¿Firma de correo electrónico? ¿Firma de documentos?

Dados los recursos necesarios para computar una colisión hash, podrías empezar tu migración con aquellas aplicaciones cuyo valor merezca el gasto que supone computar una colisión hash.

5. Auditoría de sistemas no conformes

Una vez finalizada la migración de su PKI corporativa, es posible que no haya terminado. Existe la posibilidad de que aún haya certificados SHA-1 en uso en su entorno que procedan de CA falsas, autofirmados, de proveedores o similares.

Esto significa que, para proteger sus activos de los riesgos asociados al uso de SHA-1, no sólo tendrá que dejar de emitir nuevos certificados SHA-1, sino que también tendrá que asegurarse de que los certificados SHA-1 no se utilizan o de que los que aún se utilizan no presentan ningún riesgo.

Esto puede significar el escaneo continuo de varios puntos finales para asegurarse de que no se están utilizando certificados SHA-1.

La conclusión es que si su política de certificados se modificó para excluir SHA-1, entonces para cumplir con esa política, uno tendría que asegurarse proactivamente de que no quedan certificados en uso que violarían una política de certificados actualizada.

Lo más importante

Sí, SHA-1 está oficialmente roto. Pero hace años que lo sabíamos, así que no debería sorprender a nadie que trabaje en este campo. Pero, ¿significa eso que todos los valores hash son ahora inútiles? Significa que todos valen mucho menos, y realmente estás jugando a los dados con cualquier confianza que puedas depositar en tus hashes SHA-1 existentes. La conclusión es que si un actor malicioso se preocupa lo suficiente como para invertir en recursos, tus valores hash pueden perder todo su valor. Es hora de abandonar SHA-1.