Fecha: 14 Agosto
2000
En el anterior Informe establecimos criterios que establecían el tamaño mínimo que las claves criptográficas deben tener para protegernos frente a diversos tipos de adversarios. Concluimos que claves simétricas de más de 80 bits, o asimétricas de más de 1.536 bits, resultarían inatacables frente al mayor enemigo potencial que pudiésemos imaginar.
Pero esa es la situación hoy. Todos sabemos que los ordenadores aumentan en potencia y prestaciones día a día. Y un problema intratable hoy puede no serlo dentro de cinco o diez años. Así que nos toca hacer de adivinos para descubrir hasta qué punto las claves que hoy consideramos seguras realmente lo son. Antes vamos a recapitular los puntos básicos del anterior Informe.
Ataque pirata: el típico listillo de la informática que tiene a su disposición un par de ordenadores para hacer con ellos lo que quiera. Dos ordenadores a unos 500 MHz daría una velocidad de cómputo de unos 1.000 megaflops, o 10^9 operaciones por segundo.
Ataque corsario. Con esto quiero denotar un atacante con mayores recursos, como una red de computación u ordenadores especialmente construidos para reventar claves. Este ataque requiere un esfuerzo organizado y costoso.Le supondremos una velocidad de cálculo de unos 10^14 flops, unos cuatro órdenes de magnitud superior a las posibilidades del atacante pirata.
Ataque mafioso. Lo imagino como un esfuerzo tipo "corsario", pero a mayor nivel, hecho por un atacante con grandes recursos (un grupo mafioso, un gran banco o empresa) capaz de gastarse varios miles de millones de pesetas en un gran ataque. A un coste por flop similar al del corsario, podemos suponerle una capacidad de cálculo por unidad de tiempo de unos 10^14 flops.
Ataque MIB. Es la abreviatura en inglés de Hombres de Negro (Men in Black), y lo uso para designar al atacante definitivo, con fondos casi ilimitados en material y dinero. El atacante MIB más poderoso existente es posiblemente la Agencia de Seguridad Nacional (NSA) norteamericana, dedicada al espionaje electrónico y la ruptura de claves, que dispone de un presupuesto del orden del billón de pesetas. Aumentemos la capacidad de los Hombres de Negro en dos órdenes de magnitud respecto al ataque mafioso: tendremos así un total de 10^18 operaciones por segundo (flops).
De acuerdo a dichos medios, y con los algoritmos de ataque más eficientes, llegamos a la conclusión de que los tamaños de clave (tanto simétrica como asimétrica) capaces de protegernos contra estos ataques vienen dados por:
Tipo clave |
Pirata |
Corsario |
Mafioso |
MIB |
---|---|---|---|---|
Clave simétrica |
51 |
64 |
71 |
77 |
Clave asimétrica |
518 |
792 |
956 |
1138 |
Esto suponiendo que dichos atacantes no tuviesen otra cosa mejor que dirigir sus esfuerzos contra nosotros durante todo un año.
Y ahora, pongamos potencia principal y salgamos de aquí, rumbo al futuro.
Factores de evolución futura
Siguiendo las sugerencias de Arjen Lenstra y Eric Verheul (Selecting Cryptographic Key Sizes), consideraremos tres factores para intentar reflejar el efecto del avance del tiempo en nuestros atacantes. Afectará a todos de la misma forma.
El primer factor es, simplemente, el creciente aumento de la velocidad de cálculo. Durante casi cuatro décadas dicha velocidad ha seguido la llamada ley de Moore, según la cual la velocidad de los procesadores se duplica cada 18 meses. Esta ley está basada en el comportamiento de los chips a lo largo del tiempo, o sea, es una regla empírica.
No sabemos hasta cuándo podrá mantenerse esta regla. Los diseñadores de chips se aproximan cada vez más a límites difíciles de franquear (difracción en las fotolitografías, efectos cuánticos, disipación de calor), y algunos creen que la ley de Moore es insostenible más allá de unos pocos años más. Por otro lado, hay proyectos para seguir reduciendo el tamaño (y aumentando las prestaciones) de los chips. Sencillamente, no sabemos qué sucederá de cara al futuro. Dentro de 40 años, la ley de Moore predice un aumento en la velocidad de los ordenadores en más de !cien millones!
Puesto que hay tanta indefinición igual a favor que en contra, haremos un primer acto de fe: supondremos que la ley de Moore se mantendrá durante los próximos años. De ese modo, la capacidad de cálculo de los atacantes aumentará en un 59% anual, lo que significa que la longitud de las claves simétricas habrá de aumentar en dos bits cada tres años para mantener el mismo nivel de protección. Para las claves asimétricas habrá asimismo un aumento, aunque no lineal.
El segundo factor es el aumento de presupuesto. Ya sea una empresa o un gobierno, la tendencia habitual es a que el presupuesto de que se dispone crezca con el tiempo, siquiera para mantenerse a la par con la inflación. Esto también afectará a nuestros atacantes: los piratas verán crecer su paga, o conseguirán un empleo; los corsarios tendrán cada vez más afiliados; las empresas o mafias aumentan sus beneficios casi siempre ... y aún tengo que encontrarme con una agencia gubernamental de espionaje (policial, civil o militar) cuyo presupuesto se haya reducido.
Esta tendencia continuará mientras haya crecimiento económico, cosa que parece suceder en los países industrializados. Lenstra y Verheul afirman que el producto nacional bruto de EEUU viene mostrando una tendencia a duplicarse cada diez años. Aquí, en España, puede que no lleguemos a tanto, pero estamos acostumbrados a oir acerca de aumentos del 3 - 5 % anual significa una duplicación de la riqueza nacional de entre 15 y 25 años. Supongamos que el crecimiento anual es algo mayor (¿acaso no estamos en la zona Euro ?;-)...), y añadamos algo más para considerar el hecho de que los presupuestos para fisgones crecen cada vez más, y podremos asumir la regla de duplicación presupuestaria en 10 años. Eso significa un crecimiento anual en los medios disponibles de un 7% aproximadamente, lo que suena razonable.
Duplicación cada diez años significa que al cabo de esa fecha dispondremos del doble de recursos, y por tanto del doble de capacidad de computación, lo que significa acceder a claves 1 bit mayores cada década. Combinado con la ley de Moore, implica un crecimiento en los medios del atacante de un 70%, lo que significa poder atacar claves de un bit más cada 16 meses, poco más o menos (y cada 18 meses sin aumento de presupuesto).
Eso por lo que respecta a las claves simétricas. Pero en el caso de las claves asimétricas, hay un tercer factor que debemos tener en cuenta: el aumento en la eficiencia de los algoritmos de factorización. En los últimos veinte años, nuevos métodos de factorización de números primos ha hecho que claves asimétricas que se consideraban seguras en su tiempo ya no lo sean tanto. En la tabla anterior vimos cómo claves de 1.024 bits, que creíamos hasta hace poco seguras, están ya al alcanza de los grandes fisgones gubernamentales ... y, en breve, de poderosos grupos privados con grandes medios.
Esto se debe no solamente a los dos factores anteriormente mencionados (aumento de presupuesto y ley de Moore), sino, y muy especialmente, al descubrimiento de nuevas estrategias matemáticas: de la división tradicional se pasó a los algoritmos de Pollard (rho y p-1), criba lineal, criba cuadrática, criba de campo numérico ... dónde acabará esta escalada, nadie lo sabe.
Vuelvo a plegarme ante un conocimiento superior: Lenstra (perro viejo en esto de la factorización distribuida) afirma que, durante las últimas dos décadas, los avances en nuevos métodos criptoanalíticos para atacar sistemas de clave asimétrica han permitido que la potencia de dichos ataques. se duplique cada 18 meses; es decir, al cabo de este tiempo la capacidad de cálculo para un ataque dado se reduce a la mitad, en promedio.
Esto es análogo a la ley de Moore, aunque aquí no depende de avances en el diseño de microchips sino en nuevos métodos matemáticos de ataque. A falta de datos mejores, asumamos que esta tendencia continuará. Esta "ley de Lenstra-Verheul" no se aplica a sistemas de clave simétrica, puesto que estos sistemas están ya probados contra todo tipo de ataque criptoanalítico, de forma que no hay más remedio que probar todas las claves posibles ...y, en eso, no hay atajo que valga.
Combinando ambos factores vemos que, si bien la velocidad de cálculo en ataques contra sistemas de clave simétrica aumenta un 70% al año, en el caso de sistemas de clave asimétrica el aumento es mayor: un 170%. Esto es importante, porque significa que las claves asimétricas se hacen vulnerables con el tiempo a mayor velocidad que las simétricas.
Y ahora, a hacer números
Muy bien, pues vamos allá. Apliquemos los avances en la eficacia de los atacantes (ley de Moore, presupuesto creciente y, en el caso de claves asimétricas, avances matemáticos). Resulta algo pesado, pero por fortuna existen las hojas de cálculo. El resultado obtenido es el siguiente:
La Tabla II indica el tamaño mínimo de clave, tanto simétrica como asimétrica, para protección contra los cuatro tipos de ataque: pirata, corsario, mafioso y MIB
Clave asimétrica (bits) |
Clave simétrica (bits) | |||||||
---|---|---|---|---|---|---|---|---|
Año |
Pirata |
Corsario |
Mafioso |
MIB |
Pir. |
Cor. |
Maf. |
MIB |
2000 |
518 |
792 |
956 |
1.138 |
51 |
64 |
71 |
77 |
2005 |
657 |
970 |
1154 |
1.357 |
55 |
68 |
75 |
81 |
2010 |
817 |
1.169 |
1.375 |
1.599 |
59 |
72 |
79 |
85 |
2015 |
997 |
1.391 |
1.618 |
1.866 |
62 |
76 |
82 |
89 |
2020 |
1.200 |
1.637 |
1.886 |
2.158 |
66 |
80 |
86 |
93 |
2025 |
1.425 |
1907 |
2.108 |
2.476 |
70 |
83 |
90 |
97 |
2030 |
1.675 |
2.203 |
2.500 |
2.821 |
74 |
87 |
94 |
100 |
2035 |
1949 |
2.524 |
2.847 |
3.193 |
78 |
91 |
98 |
104 |
2040 |
2.248 |
2.873 |
3.221 |
3.594 |
82 |
95 |
102 |
108 |
2045 |
2.574 |
3.250 |
3.624 |
4.024 |
85 |
99 |
105 |
112 |
2050 |
2.926 |
3.655 |
4.056 |
4.484 |
89 |
103 |
109 |
116 |
Como puede verse, en el campo de las claves simétricas estamos seguros. Incluso en el año
2050, los mayores ataques concebibles apenas si se acercan al nivel de 128 bits. Por otro lado, claves de 56 bits como DES serán cada vez más vulnerables a ataques a todos los niveles: dentro de tan sólo cinco años, el ataque pirata necesitará un par de años, el corsario un par de horas, el mafioso un minuto, y el MIB apenas un segundo. En este momento, el gobierno norteamericano está muy cerca de completar los estudios para elegir al sustituto de DES, el llamado AES (Advanced Encryption Standard) con clave mínima de 128 bits. Sabia decisión, habida cuenta que algunos secretos gubernamentales han de ser fuertemente custodiado durante décadas contra atacantes de grandes recursos.
Por otro lado, en el campo de la criptografía asimétrica (o de clave pública) las cosas no pintan tan bien. Suponiendo que no tengan nada mejor que hacer con sus inmensos recursos durante todo un año, los Hombres de Negro podrán reventar claves de 1.024 en estos mismos momentos. Las claves de
2048 bits caerán hacia el año 2018, las de 3.072 bits aguantarán hasta el 2033 y las de 4.096 serán vulnerables en el año
2046. Para entonces, incluso nuestro pequeño piratilla podrá habérselas con claves de más de 2.600 bits.
Otra manera en que podemos ver cómo las claves asimétricas "pierden terreno" frente a las simétricas puede ser volviendo al concepto de equivalencia computacional. Dijimos que una clave simétrica y una asimétrica son computacionalmente equivalentes cuando ambas requieren el mismo esfuerzo, esto es, la misma capacidad de cálculo, para ser reventadas.
Con los cálculos actuales (ver Informe anterior), una clave simétrica de 128 bits es equivalente a una asimétrica de unos 3.240 bits. Esto se acerca bastante al muy usado criterio de Zimmermann, quien equiparaba en fortaleza una clave simétrica de 128 bits con una asimétrica de 3.100 bits. De hecho, con los parámetros que estamos aquí utilizando, nos sale un criterio aproximado al de Zimmermann hacia el año
1996: 128 bits simétricos = 3.095 bits asimétricos ... no está mal.
¿Y yendo hacia el futuro? Unos cuantos números, y he aquí el resultado:
Año |
1996 |
2000 |
2005 |
2010 |
2015 |
2020 |
2025 |
2030 |
2035 |
2040 |
2045 |
2050 |
---|---|---|---|---|---|---|---|---|---|---|---|---|
n (bits) |
3.095 |
3.240 |
3.424 |
3.614 |
3.811 |
4.014 |
4.224 |
4.440 |
4.663 |
4.893 |
5.129 |
5.373 |
¿Qué conclusiones podemos extraer?
En primer lugar, no es necesario que os abalancéis sobre vuestro programa PGP para revocar vuestra vieja clave de 1.024 bits y sustituirla por una de 4.096 (si vuestra clave es de 512 bits, sí os recomiendo que lo hagáis, ya que como vemos es fácil presa de atacantes bien organizados). Incluso los mayores atacantes necesitarían emplear una capacidad de cálculo enorme contra vosotros.
¿Queréis más protección? Bueno, recomiendo una clave de 2048 bits. Como vemos en la Tabla II, los mayores adversarios no se atreverían con ella antes del
2025 o 2030. Puede que los del frente ultra-paranoico prefieran ir a lo seguro y usar claves de 4.096 bits, pero lo considero algo exagerado.
¿Por qué? Pues porque usar una clave de 4.096 bits pensando que tal vez dentro de cincuenta años el más poderoso atacante del mundo pueda sentirse interesado me parece algo exagerado. A fin de cuentas, claves de ese tamaño tardan mucho en ser generadas y requiren más espacio en disco, además de ser más lentas en el cifrado o descifrado (no tanto que sean inutilizables, pero algo).
Así que he aquí mis recomendaciones, para lo que puedan serviros:
Si tu clave es de 512 bits, revócala inmediatamente y pásate a una clave de 2048 bits.
Si tu clave es de 1.024 bits, no es necesario que la cambies. En todo caso, cuando quieras cambiarla por una clave nueva, pásate a los 2048 bits.
Si tu clave es de 2048 o más bits, vas bien servido.
Y si no tienes aún clave, una de
2048 bits te irá bien.
Como regla general para los próximos años: las claves de 512 bits son claramente insuficientes, las de 512 - 1.024 bits están en la zona de riesgo; las de 1.024 - 2048 están en riesgo potencial, aunque prácticamente seguras; y las de más de 2048 bits son seguras.
En cualquier caso, que cada cual saque sus propias conclusiones. Ahí están los datos, para que se discutan y se mejoren. No quiero marearos con más conclusiones ni malabarismos numéricos. Pero durante los cálculos que he efectuado, me he encontrado con algo curioso. Voy a compartirlo con vosotros.
Lenstra y Verheul, en su artículo Selecting Cryptographic Key Sizes (que reconozco haber "fusilado" parcialmente para redactar este Informe) se plantearon el problema de los tamaños de claves desde una perspectiva diferente. Veréis. El algoritmo DES (uno de los más usados) fue autorizado y recomendado en
1977 para aplicaciones comerciales. Se suponía que sería revisado (y recomendado de nuevo o no) a los cinco años. Esto sugiere que para
1982 podría dejar de ser seguro. Por supuesto, esta es la teoría. En la práctica, todavía sigue vigente, aunque su sentencia está ya firmada.
Pues bien, estos dos autores se plantearon lo siguiente: ¿cuál será el nivel de seguridad, en el futuro, equivalente al que tenía DES en
1982? La idea era obtener un tamaño de clave que fuese tan difícil de atacar en el futuro como DES lo hubiese sido en
1982, habida cuenta del nivel tecnológico existente en cada época. Digamos que obtienen una clave de 78 bits para el año
2010. Esto quiere decir que, si DES pudiese haber sido atacado hacia 1982, ese mismo atacante, y merced a los adelantos mencionados (ley de Moore, presupuesto creciente) también estaría en condiciones de atacar una clave de 78 bits hacia el
2010. Eso permitiría a los responsable de seguridad poder calibrar los efectos del paso del tiempo para reforzar sus sistemas.
El hecho de que se plantease la primera revisión de la validez de DES en 1982 se debía a que era posible que en aquella fecha fuese por primera vez vulnerable. Y ahora viene lo interesante. Los datos que obtienen Lenstra y Verheul mediante este planteamiento coinciden con los que yo he obtenido (y aparecen aquí) para el "ataque corsario". Sin embargo, lo que el corsario apenas puede conseguir en un año, el MIB puede lograrlo en un par de días.
Es decir: DES parece haber sido diseñado para que en su primer quinquenio de vigencia pudiese soportar los ataques de todo tipo de atacantes, excepto los gubernamentales. Esto es, el Tío Sam parece haber calibrado las cosas para ser el único capaz de descifrar mensajes DES desde su creación. De hecho, DES (con clave efectiva de 56 bits) fue transformado por la NSA (Agencia de Seguridad Nacional) a partir de un algoritmo (Lucifer) de clave más larga, creado por la IBM. Se le sometió asimismo a algunas modificaciones para hacerlo más resistente al llamado criptoanálisis lineal (un tipo de ataque criptoanalítico que no fue conocido por la comunidad criptográfica civil !hasta los años 90!), pero la reducción de la longitud de clave hasta los 56 bits nunca fue explicada ni justificada satisfactoriamente.
No parece que vaya a suceder lo mismo con el nuevo AES, que reemplazará a DES: su longitud de clave (128 bits mínimo) lo pone, a la luz del presente Informe, más allá de todo posible ataque. En cualquier caso, que cada cual saque sus propias conclusiones.
Parrafada final
Este no es, evidentemente, el primer estudio sobre la seguridad de los diferentes tamaños de clave en sistemas criptográficos. Como ejemplo, he aquí algunos:
Eligiendo un tamaño de clave (Selecting key sizes, traducción al español). Bruce Schneier, Febrero de 1995.
Longitud mínima de clave en cifrado simétrico para seguridad comercial (Minimal Key Lengths for Symmetric Cyphers to Provide Adequate Commercial Security , traducción al español). Diversos autores, Enero de 1996
Seleccionando tamaños de claves criptográficas (Selecting Cryptographic Key Sizes, en inglés). Arjen K. Lenstra y Eric R. Verheul, Noviembre de 1999
Posibles capacidades de descifrado de la NSA (Possible NSA Decryption Capabilities, en inglés). John Brazier y colaboraciones, Junio 1999
Al leerlos, me encontraba constantemente con avisos e incertidumbres. Me sorprendía que semejantes "gurús" de la criptografía tuviesen tantas dudas. Ahora, puedo decir que los entiendo y comparto sus incertidumbres. Hay demasiadas variables, demasiadas lagunas. Entre otras, he aquí algunos puntos débiles en que se fundamenta mi análisis (y otros de gente que sabe mucho más que yo):
No se ha descubierto ningún ataque criptoanalítico de importancia contra los algoritmos de clave simétrica más comunes, por lo que suponemos que la única manera de violentarlos es probando todas las claves posibles (lo que se denomina "ataque de fuerza bruta"). Sin embargo, no se ha demostrado que sea así.
No sabemos qué forma tomarán los nuevos avances en la factorización de números primos (base de la fortaleza de RSA). Puede que se estanquen durante una década, o puede que mañana se haga un descubrimiento revolucionario que haga a la criptografía asimétrica mucho más vulnerable. Puede que una agencia gubernamental ya haya hecho ese descubrimiento. Sencillamente, no tenemos ni idea.
Suponemos que la factorización de números primos es la única manera práctica de violentar el algoritmo RSA, pero no está demostrado que sea la única manera y no sabemos si hay una camino más fácil.
Suponemos que el otro gran algoritmo de clave asimétrica, Diffie-Hellman es tan resistente como el RSA para tamaños de clave similares, pero no ha sido demostrado.
No sabemos si la ley de Moore (que establece una duplicación en la velocidad de los ordenadores cada 18 meses) se mantendrá, y si lo hace, durante cuánto tiempo ni qué pasará después.
No sabemos si mejoras futuras podrán incrementar la capacidad de cálculo disponible por medio de Internet para trabajos de computación distribuida. Por ejemplo, un gobierno fisgón o un gran fabricante podrían forzar el "trucado" de todos los microchips existentes en cualquier sistema (ya sea un ordenador o un programador de video), de manera que, aparte de sus tareas habituales, dichos chips se dedicasen a trabajar en secreto para descifrar claves. O podría hacerse mediante software trucado. (vale, está muy cogido por los pelos, ¿pero acaso es imposible?)
Finalmente -por ahora-, hay muchos otros parámetros que hemos menospreciado. Hemos despreciado los problemas de memoria, a pesar de que los ataques actuales contra algoritmos RSA requieren del orden de gigabytes de memoria; también constan de un paso intermedio que precisa necesariamente de un superordenador de alta capacidad. No hemos considerado el problema de "cuello de botella" en que están sumidos los chips actuales debido a su relativamente escasa memoria RAM. No hemos tenido en cuenta los costes operativos (material, red, software) ni hemos prestado atención al conocido hecho de que, cuantos más chips se fabrican para un fin determinado, tanto más baratos salen por unidad (un adversario poderoso podría llegar a construir una fábrica de semiconductores y de chips para abaratar el proceso). Y suma y sigue.
Bienvenidos al mundo de la incertidumbre.
Y adiós. He efectuado el presente estudio de la forma más rigurosa que me ha sido posible, y hasta aquí puedo llegar. Espero haberos sido de ayuda, y sobre todo, confío en que no os traguéis todo lo que os he soltado. He sido sincero y legal con vosotros, pero la mayoría de mis hipótesis de trabajo son discutibles y mejorables. Reflexionad por vuestra cuenta y llegad a vuestras propias conclusiones. Si coinciden con las mías, tanto mejor: significa que no voy tan desencaminado ...;-)
"Si hay alguna lección en todo esto, es que hacer predicciones es una tontería.... Siempre existe la posibilidad de que un avance en factorización me sorprenda también a mi, pero lo creo improbable. Aunque, ¿por qué deberíais confiar en mí? Acabo de probar mi propia tontería al hacer predicciones." Bruce Schiener, 1995
© Arturo Quirantes
2005. Correo electrónico: aquiran arroba
ugr.es
Vuelta a la sección Informes del Taller de Criptografía