En criptografía , el tamaño de la clave o la longitud de la clave se refiere a la cantidad de bits de una clave utilizada por un algoritmo criptográfico (como un cifrado ).
La longitud de la clave define el límite superior de la seguridad de un algoritmo (es decir, una medida logarítmica del ataque más rápido conocido contra un algoritmo), porque la seguridad de todos los algoritmos puede ser violada por ataques de fuerza bruta . Idealmente, el límite inferior de la seguridad de un algoritmo es por diseño igual a la longitud de la clave (es decir, el diseño del algoritmo no resta valor al grado de seguridad inherente a la longitud de la clave).
La mayoría de los algoritmos de clave simétrica están diseñados para tener una seguridad igual a la longitud de su clave. Sin embargo, después del diseño, se puede descubrir un nuevo ataque. Por ejemplo, Triple DES fue diseñado para tener una clave de 168 bits, pero ahora se conoce un ataque de complejidad 2 112 (es decir, Triple DES ahora solo tiene 112 bits de seguridad, y de los 168 bits de la clave, el ataque ha hecho que 56 sean "ineficaces" para la seguridad). No obstante, siempre que la seguridad (entendida como "la cantidad de esfuerzo que se necesitaría para obtener acceso") sea suficiente para una aplicación particular, entonces no importa si la longitud de la clave y la seguridad coinciden. Esto es importante para los algoritmos de clave asimétrica , porque no se conoce ningún algoritmo de este tipo que satisfaga esta propiedad; la criptografía de curva elíptica es la que más se acerca, con una seguridad efectiva de aproximadamente la mitad de la longitud de su clave.
Las claves se utilizan para controlar el funcionamiento de un sistema de cifrado de modo que sólo la clave correcta pueda convertir el texto cifrado ( texto cifrado ) en texto sin formato . Todos los sistemas de cifrado de uso común se basan en algoritmos conocidos públicamente o son de código abierto , por lo que sólo la dificultad de obtener la clave determina la seguridad del sistema, siempre que no haya un ataque analítico (es decir, una "debilidad estructural" en los algoritmos o protocolos utilizados) y suponiendo que la clave no esté disponible de otra manera (por ejemplo, mediante robo, extorsión o compromiso de los sistemas informáticos). La noción ampliamente aceptada de que la seguridad del sistema debería depender únicamente de la clave ha sido formulada explícitamente por Auguste Kerckhoffs (en la década de 1880) y Claude Shannon (en la década de 1940); las afirmaciones se conocen como el principio de Kerckhoffs y la máxima de Shannon respectivamente.
Por lo tanto, una clave debe ser lo suficientemente grande como para que un ataque de fuerza bruta (posible contra cualquier algoritmo de cifrado) sea inviable, es decir, que tome demasiado tiempo y/o ocupe demasiada memoria para ejecutarse. El trabajo de Shannon sobre la teoría de la información mostró que para lograr el llamado " secreto perfecto ", la longitud de la clave debe ser al menos tan grande como el mensaje y solo se debe usar una vez (este algoritmo se llama el bloc de un solo uso ). A la luz de esto, y de la dificultad práctica de administrar claves tan largas, la práctica criptográfica moderna ha descartado la noción de secreto perfecto como requisito para el cifrado y, en su lugar, se centra en la seguridad computacional , bajo la cual los requisitos computacionales de romper un texto cifrado deben ser inviables para un atacante.
Los sistemas de cifrado suelen agruparse en familias. Las familias más comunes incluyen sistemas simétricos (p. ej. , AES ) y asimétricos (p. ej. , RSA y criptografía de curva elíptica [ECC]). Pueden agruparse según el algoritmo central utilizado (p. ej., cifrados ECC y Feistel ). Debido a que cada uno de ellos tiene un nivel diferente de complejidad criptográfica, es habitual tener diferentes tamaños de clave para el mismo nivel de seguridad , según el algoritmo utilizado. Por ejemplo, la seguridad disponible con una clave de 1024 bits utilizando RSA asimétrico se considera aproximadamente igual en seguridad a una clave de 80 bits en un algoritmo simétrico. [1]
El grado real de seguridad alcanzado con el tiempo varía, a medida que se dispone de más potencia computacional y de métodos analíticos matemáticos más potentes. Por este motivo, los criptólogos tienden a buscar indicadores de que un algoritmo o una longitud de clave muestran signos de vulnerabilidad potencial, para pasar a tamaños de clave más largos o algoritmos más difíciles. Por ejemplo, a partir de mayo de 2007 [actualizar], se factorizó un entero de 1039 bits con el tamiz de campo de número especial utilizando 400 computadoras durante 11 meses. [2] El número factorizado tenía una forma especial; el tamiz de campo de número especial no se puede utilizar en claves RSA. El cálculo es aproximadamente equivalente a descifrar una clave RSA de 700 bits. Sin embargo, esto podría ser una advertencia anticipada de que las claves RSA de 1024 bits utilizadas en el comercio en línea seguro deberían quedar obsoletas , ya que pueden volverse descifrables en el futuro previsible. El profesor de criptografía Arjen Lenstra observó que "la última vez, nos llevó nueve años generalizar desde un número especial a uno no especial y difícil de factorizar" y cuando se le preguntó si las claves RSA de 1024 bits estaban muertas, dijo: "La respuesta a esa pregunta es un sí rotundo". [3]
El ataque Logjam de 2015 reveló peligros adicionales en el uso del intercambio de claves Diffie-Hellman cuando solo se utilizan uno o unos pocos módulos primos comunes de 1024 bits o más pequeños. Esta práctica, bastante común en ese momento, permite comprometer grandes cantidades de comunicaciones a expensas de atacar una pequeña cantidad de primos. [4] [5]
Esta sección necesita citas adicionales para su verificación . ( Agosto de 2012 ) |
Incluso si actualmente un cifrado simétrico es indescifrable si se explotan las debilidades estructurales de su algoritmo, es posible recorrer todo el espacio de claves en lo que se conoce como un ataque de fuerza bruta. Dado que las claves simétricas más largas requieren exponencialmente más trabajo para realizar una búsqueda por fuerza bruta, una clave simétrica lo suficientemente larga hace que esta línea de ataque sea poco práctica.
Con una clave de longitud n bits, hay 2 n claves posibles. Este número crece muy rápidamente a medida que n aumenta. La gran cantidad de operaciones (2 128 ) necesarias para probar todas las claves posibles de 128 bits se considera ampliamente fuera del alcance de las técnicas de computación digital convencionales en el futuro previsible. [6] Sin embargo, una computadora cuántica capaz de ejecutar el algoritmo de Grover podría buscar las claves posibles de manera más eficiente. Si una computadora cuántica de tamaño adecuado redujera una clave de 128 bits a una seguridad de 64 bits, aproximadamente un equivalente DES . Esta es una de las razones por las que AES admite longitudes de clave de 256 bits y más. [a]
El cifrado Lucifer de IBM fue seleccionado en 1974 como base para lo que se convertiría en el Estándar de cifrado de datos . La longitud de la clave de Lucifer se redujo de 128 bits a 56 bits , lo que la NSA y el NIST argumentaron que era suficiente para la protección no gubernamental en ese momento. La NSA tiene importantes recursos informáticos y un gran presupuesto; algunos criptógrafos, incluidos Whitfield Diffie y Martin Hellman, se quejaron de que esto hizo que el cifrado fuera tan débil que las computadoras de la NSA podrían descifrar una clave DES en un día mediante computación paralela por fuerza bruta . La NSA lo cuestionó, alegando que forzar el DES les llevaría "algo así como 91 años". [7]
Sin embargo, a finales de los años 90, se hizo evidente que DES podía ser descifrado en unos pocos días con hardware personalizado como el que podía ser comprado por una gran corporación o un gobierno. [8] [9] El libro Cracking DES (O'Reilly and Associates) cuenta la exitosa capacidad en 1998 de romper DES de 56 bits mediante un ataque de fuerza bruta organizado por un grupo de derechos civiles cibernéticos con recursos limitados; consulte EFF DES cracker . Incluso antes de esa demostración, 56 bits se consideraba una longitud insuficiente para las claves de algoritmos simétricos para uso general. Debido a esto, DES fue reemplazado en la mayoría de las aplicaciones de seguridad por Triple DES , que tiene 112 bits de seguridad cuando se utilizan claves de 168 bits (triple clave). [1]
El Estándar de Cifrado Avanzado publicado en 2001 utiliza tamaños de clave de 128, 192 o 256 bits. Muchos observadores consideran que 128 bits son suficientes en el futuro previsible para algoritmos simétricos de la calidad de AES hasta que estén disponibles las computadoras cuánticas . [ cita requerida ] Sin embargo, a partir de 2015, la Agencia de Seguridad Nacional de los EE. UU. ha emitido una guía en la que indica que planea cambiar a algoritmos resistentes a la computación cuántica y ahora requiere claves AES de 256 bits para datos clasificados hasta el nivel de Top Secret . [ 10 ]
En 2003, el Instituto Nacional de Estándares y Tecnología de Estados Unidos (NIST) propuso eliminar gradualmente las claves de 80 bits para 2015. En 2005, las claves de 80 bits solo se permitieron hasta 2010. [11]
Desde 2015, las directrices del NIST establecen que " no se permite el uso de claves que proporcionen menos de 112 bits de seguridad para el acuerdo de claves". Los algoritmos de cifrado simétrico aprobados por el NIST incluyen Triple DES de tres claves y AES . Las aprobaciones para Triple DES de dos claves y Skipjack se retiraron en 2015; el algoritmo Skipjack de la NSA utilizado en su programa Fortezza emplea claves de 80 bits. [1]
La eficacia de los criptosistemas de clave pública depende de la intratabilidad (computacional y teórica) de ciertos problemas matemáticos como la factorización de números enteros . Estos problemas requieren mucho tiempo para resolverse, pero normalmente son más rápidos que probar todas las claves posibles por fuerza bruta. Por tanto, las claves asimétricas deben ser más largas para ofrecer una resistencia equivalente a los ataques que las claves de algoritmos simétricos. Se supone que los métodos más comunes serán débiles frente a ordenadores cuánticos suficientemente potentes en el futuro.
Desde 2015, el NIST recomienda un mínimo de claves de 2048 bits para RSA , [12] una actualización de la recomendación ampliamente aceptada de un mínimo de 1024 bits desde al menos 2002. [13]
Las claves RSA de 1024 bits son equivalentes en fuerza a las claves simétricas de 80 bits, las claves RSA de 2048 bits a las claves simétricas de 112 bits, las claves RSA de 3072 bits a las claves simétricas de 128 bits y las claves RSA de 15360 bits a las claves simétricas de 256 bits. [14] En 2003, RSA Security afirmó que era probable que las claves de 1024 bits se volvieran descifrables en algún momento entre 2006 y 2010, mientras que las claves de 2048 bits son suficientes hasta 2030. [15] A partir de 2020, [actualizar]la clave RSA más grande conocida públicamente que ha sido descifrada es la RSA-250 con 829 bits. [16]
El algoritmo Diffie-Hellman de campo finito tiene aproximadamente la misma fuerza de clave que RSA para los mismos tamaños de clave. El factor de trabajo para descifrar Diffie-Hellman se basa en el problema del logaritmo discreto , que está relacionado con el problema de factorización de números enteros en el que se basa la fuerza de RSA. Por lo tanto, una clave Diffie-Hellman de 2048 bits tiene aproximadamente la misma fuerza que una clave RSA de 2048 bits.
La criptografía de curva elíptica (ECC) es un conjunto alternativo de algoritmos asimétricos que es igualmente seguro con claves más cortas, y requiere solo aproximadamente el doble de bits que el algoritmo simétrico equivalente. Una clave Diffie-Hellman de curva elíptica (ECDH) de 256 bits tiene aproximadamente el mismo factor de seguridad que una clave AES de 128 bits . [12] En 2004, se descifró un mensaje cifrado con un algoritmo de clave elíptica que utilizaba una clave de 109 bits de longitud. [17]
La NSA recomendó anteriormente un ECC de 256 bits para proteger información clasificada hasta el nivel SECRETO, y 384 bits para TOP SECRET; [10] En 2015 anunció planes para realizar la transición a algoritmos resistentes a los datos cuánticos para 2024, y hasta entonces recomienda 384 bits para toda la información clasificada. [18]
Los dos ataques de computación cuántica más conocidos se basan en el algoritmo de Shor y en el algoritmo de Grover . De los dos, el de Shor es el que presenta un mayor riesgo para los sistemas de seguridad actuales.
Se cree que los derivados del algoritmo de Shor son eficaces contra todos los algoritmos de clave pública más utilizados, incluidos RSA , Diffie-Hellman y la criptografía de curva elíptica . Según el profesor Gilles Brassard , experto en computación cuántica: "El tiempo necesario para factorizar un entero RSA es del mismo orden que el tiempo necesario para utilizar ese mismo entero como módulo para un único cifrado RSA. En otras palabras, no se necesita más tiempo para descifrar RSA en un ordenador cuántico (hasta una constante multiplicativa) que para utilizarlo legítimamente en un ordenador clásico". El consenso general es que estos algoritmos de clave pública son inseguros en cualquier tamaño de clave si se dispone de ordenadores cuánticos suficientemente grandes capaces de ejecutar el algoritmo de Shor. La implicación de este ataque es que todos los datos cifrados mediante sistemas de seguridad basados en estándares actuales, como el omnipresente SSL utilizado para proteger el comercio electrónico y la banca por Internet y el SSH utilizado para proteger el acceso a sistemas informáticos sensibles, están en riesgo. Los datos cifrados protegidos mediante algoritmos de clave pública se pueden archivar y descifrar más adelante, lo que comúnmente se conoce como descifrado retroactivo/retrospectivo o " recolectar ahora, descifrar después ".
Se cree ampliamente que los cifrados simétricos convencionales (como AES o Twofish ) y las funciones hash resistentes a colisiones (como SHA ) ofrecen una mayor seguridad contra los ataques conocidos de computación cuántica. Se cree ampliamente que son los más vulnerables al algoritmo de Grover . Bennett, Bernstein, Brassard y Vazirani demostraron en 1996 que una búsqueda de clave por fuerza bruta en una computadora cuántica no puede ser más rápida que aproximadamente 2 n /2 invocaciones del algoritmo criptográfico subyacente, en comparación con aproximadamente 2 n en el caso clásico. [19] Por lo tanto, en presencia de grandes computadoras cuánticas, una clave de n bits puede proporcionar al menos n /2 bits de seguridad. La fuerza bruta cuántica se derrota fácilmente duplicando la longitud de la clave, lo que tiene poco costo computacional adicional en el uso ordinario. Esto implica que se requiere al menos una clave simétrica de 256 bits para lograr una clasificación de seguridad de 128 bits contra una computadora cuántica. Como se mencionó anteriormente, la NSA anunció en 2015 que planea realizar la transición a algoritmos resistentes a los cuánticos. [10]
En una sección de preguntas frecuentes sobre computación cuántica de 2016, la NSA afirmó:
"Si se construyera un ordenador cuántico lo suficientemente grande, sería capaz de socavar todos los algoritmos de clave pública ampliamente utilizados para el establecimiento de claves y firmas digitales. [...] Se acepta generalmente que las técnicas de computación cuántica son mucho menos efectivas contra los algoritmos simétricos que contra los algoritmos de clave pública ampliamente utilizados en la actualidad. Si bien la criptografía de clave pública requiere cambios en el diseño fundamental para protegerse contra un posible futuro ordenador cuántico, se cree que los algoritmos de clave simétrica son seguros siempre que se utilice un tamaño de clave suficientemente grande. [...] Los algoritmos de clave pública ( RSA , Diffie-Hellman , [Diffie-Hellman de curva elíptica] ECDH y [Algoritmo de firma digital de curva elíptica] ECDSA ) son todos vulnerables al ataque de un ordenador cuántico lo suficientemente grande. [...] Si bien se han propuesto varios algoritmos de clave pública interesantes resistentes a los datos cuánticos externos a la NSA, el NIST no ha estandarizado nada y la NSA no está especificando ningún estándar comercial resistente a los datos cuánticos en este momento. La NSA espera que el NIST desempeñe un papel destacado en el esfuerzo por desarrollar un conjunto estandarizado y ampliamente aceptado de algoritmos resistentes a la tecnología cuántica. [...] Dado el nivel de interés en la comunidad criptográfica, esperamos que haya algoritmos resistentes a la tecnología cuántica ampliamente disponibles en la próxima década. [...] Los algoritmos AES-256 y SHA-384 son simétricos y se cree que son seguros frente a ataques de una gran computadora cuántica". [20]
En un comunicado de prensa de 2022, la NSA notificó:
"Una computadora cuántica criptoanalíticamente relevante (CRQC) tendría el potencial de romper los sistemas de clave pública (a veces denominados criptografía asimétrica) que se utilizan hoy en día. Dadas las actividades extranjeras en el campo de la computación cuántica, ahora es el momento de planificar, preparar y presupuestar una transición a algoritmos QR [resistentes a la computación cuántica] para asegurar la protección sostenida de los [sistemas de seguridad nacional] NSS y los activos relacionados en caso de que una CRQC se convierta en una realidad alcanzable". [21]
Desde septiembre de 2022, la NSA ha estado en transición del Conjunto de Algoritmos de Seguridad Nacional Comercial (ahora denominado CNSA 1.0), lanzado originalmente en enero de 2016, al Conjunto de Algoritmos de Seguridad Nacional Comercial 2.0 (CNSA 2.0), ambos resumidos a continuación: [22] [b]
CNSA 2.0
Algoritmo | Función | Parámetros |
---|---|---|
Estándar de cifrado avanzado (AES) | Cifrado de bloques simétricos para la protección de la información | Claves de 256 bits |
CRISTALES-Kyber | Algoritmo asimétrico para el establecimiento de claves | Nivel V |
CRISTALES-Dilitio | Algoritmo asimétrico para firmas digitales | Nivel V |
Algoritmo de hash seguro (SHA) | Algoritmo para calcular una representación condensada de información | SHA-384 o SHA-512 |
Firma Leighton-Micali (LMS) | Algoritmo asimétrico para la firma digital de firmware y software | Todos los parámetros aprobados. Se recomienda SHA256/192. |
Esquema de firma Xtended Merkle (XMSS) | Algoritmo asimétrico para la firma digital de firmware y software | Todos los parámetros aprobados |
CNSA 1.0
Algoritmo | Función | Parámetros |
---|---|---|
Estándar de cifrado avanzado (AES) | Cifrado de bloques simétricos para la protección de la información | Claves de 256 bits |
Intercambio de claves de curva elíptica Diffie-Hellman (ECDH) | Algoritmo asimétrico para el establecimiento de claves | Curva P-384 |
Algoritmo de firma digital de curva elíptica (ECDSA) | Algoritmo asimétrico para firmas digitales | Curva P-384 |
Algoritmo de hash seguro (SHA) | Algoritmo para calcular una representación condensada de información | SHA-384 |
Intercambio de claves Diffie-Hellman (DH) | Algoritmo asimétrico para el establecimiento de claves | Módulo mínimo de 3072 bits |
[Rivest-Shamir-Adleman] RSA | Algoritmo asimétrico para el establecimiento de claves | Módulo mínimo de 3072 bits |
[Rivest-Shamir-Adleman] RSA | Algoritmo asimétrico para firmas digitales | Módulo mínimo de 3072 bits |