Taller de Criptografía - Expediente 005
Longitud mínima de clave en cifrado simétrico para seguridad comercial
Archivo original: Minimal Key Lengths for Symmetric Cyphers to Provide Adequate Commercial Security
Autores:
Matt Blaze (AT&T Research,
mab@research.att.com )
Whitfield Diffie (Sun Microsystems,
diffie@eng.sun.com )
Ronald R. Rivest (MIT Laboratory for Computer Science,
rivest@lcs.mit.edu )
Bruce Schneier (Counterpane Systems,
schneier@counterpane.com )
Tautomu Shimomura (San Diego Supercomputer Center,
tsutomu@sdsc.edu )
Eric Thompson (Access Data, Inc.,
eric@accessdata.com )
Michael Wiener (Bell Northern Research,
wiener@bnr.ca )
Enero 1996
RESUMEN
Transferencias bancarias electrónicas de millones, incluso miles de millones, de dólares, cuya seguridad a corto plazo es esencial pero cuya exposición es breve.
Los planes estratégicos de una gran empresa, cuya confidencialidad debe ser preservada durante unos pocos años.
Un producto patentado (fórmula de la Coca-Cola, nuevo diseño de medicamento) que necesita ser protegido durante su vida útil, a menudo décadas.
Información privada de un individuo (estado de salud, evaluación de empleo) que pudiera necesitar protección durante la vida del individuo.
1.2 El cifrado puede dar protección fuerte a la confidencialidad
El cifrado se consigue revolviendo los datos mediante procedimientos matemáticos que hace que la recuperación del texto original sea extremadamente difícil y caro en términos de tiempo para quien no sea su destinatario autorizado (el que tiene las claves de descifrado correctas). El cifrado adecuado garantiza que la información estará segura incluso si cae en manos hostiles.
El cifrado -y el descifrado- puede realizarse mediante software o hardware de ordenador. Habitualmente se escribe el algoritmo en un disco para su ejecución por un procesador central de ordenador; se sitúa en ROM o PROM para su ejecución por un microprocesador, o bien se almacena y ejecuta aisladamente en un dispositivo accesorio del ordenador (tarjeta inteligente o tarjeta PCMCIA).
El grado de protección obtenido depende de varios factores. Éstos incluyen: la calidad del criptosistema, la forma en que se implementa en software o hardware (especialmente su fiabilidad y la manera en que se eligen las claves), y el número total de posibles claves que pueden usarse para cifrar la información. Un algoritmo criptográfico se considera fuerte si:
1. No hay un atajo que permita a un oponente recuperar el texto original sin usar fuerza bruta para comprobar claves hasta que se encuentre la correcta.
2. El número de claves posibles es lo bastante grande para hacer tal ataque [de fuerza bruta] inviable.
El principio aquí es similar al de un cerrojo de combinación en una caja fuerte. Si el cerrojo está bien diseñado, de manera que un ladrón no puede oír o sentir su funcionamiento interno, una persona que no conozca la combinación solamente podrá abrirla probando un conjunto de números tras otro hasta que ceda.
El tamaño de las claves de cifrado se miden en bits, y la dificultad de probar todas las claves posibles crece exponencialmente con el número de bits usado. Añadir un bit a la clave dobla el número de claves posibles; añadir diez aumenta dicho número en un factor de más de mil.
No hay forma de mirar un sistema de cifrado y determinar si hay atajos. A pesar de ellos, varios algoritmos de cifrado -notablemente, el Data Encryption Standard (DES) de los EEUU- han sido extensivamente estudiados en la literatura abierta y se cree que son de muy alta calidad. Un elemento esencial en el diseño de algoritmos criptográficos es, por tanto, la longitud de la clave, cuyo tamaño establece una cota superior a la fortaleza del sistema.
A lo largo de este artículo, supondremos que no hay atajos y tomaremos la longitud de la clave como representativa del "factor de trabajo" del criptosistema (la cantidad mínima de esfuerzo necesario para romper el sistema). Es importante tener en mente, no obstante, que los criptógrafos consideran esto como una suposición aproximada, y muchos recomendarían claves dos o tres veces mayores que las necesarias para resistir ataques de fuerza bruta. Los diseños criptográficos prudentes no solamente emplean claves más largas de lo que parezca necesario, sino que dedican más tiempo de computación para el cifrado y el descifrado. Un buen ejemplo de esto es la idea popular de usar TripleDES: cifrar el texto de salida de DES dos veces más, usando un total de tres claves distintas.
Los sistemas de cifrado caen en dos amplias categorías. Los criptosistemas convencionales, o simétricos, son aquellos en los que alguien con la capacidad de cifrar tiene también la capacidad de descifrar y viceversa; son los que se considerarán en este artículo. Los sistemas, más recientes, de clave pública -o asimétricos- tienen la propiedad de que la capacidad de cifrar no implica la capacidad de descifrar. En la criptografía actual, los sistemas de clave pública son indispensables para administrar las claves de los criptosistemas convencionales. Todos los criptosistemas conocidos de clave pública, sin embargo, son susceptibles de ataques mediante atajos, y deben por tanto usar claves diez o más veces mayores (que los tamaños que discutimos aquí) para tener un grado equivalente de seguridad.
Aunque los ordenadores permiten que la información electrónica sea cifrada usando claves muy largas, los avances en la potencia de computación siguen presionando de modo que el tamaño de las claves consideradas grandes sea mayor cada vez, haciendo con ello más fácil para los individuos y organizaciones atacar información cifrada sin un gasto irrazonable de recursos.
1.3 Las amenazas provienen de muchos atacantes potenciales.
Las amenazas a la confidencialidad de la información provienen de diversas direcciones, y sus formas dependen de los recursos de los atacantes. Los hackers [piratas informáticos], que pueden ser cualquiera desde estudiantes de secundaria a programadores comerciales, pueden tener acceso a ordenadores principales [mainframes] o redes de estaciones de trabajo. La misma gente puede comprar a bajo precio placas con chips del tipo Sistemas de Puerta Programables de Campo (FPGA), que funcional como "hardware programable" y aumenta grandemente la efectividad de un esfuerzo criptoanalítico. Una compañía pequeña, o incluso un individuo bien dotado, puede permitirse muchos de estos chips. Una gran empresa o grupo del crimen organizado, con "mucha pasta" para gastar puede adquirir chips de ordenador especialmente diseñados para el descifrado. Una agencia de inteligencia, metida en el espionaje para el beneficio de la economía nacional, puede construir una máquina utilizando millones de esos chips.
1.4 La tecnología actual permite el cifrado muy fuerte por aproximadamente el mismo coste que el cifrado débil.
Es una propiedad del cifrado por ordenador el que incrementos modestos en el coste computacional puede dar grandes aumentos en la seguridad. Cifrar la información de modo muy seguro (p. ej. con claves de 128 bits) habitualmente requiere poca más potencia de computación que con cifrado débil (pj. ej. con claves de 40 bits). En muchas aplicaciones, el propio sistema criptográfico constituye tan sólo una pequeña fracción de los costos de computación, comparado con procesos tales como compresión de voces o de imagen, necesarios para preparar el material para el cifrado.
Una consecuencia de esta uniformidad de costes es que raramente hace falta adecuar la fortaleza del criptosistema a la de la información que va a ser protegida. Aunque la mayoría de la información de un sistema no tiene implicaciones de intimidad o valor monetario, no hay razones prácticas o económicas para diseñar software o hardware de ordenador para dotar de un nivel de cifrado diferente a mensajes diferentes. Resulta más simple, prudente y por tanto fundamentalmente más económico emplear un nivel uniformemente alto de cifrado: el cifrado más fuerte necesario para cualquier información que pudiera ser almacenada o transmitida por un sistema seguro.
Tipo de atacante |
Presupuesto |
Herramienta |
Tiempo y coste por clave de 40 bits recuperada |
Id. por clave de 56 bits. |
Longitud(*) |
---|---|---|---|---|---|
Pirata de medio pelo |
Minúsculo |
Tiempo inútil de ordenador |
1 semana |
Inviable |
45 |
$400 |
FPGA |
5 horas ($0.08) |
38 años ($35.000) |
50 |
|
Empresa pequeña |
$10,000 |
FPGA |
12 minutos ($0.08) |
556 días ($5.000) |
55 |
Departamento corporativa |
$300.000 |
FPGA |
24 segundos ($0.08) |
19 días ($5.000) |
60 |
ASIC |
0.005 segundos ($0.001) |
3 horas ($38) |
|||
Gran empresa |
$10M |
FPGA |
0.7 segundos ($0.08) |
13 horas ($5.000) |
70 |
ASIC |
0.0005 segundos ($0.001) |
6 minutos ($38) |
|||
Agencia de Inteligencia |
$300M |
ASIC |
0.0002 segundos ($0.001) |
12 segundos ($38) |
75 |
(*): Longitud necesaria para protección a finales de 1995
Sobre los autores
Traducido por Arturo Quirantes Sierra (aquiran arroba ugr.es)
Vuelta a la sección
Informes y expedientes