Qué es el cifrado AES, ejemplos de cómo funciona el estándar de cifrado avanzado

Si alguna vez se ha preguntado cómo se mantienen las cosas seguras en Internet, especialmente teniendo en cuenta que hay varios agentes malévolos que constantemente intentan romper las bóvedas de datos, la criptografía es una de las respuestas que mejor se ajusta a la pregunta.

Como podrias saber, criptografía es simplemente uno de los métodos utilizados para proteger la información y las comunicaciones, pero eso no significa que sea simple de ninguna manera. De hecho, es una tecnología que se somete a un desarrollo constante para garantizar que los estándares en los que se basa sean siempre de primera línea.

Un ejemplo de tal estándar es AES, un acrónimo que probablemente haya encontrado antes, especialmente si usa constantemente aplicaciones de comunicación como WhatsApp, Signal o Telegram, o software VPN. En este artículo, nos centraremos en AES y lo ayudaremos a comprenderlo mejor.

Cifrado AES

¿Qué es AES?

AES, Lo que significa Estándar de cifrado avanzado es una forma popular de cifrado que se ha utilizado durante bastante tiempo para garantizar que los datos se mantengan seguros y protegidos, lejos de miradas indiscretas.

Lo que hace que el cifrado AES se destaque entre la multitud es el hecho de que es un método de cifrado rápido y seguro y su flexibilidad hace posible su uso en una amplia variedad de productos, que van desde aplicaciones del día a día como Whatsapp o Señal a los sistemas de seguridad militar e incluso al hardware.

Cómo funciona el cifrado

Probablemente sepa cómo funciona el cifrado. Si no lo hace, aquí hay un recordatorio rápido: el cifrado toma texto sin formato y lo convierte en una forma cifrada, lo que hace que parezca que está compuesto por caracteres aleatorios. Es seguro decir que AES es un tipo de cifrado simétrico, ya que utiliza la misma clave para cifrar y descifrar datos.

Este estándar de cifrado utiliza el algoritmo de red de permutación de sustitución (algoritmo SPN) para aplicar varias rondas de cifrado para proteger los datos. El hecho de que utilice tantas rondas hace que AES virtualmente impenetrable.

AES no solo es el primero, sino también el único cifrado de acceso público que fue aprobado por la NSA (Agencia de Seguridad Nacional) para proteger datos ultrasecretos. Inicialmente, este estándar de cifrado se llamó Rijndael en base a los nombres de sus dos desarrolladores, Vincent Rijmen y Joan Daemen (ambos de Bélgica).

AES de varias longitudes de clave

El AES incluye tres cifrados de bloque, y cada uno de estos cifrados de bloque tiene un número diferente de posibles combinaciones de teclas, de la siguiente manera:

  • AES-128: Longitud de la clave de 128 bits = 3,4 * 1038
  • AES-192: Longitud de la clave de 192 bits = 6.2 * 1057
  • AES-256: Longitud de la clave de 256 bits = 1,1 * 1077

Aunque hay tres cifrados de bloque, cada uno de ellos cifra y descifra datos en 128 bloque bits utilizando diferentes longitudes de clave (es decir, 128, 192 y 256, como se especificó anteriormente). Por lo tanto, es seguro decir que aunque la longitud de las claves puede ser diferente, el tamaño del bloque es siempre el mismo (128 bits o 16 bytes, son lo mismo).

El hecho de que AES use diferentes longitudes de clave definitivamente planteó algunas preguntas entre los usuarios, como por ejemplo, ¿por qué necesitamos varias longitudes de clave, en primer lugar? Otros incluso podrían cuestionar la necesidad de tener varias longitudes de clave, más aún considerando que la clave de 256 bits es presumiblemente la más segura.

A pesar de que la clave AES de 256 bits es simplemente el más fuerte uno en el grupo, a menudo denominado «de grado militar», no siempre se implementa de forma predeterminada, y la razón por la que esto sucede es porque hay recursos disponibles, o mejor aún, no disponibles.

AES-128 frente a AES-256

Cuanto mayor sea el tamaño de una clave, más recursos consumirá, por lo que es seguro decir que es más probable que un sistema con menos capacidad esté usando AES de 128 bits claves en lugar de su contraparte de 256 bits. Por ejemplo, si usa AES de 256 bits cifrado en su teléfono, puede agotar su batería más rápido que la versión de 128 bits del mismo estándar de cifrado.

Las claves AES de 256 bits son mucho más difíciles de aplicar mediante fuerza bruta que las de 128 bits. Sin embargo, incluso con enormes cantidades de potencia informática, las claves AES de 128 bits siguen siendo casi imposibles de descifrar, por lo que usar esta versión en lugar de las claves de 256 bits puede ser una mejor opción si le preocupa la potencia o la latencia, especialmente en dispositivos portátiles (teléfonos inteligentes, por ejemplo).

En el lado positivo, los avances tecnológicos han hecho que las diferencias tanto en la potencia de cómputo como en la duración de la batería entre el uso de AES-256 y AES-128 sean insignificantes, lo que hace que AES de 256 bits sea el más popular opción, ya que la mayoría de los usuarios prefieren estar tranquilos.

Los beneficios de usar AES

AES 256

El hecho de que los métodos de cifrado aplicados por AES sean rápidos y fáciles de comprender hace que AES sea una opción popular en una amplia variedad de campos. AES no solo es rápido y seguro, sino también fácil de implementar, lo que aumenta aún más su popularidad innata.

Además, es capaz de descifrar datos protegidos tan rápido como puede cifrarlos, y utiliza menos memoria y potencia informática que otros estándares de cifrado populares (como DES), lo que le da una ventaja.

Por último, pero no menos importante, si la situación lo requiere, AES es lo suficientemente flexible como para permitirle combinarlo con varios otros protocolos de seguridad como TKIP, WPA2, WEP, pero también con otros tipos de cifrado, como SSL.

Aquí hay algunas claves ventajas de elegir AES sobre otros estándares de cifrado:

  • Admite la implementación tanto en hardware como en software
  • El hecho de que admita tres longitudes de clave le brinda cierta flexibilidad en cuanto a seguridad y velocidad (rendimiento)
  • Los tres tipos de claves son lo suficientemente largos, lo que hace que AES sea un objetivo imposible de fuerza bruta
  • Hasta ahora, no se ha demostrado que ningún ataque criptográfico funcione contra AES.
  • Puede encontrarlo prácticamente en todas partes, dado que el gobierno de EE. UU. Lo definió como un estándar
  • Fácil de implementar independientemente del destino (la implementación del hardware es más fácil que el software)
  • No ocupa tanta memoria como otros tipos de cifrado (por ejemplo, DES)
  • Fácil de combinar con otros protocolos de seguridad y tipos de cifrado

Usos comunes de AES

A pesar de que ya mencionamos que AES se usa generalmente en todos los lugares donde se admite, hay algunos ejemplos en los que hay mayores probabilidades de encontrarlo. A saber:

  • VPN
    • La forma en que funcionan las VPN gira en torno a redirigir su tráfico, pero no antes de cifrarlo para que otros no puedan verlo en caso de que estén monitoreando su conexión. Más aún, el tráfico debe descifrarse en su punto de salida, lo que implica la necesidad de un estándar de cifrado. AES-256 se utiliza de forma predeterminada por varios proveedores de VPN, incluidos NordVPN, Surfshark y ExpressVPN.
  • Administradores de contraseñas
    • Los administradores de contraseñas funcionan permitiéndole poner todas sus contraseñas en ellos y protegerlas con una sola contraseña a través de medios de cifrado. Varias soluciones de software de administración de contraseñas en el mercado han elegido AES como su estándar de cifrado operativo, considerando que es fácil de implementar, rápido y seguro.
  • Redes wifi
    • Sin el cifrado del tráfico, los atacantes podrían simplemente sentarse fuera de su red inalámbrica, capturar paquetes no cifrados con un adaptador WiFi apropiado y monitorear todo su paradero en línea sin ninguna preocupación en el mundo. Afortunadamente, el cifrado AES, generalmente junto con estándares de seguridad adicionales (WPA2 es el más popular en este momento) puede evitar que eso suceda.
  • navegadores web
    • Probablemente ya sepa que desde hace un tiempo los navegadores web han cifrado las conexiones de sus usuarios, para protegerlos contra diversas amenazas cibernéticas, como ataques MITM (Man-In-The-Middle), suplantación de identidad o monitoreo de tráfico.
  • Cifrado de disco
    • Aunque esta función se usa principalmente en dispositivos portátiles como teléfonos inteligentes y tabletas, no es raro que encriptes tu disco si deseas aumentar tu privacidad y seguridad. AES es actualmente uno de los métodos más populares que se utilizan para cifrar y descifrar el contenido del disco.
  • Software de compresión de archivos
    • Ya sea que estemos hablando de WinRar, WinZip o 7z, todas estas utilidades de archivo y compresión / descompresión de archivos en el mercado usan AES como su estándar de encriptación para evitar fugas de datos accidentales mientras manejan sus archivos.
  • Aplicaciones de comunicación
    • WhatsApp, Signal, Telegram, Snapchat, Messenger, pero también otros que no hemos mencionado, usan el cifrado AES para asegurarse de que se beneficiará de una privacidad total, ya sea que envíe fotos, videos, documentos o texto sin formato. mensajes a través de estas aplicaciones.
  • Bibliotecas de lenguajes de programación
    • Si es programador, probablemente debería saber que las bibliotecas de ciertos lenguajes de programación, incluidos, entre otros, C ++, Java y Python, utilizan el cifrado AES para ayudarlo a proteger sus datos y proyectos contra el acceso no autorizado.
  • Componentes del sistema operativo
    • Para agregar una capa adicional de seguridad, algunos sistemas operativos han agregado cifrado AES a algunos de sus componentes.

¿Cómo funciona AES?

En términos generales, necesita saber o aprender cómo funciona una tecnología específica para beneficiarse de sus capacidades en todo su potencial. En este caso, debe saber un par de cosas sobre cómo funciona AES antes de implementarlo o usarlo al azar en sus proyectos o en su entorno.

1. Los datos se dividen en bloques

Como probablemente recuerde de nuestras menciones anteriores, AES es un cifrado de bloque, lo que significa que cifra los datos que recibe en bloques de bits, en lugar de cifrarlos bit a bit.

Por lo tanto, el primer paso del cifrado AES es separar los datos en bloques. Cada uno de estos bloques tiene un 4 por 4 columna de 128 bits o 16 bytes. Considerando que un byte consta de 8 bits, tenemos 16 x 8 = 128 bits, que es el tamaño del bloque.

Digamos, por ejemplo, que desea cifrar ‘addictivetips.com’ Con AES, lo primero que hace el proceso de cifrado es separar los datos en bloques. Sin embargo, un bloque solo puede contener 16 caracteres, por lo que el primer bloque no incluirá la ‘m’ al final del texto. La ‘m’ se enviará al siguiente bloque.

Por lo tanto, después de aplicar AES a ‘addictivetips.com‘, la primera parte de este texto se verá como el siguiente bloque:

a C mi s
D t t .
D I I C
I v pag o

2. Ampliación clave

El procedimiento de expansión de claves es un poco más complicado que el paso que describimos anteriormente. Implica tomar una clave inicial y utilizar el programa de claves de Rijndael para generar una serie de claves adicionales que se utilizarán para todas y cada una de las rondas del proceso de cifrado.

Entonces, por ejemplo, si usa la clave «AESencryption12«En nuestro texto sin formato de arriba (addictivetips.com), obtendrá una serie de números aparentemente aleatorios.

A mi y o
mi norte pag norte
S C t 1
r I 2

Sin embargo, la programación de claves de Rijndael utiliza procesos muy específicos para cifrar cada símbolo en la frase inicial.

El resultado se verá como el siguiente bloque:

7e 04 0b 20
52 6c 1c 56
a7 bf 8e 84
30 03 3d 20

Nuevamente, a pesar de que parece un galimatías y números aleatorios, ese es el punto exacto de todo este procedimiento de cifrado: ocultar datos detrás de un cifrado, haciéndolo inaccesible para los usuarios que no saben qué es el cifrado y lo hacen imposible para romperlo.

Además, esto está lejos de terminar, ya que el proceso de cifrado necesitará utilizar las claves que hemos generado recientemente para cada ronda de cifrado. Pero más de eso después.

3. Agregar una clave redonda

Esta es en realidad la primera ronda de cifrado, ya que vamos a agregar la clave inicial (‘Cifrado AES12‘) a nuestro bloque de mensajes (‘addictivetips.com‘), como en el ejemplo siguiente, que puede no tener sentido al principio.

a C mi s
D t t .
D I I C
I v pag o

Y

A mi y o
mi norte pag norte
S C t 1
r I 2

Aunque puede parecer imposible agregar dos bloques de texto juntos, recuerde que esto es simplemente una representación gráfica del proceso de cifrado para que pueda comprenderlo mejor. En realidad, AES usa código binario, haciendo que nuestro intento de agregar dos bloques de texto no solo sea completamente plausible sino también completamente posible.

Esta operación (de sumar los dos bloques de texto) se realiza mediante un Cifrado XOR, y el resultado se puede ver a continuación:

32 d5 5c d9
f3 24 a8 46
7e 1c 37 f3
82 5e 3f 03

4. Sustitución de bytes

Para mejorar aún más la protección de sus datos (en nuestro caso, el texto sin formato que estamos tratando de cifrar), este paso del proceso sustituirá cada byte del bloque con un valor predeterminado de acuerdo con una tabla, llamada Rijndael Caja S. Puedes ver la mesa solo debajo:

00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f
00 63 7c 77 7b f2 6b 6f c5 30 01 67 2b fe d7 ab 76
10 California 82 c9 7d fa 59 47 f0 anuncio d4 a2 af 9c a4 72 c0
20 b7 fd 93 26 36 3f f7 cc 34 a5 e5 f1 71 d8 31 15
30 04 c7 23 c3 18 96 05 9a 07 12 80 e2 eb 27 b2 75
40 09 83 2c 1a 1b 6e 5a a0 52 3b d6 b3 29 e3 2f 84
50 53 d1 00 ed 20 fc b1 5b 6a cb ser 39 4a 4c 58 cf
60 d0 ef Automóvil club británico pensión completa 43 4d 33 85 45 f9 02 7f 50 3c 9f a8
70 51 a3 40 8f 92 9d 38 f5 antes de Cristo b6 da 21 10 ff f3 d2
80 CD 0c 13 CE 5f 97 44 17 c4 a7 7e 3d 64 5d 19 73
90 60 81 4f corriente continua 22 2a 90 88 46 ee b8 14 Delaware 5e 0b db
a0 e0 32 3a 0a 49 06 24 5c c2 d3 C.A 62 91 95 e4 79
b0 e7 c8 37 6d 8d d5 4e a9 6c 56 f4 ea sesenta y cinco 7a ae 08
c0 licenciado en Letras 78 25 2e 1c a6 b4 c6 e8 dd 74 1f 4b bd 8b 8a
d0 70 3e b5 66 48 03 f6 0e 61 35 57 b9 86 c1 1d 9e
e0 e1 f8 98 11 69 d9 8e 94 9b 1e 87 e9 ce 55 28 df
f0 8c a1 89 0d bf e6 42 68 41 99 2d 0f b0 54 cama y desayuno dieciséis

Aunque esta tabla también parece una serie de caracteres aleatorios, puede usarla para verificar qué valor tendrán los bytes sustituidos. Por ejemplo, c9 se convertirá dd, 26 se convertirá f7, ff se convertirá dieciséis, y así. No es tan difícil de usar una vez que lo dominas.

Ahora que hemos visto la tabla, veamos cómo cambiará el nuevo bloque que generamos anteriormente a partir de la primera ronda de cifrado después de la sustitución de bytes basada en la caja S de Rijndael:

23 03 4a 35
0d 36 c2 5a
f3 9c 9a 0d
13 58 75 7b

Tenga en cuenta que en realidad hemos sustituido los bloques utilizando la tabla Rijndael S-box a mano, para que pueda volver a verificar e intentar replicar los resultados si está interesado. De esta manera, es más fácil de seguir, especialmente si le apasiona aprender más sobre criptografía.

5. Cambio de fila

En este paso del proceso de cifrado AES, las filas se desplazan para colocar sus datos detrás de un muro de protección adicional. Mientras que la primera fila permanece intacta, las siguientes tres se desplazan de diferentes maneras, como se indica a continuación:

  • La segundo la fila se desplaza hacia la izquierda por uno byte (celda)
  • La tercera la fila se desplaza hacia la izquierda por dos bytes (celdas)
  • La cuatro y la última fila se desplaza hacia la izquierda por Tres bytes (celdas)
23 03 4a 35
36 c2 5a 0d
9a 0d f3 9c
7b 13 58 75

6. Mezcla de columna

Si bien nos encantaría mantenernos lo más precisos posible, este paso implica aplicar una serie de fórmulas matemáticas complejas al bloque, lo que nos da un bloque totalmente diferente al final del procedimiento.

Para ser un poco más específico, cada columna se multiplica por una matriz predefinida durante este paso. El resultado será un nuevo bloque de código, que se utilizará además para aumentar la fuerza del cifrado y disminuir las probabilidades de que se abra de par en par.

Al final del proceso de mezcla de columnas, obtendremos un bloque de código que se parece a esto:

43 4d 33 85
c8 37 6d 8d
9a 33 85 9c
42 68 41 99

7. Agregue una llave redonda adicional

¿Recuerda que hace un tiempo le dijimos que definitivamente necesitaremos la clave que hemos creado durante el paso de expansión de claves? Bueno, lo usamos una vez para mezclar todo una vez, ahora tendremos que hacer uno más pelea a los datos que acabamos de obtener.

Así que tomamos el bloque de datos que obtuvimos después de ejecutar el paso de mezcla de columnas y le agregamos otra clave redonda, tal como lo hicimos en el paso 3 de nuestra guía, así:

43 4d 33 85
c8 37 6d 8d
9a 33 85 9c
42 68 41 99

Y

32 d5 5c d9
f3 24 a8 46
7e 1c 37 f3
82 5e 3f 03

Como era de esperar, este paso generará otro bloque de datos para que lo procesemos, pero nos detendremos aquí. Tenemos la sensación de que entendiste el punto. Sin embargo, el proceso de encriptación aún está lejos de terminar, ya que el bloque de datos que acabamos de generar sufrirá varios más modificaciones.

8. Más pasos

Estas modificaciones que mencionamos anteriormente incluyen todo lo que hemos hecho hasta ahora: cambiar filas, sustitución de bytes, agregar claves redondas y mezclar columnas, por lo que es fácil entender por qué tuvimos que detenernos aquí en lo que respecta a la ejemplificación.

Estas rondas son idénticas y el número de veces que se repiten estas rondas depende de la Clave AES largo, como sigue:

  • Usos de AES-128 9 rondas
  • Usos de AES-192 11 rondas
  • Usos de AES-256 13 rondas

Entonces, si planea usar AES-256, los pasos que hemos mencionado y explicado anteriormente se repetirán 13 veces seguidas, lo cual puede estar de acuerdo en que es una cantidad tremenda. También es fácil entender por qué AES es tan difícil de descifrar y es un estándar de cifrado de referencia en muchos entornos.

Sin embargo, aún no hemos terminado. Después de la 9, 11, o 13 rondas de cifrado de las que hemos hablado brevemente anteriormente, hay una ronda adicional, durante la cual el algoritmo solo sustituye bytes, desplaza filas y agrega una clave de ronda (omite las columnas de mezcla).

Puede sonar ridículo que después de 9, 11 o 13 rondas de ejecución, todos los pasos anteriores al paso de las columnas de mezcla se eliminen. La razón es que en este punto es algo redundante y este paso se omite solo para preservar algo de potencia de procesamiento.

Entonces, en realidad, después de ejecutar todos los pasos del proceso de cifrado, los datos de entrada (nuestro texto sin formato que usamos al principio en este caso) habrán pasado 10, 12, o 14 rondas, dependiendo de la longitud de clave que elija y se verá como un conjunto de caracteres aleatorios. No es que no se viera así desde hace mucho tiempo, desde que comenzamos el proceso de cifrado y todo.

Entonces, para recapitular, mientras se somete al cifrado, los datos que alimenta a las herramientas de cifrado AES se someten a los siguientes procesos, en este orden:

  1. División de bloques
  2. Expansión clave
  3. Agregar una clave redonda
  4. Sustitución de bytes
  5. Cambio de fila
  6. Mezcla de columna
  7. Agregar una clave redonda
  8. Los pasos 4 a 7 se repiten 9, 11 o 13 veces según la longitud de la clave
  9. Sustitución de bytes
  10. Cambio de fila
  11. Agregar una clave redonda

Al final de este proceso complejo y aparentemente interminable, addictivetips.com, el texto que hemos intentado cifrar, se verá como el código siguiente si se cifra con un 128 bits clave y ‘AESencryption12‘como nuestra clave secreta:

  • RcadDaLDuP5fHtor3/Rfnq5EijEfhP02pvrlGkGr1Gc=

Aunque puede parecer un galimatías completo, una vez más, ese es el punto de usar el cifrado: hacer que los datos tan simples como texto sin formato parezcan que algo salió terriblemente mal durante su transmisión y ahora parece un galimatías.

Cómo descifrar AES

Entendemos que AES y todo el proceso de cifrado pueden ser un poco complicados, ya que la multitud de pasos, así como el hecho de que se repiten durante un período de tiempo impío, pueden ser un poco intimidantes.

Sin embargo, si das un paso atrás y miras el panorama general, todo comienza a tener sentido, incluso para alguien que no pasó toda su vida estudiando criptografía y diseñando la manera perfecta de cifrar o descifrar información.

Es precisamente por eso que estamos bastante seguros de que no tendrá problemas para comprender el descifrado AES si el proceso de cifrado junto con todos sus pasos tiene sentido para usted. En pocas palabras, el descifrado AES sigue el exactamente los mismos pasos como el proceso de encriptación, solo son invertido.

Entonces, en nuestro caso, si queremos volver a ‘addictivetips.com’ de RcadDaLDuP5fHtor3/Rfnq5EijEfhP02pvrlGkGr1Gc=, todo lo que tenemos que hacer es rastrear nuestros pasos hacia arriba hasta llegar al inicial, así:

  1. Tecla redonda añadida inversa
  2. Cambio de fila inverso
  3. Sustitución inversa de bytes
  4. Tecla redonda añadida inversa
  5. Mezcla de columna inversa
  6. Cambio de fila inverso
  7. Sustitución inversa de bytes
  8. Repita los pasos 4 a 7 9, 11 o 13 veces, según la longitud de la clave.
  9. Inversa agregar clave redonda

Después de realizar todos los pasos anteriores, deberíamos terminar con nuestro fragmento de texto original, ‘addictivetips.com’.

¿Es seguro el cifrado AES?

Ejemplos de cifrado AES

Una de las preguntas más urgentes cuando se trata de todos los estándares de cifrado (no solo AES) es si puede brindarle un nivel óptimo de seguridad. En este caso, la pregunta sería: ¿Es seguro el cifrado AES?

Aunque puede ver por sí mismo que este estándar de cifrado implementa un gran cantidad de pasos, cada uno de los cuales codifica el texto original y lo tuerce más allá del reconocimiento, esto no pareció impedir que los atacantes diseñaran formas potenciales de eludir estos medios de protección.

Tenga en cuenta que en una situación de la vida real, un agresor (comúnmente conocido como pirata informático o pirata informático) no perseguirá la pared más alta y gruesa en su intento de invadir la fortaleza virtual que es su PC, base de datos, archivo o lo que sea que esté tratando de proteger.

En cambio, rodearán las proverbiales paredes varias veces tratando de encontrar grietas que valgan la pena explotar y luego comenzarán a perforar allí. En nuestra situación, los atacantes pueden querer detectar cualquier vulnerabilidades en el proceso de cifrado AES y empezar a trabajar desde allí.

Afortunadamente, los investigadores de criptografía intentan constantemente encontrar vulnerabilidades con el proceso de cifrado AES, para poder prevenir un posible ataque de alguien que descubre el defectos primero y (obviamente) no los comparte con todo el mundo.

Hasta ahora, los investigadores han podido identificar una serie de ataques que podrían comprometer AES, pero estos son ataques de canal lateral puramente teóricos o intentos de craqueo con una clave de seguridad conocida, como pronto aprenderá en las siguientes secciones.

1. Ataque distintivo de clave conocida

Un ataque que utilizó una clave conocida fue diseñado por investigadores de criptografía y observado en acción, y mostró algunos resultados prometedores. El ataque se introdujo en 2007 por Vincent Rijmen y Lars Knudsen.

Si bien eso no es exactamente bueno para el método de cifrado AES, este ataque tenía dos fallas que hacen que sea poco probable que se use en un escenario de la vida real: el hecho de que usó una clave conocida y que se probó contra una versión de siete rondas de AES-128.

Teniendo en cuenta que la mayoría de las veces el atacante no conoce la clave (a menos que simplemente se tope con ella con instrucciones precisas sobre su propósito) y que AES-128 tiene 10 rondas de cifrado, AES-128 todos los días puede estar seguro de que no es probable que se produzca el ataque.

El hecho de que la mayoría de los servicios que ofrecen AES-128 también cuentan con soporte nativo para AES-256 significa que aumentar su cifrado no podría ser más fácil en caso de que le preocupe ser el objetivo de un ataque distintivo de clave conocida.

2. Ataque clave relacionado

Los ataques de claves relacionadas son más una categoría, ya que representan todas las formas de criptoanálisis en las que los atacantes pueden analizar la forma en que funciona un cifrado con varias claves. En este tipo de ataque, el atacante no sabe los valores de las claves utilizadas en el cifrado.

Sin embargo, aunque se desconoce, las claves también tienen algún tipo de matemática relación uno a otro, que el atacante si sabe. Uno de los ejemplos más simples sería que el atacante sabe que los primeros 16 bits de las claves son siempre los mismos, pero no tiene idea de cuáles son realmente los bits.

Aunque los ataques de claves relacionados podrían tener éxito si se aplican correctamente, no son una preocupación real en el mundo real. Para que un ataque de este tipo funcione, un atacante necesitaría persuadir con éxito un criptógrafo para encriptar datos usando varias claves secretas que están conectadas entre sí matemáticamente y luego compartir el secreto con el atacante.

Por lo tanto, este tipo de servidores ataca simplemente como un recordatorio de que el error humano podría contribuir a poner algunos problemas en la armadura de AES al estar sujeto a una implementación deficiente de este estándar de cifrado.

3. Ataque de canal lateral

Aunque AES es, en este momento, virtualmente inquebrantable, ha habido muchos intentos de diseñar ataques teóricos que pudieran demostrar algunas de las vulnerabilidades de este estándar de cifrado.

Incluso si han pasado 20 años desde que se introdujo AES, y la tecnología ha hecho grandes avances en estos últimos 20 años, la cantidad de potencia informática necesaria para AES de fuerza bruta todavía no es suficiente, y todavía necesitaríamos miles de millones de años para poder romperlo.

Sin embargo, una clase diferente de intentos de romper la seguridad del cifrado AES es el ataque de canal lateral. Este tipo de ataque combina varios tipos de filtraciones de datos para extraer suficientes datos de un algoritmo que se pueden descifrar.

Por ejemplo, los atacantes podrían centrarse en el consumo de energía, la radiación electromagnética, el tiempo que se tarda en realizar varios cálculos e incluso los sonidos producidos durante el cálculo para extraer más información sobre el algoritmo.

Hay varias clases de canal lateral, que incluyen:

  • Ataques de tiempo
    • Los ataques de tiempo giran en torno a medir el tiempo que tardan en realizarse ciertos cálculos (por ejemplo, comparar una contraseña conocida con una desconocida).
  • Ataques de caché
    • Estos ataques solo son viables si el atacante puede acceder a algunos de los cachés de la víctima en varios entornos, ya sean entornos de virtualización (máquinas virtuales), sistemas físicos compartidos o servicios en la nube de los que estamos hablando.
  • Ataques electromagnéticos
    • Los ataques electromagnéticos se basan en fugas de radiación electromagnética, que se pueden utilizar para extraer varios bits de información. La medición de las fugas de radiación electromagnética a veces puede llevar al descubrimiento de claves criptográficas.
  • Ataques de monitoreo de energía
    • Los atacantes monitorean el consumo de energía del hardware durante ciertos pasos de cálculo para extraer información sobre el algoritmo.
  • Criptoanálisis acústica
    • Similar a los ataques de monitoreo de energía, pero los atacantes escuchan y analizan los sonidos que hace el hardware al realizar ciertos pasos de cálculo y extraen información de estos hallazgos.
  • Remanencia de datos
    • Este tipo de ataque gira en torno a datos confidenciales a los que aún se puede acceder y leer incluso después de haber sido eliminados.
  • Analisis optico
    • En este tipo de ataque complejo, se utilizan cámaras de alta resolución para capturar secretos o datos confidenciales (como analizar indicadores de actividad del disco duro o estados de conmutación de transistores).
  • Análisis diferencial de fallas
    • Este tipo de ataque se basa en descubrir secretos introduciendo fallas en el cálculo para desencadenar un error.

Aunque puede estar de acuerdo en que estos canales laterales son nada menos que creativos y sus autores pueden usarlos para convertir incluso el detalle más aparentemente insignificante en una verdadera pieza de información, solo funcionan si el sistema que se audita está filtrando información.

Por esa razón, se puede evitar fácilmente los ataques de canal lateral asegurándose de que los sistemas que podrían ser atacados no gotees cualquier dato o asegurándose de que no haya asociación entre los procesos algorítmicos y los datos filtrados, independientemente de su naturaleza.

4. Ataques de recuperación de claves

Por último, pero no menos importante, los ataques de recuperación de claves son un competidor duro cuando se trata de formas eficientes de descifrar el cifrado AES. En 2011, se intentó un ataque de este tipo para demostrar su eficacia contra el mecanismo de cifrado AES.

Este tipo de ataque no es exactamente probable que ocurra, ya que implica que el atacante tenga en sus manos al menos un par de mensajes cifrados y descifrados del sistema que pronto se verá comprometido.

El ataque mostró resultados prometedores, ya que fue aproximadamente cuatro veces más rápido que la fuerza bruta. Sin embargo, considerando que un ataque de fuerza bruta tomaría literalmente miles de millones de años Para completar, los ataques de recuperación de claves aún están lejos de ser ideales, lo que hace que sea poco probable que se utilicen en un ataque.

Además, incluso si tomó menos tiempo completarlo, cambiar la clave de seguridad a menudo podría inutilizar el par de mensajes cifrados y descifrados.

¿AES es seguro?

Teniendo en cuenta todo lo que ha aprendido al leer esta guía, creemos que puede juzgar si AES es un estándar de cifrado seguro o no.

AES ha existido desde 2001, y desde su introducción, hubo numeroso intenta romperlo, lo que hace que sea seguro decir que resistió la prueba del tiempo, y sigue siendo una opción sólida cuando se trata de algoritmos de cifrado.

La gran cantidad de pasos por los que pasa el proceso algorítmico para hacer que los datos ilegible es tremendo, y se necesitarían literalmente miles de millones de años para descifrar AES, incluso con el poder de cómputo y los avances tecnológicos actuales.

Entonces, para responder a su pregunta considerando todo lo anterior: sí, AES es seguro. Incluso AES-128 demostró ser absolutamente imposible de descifrar, sin mencionar sus contrapartes más poderosas, AES-192 y AES-256.

Cifrado AES – CONCLUSIÓN

A fin de cuentas, después de leer nuestra extensa guía, esperamos que haya aprendido más sobre AES, incluido cómo funciona, qué procesos atraviesa durante el proceso de cifrado, dónde se puede usar y cómo podría verse comprometido (a nivel teórico). .

El hecho de que, 20 años después de su introducción, siga siendo rápido, seguro y pueda implementarse en una gran variedad de entornos de hardware y software, hace que realmente se merezca el título de «estándar de oro» de las técnicas de cifrado.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *