viernes, 18 de agosto de 2006

Algoritomos criptográficos Suite-B. ¿Porque se debe cambiar?

Realmente no se trata de una suite de hotel, ni de un conjunto de productos de segunda categoría.

Suite B, es lo último en algoritmos criptografícos. Aunque algunos existen desde hace más de dos décadas, es ahora cuando comienzan a aparecer productos comerciales que los implementan y clientes que los demandan.

La situación hoy de los algoritmos criptográficos es la siguiente:

  • La criptografía de 40-bits que tradicionalmente esta sujeta al control de exportación de EEUU, se considera trivial de romper.
  • La criptografía de 56-bits se consiguió romper hace algunos años por menos de 300.000€
    Un hash 128-bit MD4, es equivalente a un algoritmo de clave simétrica de 64-bits y ya ha sido roto.
  • El 128-bit MD5 ha sido roto por un equipo chino.

Hoy es muy frecuente ver que se aplica la criptografía de 80-bit, pero incluso esta tiene un tiempo de vida limitado.

  • SHA-1 tiene solo una fortaleza de 2^80, asumiendo que el atacante pueda obtener 2^40 pares de cifrado.
  • RSA-1024 se considera equivalente a una fortaleza de 2^80
  • El NIST (National Institute de Standards and Technology de Estados Unidos - Agencia federal dedicada a definir standares y tecnología especialmente en el área de seguridad y criptografía) recomienda al resto de agencias federales de EEUU dejar de utilizar la criptografía de 80-bits como muy tarde en el año 2010.

¿Cual es entonces la solución?, parece que los algoritmos empleados en los últimos años han dejado o dejarán en breve de ser seguros.

El siguiente escalón lo representan el manejo de claves RSA de 2048, como las implementadas en el nuevo DNI Electrónico. El algoritmo RSA-2048 es equivalente en fortaleza a un algoritmo de clave simétrica de 112-bits pero requiere mucho más potencia de cálculo.

Aún, así el NIST vuelve a recomendar que se dejen de emplear la criptografía de 112-bit como muy tarde en el año 2030, aunque claro es solo una estimación.

La progresión de uso de los algoritmos de RSA con claves cada vez mayores, no parece sostenible. El tiempo (y potencia de calculo) requerido a medida que crecen la longitud de las claves crece rapidamente. El tiempo requerido para firmar es proporcional a la longitud de la clave elevada al cubo. Como ejemplo:

  • Las operaciones RSA-2048 requiere 8 veces más tiempo que sus equivalentes RSA-1024
    RSA-2048 (3DES) equivale a clave de 112-bit
  • RSA-3072 equivale a una clave de 128-bit (AES)
  • RSA-7680 equivale a una clave de 192-bit (AES)
  • RSA-15380 equivale a una clave AES de 256-bit

A pesar de este panorama, que puede parecer desolador, existen algoritmos alternativos de mayor fortaleza y rapidez y estan disponibles hoy. Estos algoritmos se han denominado Algoritmos Suite-B e incluye 3 componentes:

  • La criptografía de Curva Elíptica - Elliptical Curve Cryptography (ECC)
  • El protocolo de cifrado AES - Advanced Encryption Standard
  • Algoritmos de hash SHA-2

La criptografía de curva elíptica (ECC) fue inventada por Neil Koblitz y Victor Miller en 1985. Solo 8 años despues del algoritmo RSA. Ha sido estudiada durante lo últimos 20 años y se le reconoce su fortaleza y la estabilidad de sus fundamentos matemáticos. ECC ha sido estandarizada por organismos como el ISO y el IETF.

Se han definido 3 curvas y tamaños de claves: P-256, P-384 y P-521 con longitudes de claves de 256, 384 y 521 bits respectivamente. Estas curvas equivalen a claves AES de 256, 192 y 512 respectivamente.

En general ECC es equivalente en fortaleza a RSA pero requiere menos potencia de cálculo en sus operaciones.

  • P-256 equivale a RSA-3020
  • P-384 equivale a RSA-7680
  • P-521 equivale a RSA-15380

El rendimiento de ECC es tambien proporcional a la longitud de la clave elevada al cubo, pero al emplear claves más cortas su rendimiento mejora. P-256 es más rapido que RSA-2048.

Rames.

No hay comentarios: