Migración de SHA-1 a SHA2

Todo parte al preguntarse cuando empezaremos a ver colisiones (dos documentos distintos con un mismo hash) en SHA-1 (o SHA-128), debido a los avances tecnológicos que se observan en la actualidad.

Para ello podemos reproducir algunos cálculos gruesos realizados para quebrar esta función de hash. De acuerdo a E-BASH, usado para benchmarking de sistemas criptográficos, el costo de un bloque SHA-1 utilizando un procesador de mercado requiere cerca de 214 [ciclos/seg]. Considerando que tenemos alrededor de 225 [ciclos/año], esto significa que un servidor despacha cerca de 214 * 225 [ciclos/año] lo que podemos llamar “un año de servidor”.

Ahora tomemos en consideremos que hay amplia evidencia que la Ley de Moore estará vigente hasta el 2020. Luego los números para la duplicación de la capacidad de procesamiento desde el 2012 al 2021 serían:
3/1.5 = 2 veces x 2015 (3 = 2015 – 2012)
6/1.5 = 4 times by 2018 (6 = 2018 – 2012)
9/1.5 = 6 times by 2021 (9 = 2021 – 2012)

Esto implica que el “año de servidor” para lo que encontramos en el mercado (comodity) es:
261 ciclos/año el 2012
22 * 261 = 263 ciclos/año el 2015
24 * 261 = 265 ciclos/año el 2018
26 * 261 = 267 cicles/año el 2021

Tomemos en cuenta ahora que podemos arrendar capacidad de cálculo en Amazon en servidores de mercado por aproximadamente US$0.04 / hora – es decir – ~ US$350 /año.
213 * 28.4 = 221.4 ~ US$2.77M el 2012
211 * 28.4 = 219.4 ~ US$700K el 2015
29 * 28.4 = 217.4 ~ US$173K el 2018
27 * 28.4 = 215.4 ~ US$43K el 2021

En consecuencia, un ataque de colisión es posible que esté dentro del poder adquisitivo de un Sindicato Criminal para el 2018, y para un proyecto de investigación universitaria el 2021.
También es conveniente tomar en cuenta otros factores, como el hardware disponible en el mercado, la mejora en el cojunto de instrucciones en los procesadores, el número de procesadores por CPU y otros. Se suma a lo anterior las mejoras en el criptoanálisis que reducen la complejidad.
Es cierto que se trata de una aproximación gruesa, pero claramente lo recomendable es migrar de SHA-1 a SHA-2.
En base a lo precedentemente expuesto, Google publica, en el blog de Chromium, que el algoritmo SHA-1 se considera débil. Los ataques de colisiones a SHA-1 son económicamente demasiado abordables para considerar que sea seguir para PKI pública.
Este es el motivo por el cual Chrome ya comenzó el proceso ir abandonando SHA-1 – que se utiliza para firmar los certificados para HTTPS) en la versión 39. Es por esto también que aquellos certificados válidos pasado el 01 de Enero de 2017 no se consideran confiables.
Todas las consideraciones anteriores también son aplicables a los Certificados de Firma Electrónica, razón por la cual es recomendable iniciar la migración a SHA-2 en cuanto sea posible.

REFERENCIAS:

When Will We See Collisions for SHA-1?

Gradually Sunsetting SHA-1

Migración al algoritmo hash SHA-1 para certificados SSL y Code Signing Certificates