Cuando se trata de seguridad cibernética, AES es uno de esos acrónimos que ves aparecer en todas partes. Esto se debe a que se ha convertido en el estándar global de cifrado y se utiliza para mantener segura una cantidad significativa de nuestras comunicaciones..
El estándar de cifrado avanzado (AES) es una forma de cifrado rápida y segura que mantiene las miradas indiscretas lejos de nuestros datos. Lo vemos en aplicaciones de mensajería como WhatsApp y Señal, programas como VeraCrypt y WinZip, en una gama de hardware y una variedad de otras tecnologías que usamos todo el tiempo.
¿Por qué se desarrolló AES??
Los primeros tipos de encriptación fueron simples, usando técnicas como cambiar cada letra de una oración por la que viene después en el alfabeto. Bajo este tipo de código, la oración anterior se convierte en:
Como puede ver, este código simple lo hace completamente ilegible. A pesar de la ilegibilidad inicial, si tuviera el tiempo y supiera que era un código y no solo un montón de caracteres arrojados a la página, no sería demasiado difícil de entender..
A medida que la gente mejoraba en descifrar códigos, el cifrado tuvo que volverse más sofisticado de manera que la los mensajes pueden ser secreto guardado. Esta carrera armamentista de inventar métodos cada vez más sofisticados mientras otros dedicaban sus esfuerzos a romperlos condujo a técnicas cada vez más complicadas, como la máquina Enigma inventada por los alemanes en la Primera Guerra Mundial.
El auge de la comunicación electrónica también ha sido una bendición para el cifrado. En la década de 1970, el Oficina Nacional de Normas de EE. UU. (NBS) comenzó a buscar un medio estándar que pudiera usarse para cifrar información confidencial del gobierno. El resultado de su búsqueda fue adoptar un algoritmo de clave simétrica desarrollado en IBM, que ahora se llama Estándar de cifrado de datos (DES). El DES cumplió su propósito relativamente bien durante las próximas dos décadas, pero en los años noventa, comenzaron a surgir algunas preocupaciones de seguridad..
El DES solo tiene un Clave de 56 bits (en comparación con el máximo de 256 bits en AES, pero llegaremos a eso más adelante), así que a medida que la tecnología y los métodos de craqueo mejoraron, los ataques contra él comenzaron a ser más prácticos. El primer mensaje cifrado DES que se abrió fue en 1997, por el Proyecto DESCHALL en un Competencia patrocinada por RSA Security.
Al año siguiente, la Electronic Frontier Foundation (EFF) construyó una galleta DES que podría forzar una llave con fuerza bruta en poco más de dos días. En 1999, el EFF y el primer colectivo informático de internet, distribuido.net, colaboró para reducir ese tiempo a menos de 24 horas.
Aunque estos ataques fueron costosos y poco prácticos de montar, comenzaron a mostrar que el reinado del DES a medida que finalizaba el estándar de cifrado. Con potencia informática aumentando exponencialmente de acuerdo a La ley de Moore, era solo cuestión de tiempo hasta que ya no se pudiera confiar en el DES.
El gobierno de los Estados Unidos se embarcó en una misión de cinco años para evaluar una variedad de diferentes métodos de encriptación para encontrar un nuevo estándar que fuera seguro. los Instituto Nacional de Estándares y Tecnología (NIST) anunció que finalmente había hecho su selección a fines de 2001.
Su elección fue un subconjunto específico del cifrado de bloque Rijndael, con un tamaño de bloque fijo de 128 bits y tamaños de clave de 128, 192 y 256 bits. Fue desarrollado por Joan Daemen y Vincent Rijmen, dos criptógrafos de Bélgica. En mayo de 2002, AES fue aprobado para convertirse en el Estándar federal de EE. UU. y rápidamente se convirtió en el algoritmo de cifrado estándar para el resto del mundo también.
Relacionado: Una guía para principiantes sobre criptografía
¿Por qué se eligió este cifrado para AES??
Con cualquier tipo de encriptación, siempre hay compensaciones. Fácilmente podría tener un estándar que fuera exponencialmente más seguro que AES, pero tomaría demasiado tiempo encriptar y desencriptar para ser de utilidad práctica. Al final, el El cifrado de bloque Rijndael fue elegido por NIST para sus habilidades versátiles, incluyendo su rendimiento en hardware y software, facilidad de implementación y su nivel de seguridad.
¿Cómo funciona AES??
Tenga en cuenta que el siguiente ejemplo es una simplificación, pero le da una idea general de cómo funciona AES. Desafortunadamente, no hay suficiente café en el mundo para hacer que la mayoría de la gente quiera superar los aspectos más complicados de AES. Normalmente, el proceso se realiza en binario y hay muchas más matemáticas.
Primero, los datos se dividen en bloques..
Con este método de cifrado, lo primero que sucede es que su texto sin formato (que es la información que desea cifrar) se separa en bloques. El tamaño de bloque de AES es de 128 bits, por lo que separa los datos en una columna de cuatro por cuatro de dieciséis bytes (hay ocho bits en un byte y 16 x 8 = 128).
Si su mensaje fue “cómpreme algunas papas fritas por favor”, el primer bloque se ve así:
si | metro | o | pag |
tu | mi | metro | o |
y | mi | t | |
s | un |
Omitiremos el resto del mensaje para este ejemplo y nos centraremos en lo que sucede con el primer bloque cuando está encriptado. El “… a las fichas por favor” normalmente se agregaría al siguiente bloque.
Expansión clave
La expansión de claves implica tomar la clave inicial y usarla para generar una serie de otras claves para cada ronda del proceso de cifrado. Estas nuevas claves redondas de 128 bits se derivan de la programación de claves de Rijndael, que es esencialmente una forma simple y rápida de producir nuevos cifrados de clave. Si la clave inicial era “las claves son aburridas1”:
k | yo | ||
mi | un | si | norte |
y | r | o | sol |
s | mi | r | 1 |
Entonces, cada una de las nuevas claves podría verse más o menos así una vez que se haya utilizado el programa de claves de Rijndael:
14 | 29 | 1h | s5 |
h9 | 9f | S t | 9f |
gt | 2h | hq | 73 |
Kansas | DJ | df | media pensión |
Aunque parecen caracteres aleatorios (y el ejemplo anterior está inventado), cada una de estas claves se deriva de un proceso estructurado cuando se aplica el cifrado AES. Volveremos a para qué se usan estas teclas redondas más adelante.
Añadir llave redonda
En este paso, como es la primera ronda, nuestra clave inicial se agrega al bloque de nuestro mensaje:
si | metro | o | pag |
tu | mi | metro | o |
y | mi | t | |
s | un |
+
k | yo | ||
mi | un | si | norte |
y | r | o | sol |
s | mi | r | 1 |
Esto se hace con un cifrado XOR, que es un algoritmo de cifrado aditivo. Si bien parece que en realidad no puede agregar estas cosas juntas, tenga en cuenta que en realidad se hace en binario. Los personajes son solo un sustituto para tratar de hacer las cosas más fáciles de entender. Digamos que esta operación matemática nos da un resultado de:
h3 | jd | zu | 7s |
s8 | 7d | 26 | 2n |
DJ | 4b | 9d | 9c |
74 | el | 2h | hg |
Bytes sustitutos
En este paso, cada byte se sustituye de acuerdo con una tabla predeterminada. Esto es algo así como el ejemplo del comienzo del artículo, donde la oración se codificó cambiando cada letra a la que viene después en el alfabeto (Hola se convierte ifmmp).
Este sistema es un poco más complicado y no necesariamente tiene lógica. En cambio, hay una tabla establecida que puede ser buscada por el algoritmo, que dice, por ejemplo, que h3 se convierte jb, s8 se convierte 9f, DJ se convierte 62 y así. Después de este paso, digamos que la tabla predeterminada nos da:
jb | n3 | kf | n2 |
9f | jj | 1h | js |
74 | wh | 0d | 18 años |
hs | 17 | d6 | px |
Desplazar filas
Mayúsculas es un nombre sencillo, y este paso es esencialmente lo que esperarías. La segunda fila se mueve un espacio hacia la izquierda, la tercera fila se mueve dos espacios hacia la izquierda y la cuarta fila se mueve tres espacios hacia la izquierda. Esto nos da:
jb | n3 | kf | n2 |
jj | 1h | js | 9f |
0d | 18 años | 74 | wh |
px | hs | 17 | d6 |
Mezclar columnas
Este paso es un poco complicado de explicar. Para recortar la mayoría de las matemáticas y simplificar las cosas, digamos que cada columna tiene una ecuación matemática aplicada para difundirla aún más. Digamos que la operación nos da este resultado:
ls | j4 | 2n | mamá |
83 | 28 | ke | 9f |
9w | xm | 3l | m4 |
5b | a9 | cj | PD |
Agregar tecla redonda (nuevamente)
¿Recuerdas esas llaves redondas que hicimos al principio, usando nuestra llave inicial y el calendario de llaves de Rijndael? Bueno, aquí es donde comenzamos a usarlos. Tomamos el resultado de nuestras columnas mixtas y agregamos la primera clave redonda que derivamos:
ls | j4 | 2n | mamá |
83 | 28 | ke | 9f |
9w | xm | 3l | m4 |
5b | a9 | cj | PD |
+
14 | 29 | 1h | s5 |
h9 | 9f | S t | 9f |
gt | 2h | hq | 73 |
Kansas | DJ | df | media pensión |
Digamos que esta operación nos da el siguiente resultado:
9d | 5b | 28 | sf |
ls | df | hf | 3b |
9t | 28 | hp | 8f |
62 | 7d | 15 | ah |
Muchas rondas más …
Si pensabas que era eso, ni siquiera estamos cerca. Después de que se agregó la última clave de ronda, vuelve a la etapa de sustitución de bytes, donde cada valor se cambia de acuerdo con una tabla predeterminada. Una vez hecho esto, es volver a cambiar filas y mover cada fila a la izquierda uno, dos o tres espacios. Luego vuelve a pasar por la ecuación de las columnas de mezcla. Después de eso, se agrega otra tecla redonda.
Tampoco se detiene allí. Al principio, se mencionó que AES tiene tamaños de clave de 128, 192 o 256 bits. Cuando se usa una clave de 128 bits, hay nueve de estas rondas. Cuando se usa una clave de 192 bits, hay 11. Cuando se usa una clave de 256 bits, hay 13. Por lo tanto, los datos pasan por la sustitución de bytes, desplazar filas, mezclar columnas y pasos de teclas redondas hasta trece veces cada una, ser alterado en cada etapa.
Después de estas nueve, 11 o 13 rondas, hay una ronda adicional en la que los datos solo se procesan mediante la sustitución de bytes, desplazar filas y agregar pasos clave redondos, pero no El paso de las columnas de mezcla. El paso de mezclar columnas se elimina porque en esta etapa, solo estaría consumiendo potencia de procesamiento sin alterar los datos, lo que haría que el método de cifrado fuera menos eficiente.
Para aclarar las cosas, todo el proceso de cifrado AES va:
Expansión clave
Añadir llave redonda
Sustitución de bytes
Desplazar filas
Mezclar columnas
Añadir llave redonda
x 9, 11 o 13 veces, dependiendo de si la clave es de 128, 192 o 256 bits
Sustitución de bytes
Desplazar filas
Añadir llave redonda
Una vez que los datos han pasado por este proceso complejo, su original “Cómprame algunas papas fritas por favor” sale mirando algo así “Ok23b8a0i3j 293uivnfqf98vs87a”. Parece una cadena de caracteres completamente aleatoria, pero como puede ver en estos ejemplos, en realidad es el resultado de muchas operaciones matemáticas diferentes que se le aplican una y otra vez.
¿Cuál es el punto de cada uno de estos pasos??
Suceden muchas cosas cuando nuestros datos están encriptados y es importante entender por qué. Llave la expansión es crítica paso, porque nos da nuestras claves para las rondas posteriores. De lo contrario, se agregaría la misma clave en cada ronda, lo que haría que AES fuera más fácil de descifrar. En la primera ronda, se agrega la clave inicial para comenzar la alteración del texto sin formato.
los paso de sustitución de bytes, donde cada uno de los puntos de datos se cambia de acuerdo con una tabla predeterminada, también desempeña un papel esencial. Altera los datos de forma no lineal, para aplicar confusión a la información. La confusión es un proceso que ayuda a ocultar la relación entre los datos cifrados y el mensaje original..
El cambio de filas también es crítico, realizando lo que se conoce como difusión. En criptografía, la difusión significa esencialmente transponer los datos para agregar complicaciones. Al desplazar las filas, los datos se mueven desde su posición original, lo que ayuda a ocultarlos. Mezclar columnas actúa de manera similar, alterando los datos verticalmente en lugar de horizontalmente.
Al final de una ronda, se agrega una nueva clave redonda derivada de la clave inicial. Esto agrega una mayor confusión a los datos..
¿Por qué hay tantas rondas??
Los procesos de agregando llaves redondas, sustitución de bytes, filas cambiantes y columnas de mezcla altera los datos, pero aún puede ser descifrado por el criptoanálisis, que es una forma de estudiar el algoritmo criptográfico para romperlo.
Ataques de atajo son uno de los amenazas clave. Estos son ataques que pueden descifrar el cifrado con menos esfuerzo que el de fuerza bruta. Cuando se diseñó AES, se encontraron ataques de acceso directo durante hasta seis rondas de su proceso. Debido a esto, se agregaron cuatro rondas adicionales para el mínimo de AES de 128 bits como margen de seguridad. Las 10 rondas resultantes le dan al método de encriptación suficiente espacio para las piernas para evitar ataques de acceso directo bajo las técnicas y tecnología actuales.
¿Por qué no agregamos más rondas para reforzar la seguridad??
Con la mayoría de las cosas en seguridad, debe haber un compromiso entre fuerza defensiva pura, usabilidad y rendimiento. Si coloca diez puertas de acero con cerrojos en cada uno de los puntos de entrada a su casa, seguramente lo hará más seguro. También llevaría una cantidad de tiempo irracional entrar y salir, por lo que nunca vemos a nadie hacerlo.
Es lo mismo cuando se trata de cifrado. Podríamos hacerlo más seguro agregando más rondas, pero también sería más lento y mucho menos eficiente. Las 10, 12 y 14 rondas de AES se resolvieron porque ofrecen un buen compromiso entre estos aspectos competitivos, al menos en el panorama tecnológico actual.
Descifrar AES
Si ha logrado entender el proceso de cifrado explicado anteriormente, el descifrado es relativamente simple. Para volver del texto cifrado al texto sin formato del mensaje original, todo se hace al revés.
Si comenzamos con nuestro resultado cifrado de “Ok23b8a0i3j 293uivnfqf98vs87a” y aplicar el inverso de cada paso de cifrado, comienza con la tecla de ronda inversa, luego las filas de desplazamiento inversas y la sustitución de bytes inversa, antes de pasar a la inversa de las 9, 11 o 13 rondas. Se parece a esto:
“Ok23b8a0i3j 293uivnfqf98vs87a”
Invertir agregar tecla redonda
Filas de desplazamiento inverso
Sustitución de bytes inversa
Invertir agregar tecla redonda
Columnas de mezcla inversa
Filas de desplazamiento inverso
Sustitución de bytes inversa
x 9, 11 o 13 veces, dependiendo de si la clave es 128,192 o 256 bits
Invertir agregar tecla redonda
Después de este proceso de descifrado, terminamos con nuestro mensaje original nuevamente: “Cómprame algunas papas fritas por favor”
128 contra 192 contra 256 bits AES
AES tiene tres longitudes de clave diferentes. La principal diferencia es el número de rondas por las que pasan los datos en el proceso de cifrado, 10, 12 y 14 respectivamente. En esencia, 192 bits y 256 bits proporcionar una mayor margen de seguridad que 128 bits.
En el panorama tecnológico actual., AES de 128 bits es suficiente para la mayoría de los propósitos prácticos. Datos altamente sensibles manejados por aquellos con un nivel de amenaza extremo, como Documentos TOP SECRET controlado por el ejército, probablemente debería ser procesado con 192 o AES de 256 bits.
Si eres paranoico, quizás prefieras usar 192 o 256 bits cifrado siempre que sea posible. Esto está bien si te facilita dormir por la noche, pero en realidad no es necesario en la mayoría de las situaciones. No está exento de costos tampoco, con las cuatro rondas adicionales de Cifrado de 256 bits haciéndolo un 40 por ciento menos eficiente.
Problemas de seguridad de AES
Los criptógrafos están constantemente investigando a AES por debilidades, tratando de encontrar nuevas técnicas y aprovechando la tecnología que se les presenta. Esto es esencial, porque si los académicos no lo estuvieran probando a fondo, los delincuentes o los estados nacionales podrían encontrar una forma de resolverlo sin que el resto del mundo lo supiera. Hasta ahora, los investigadores solo han descubierto interrupciones teóricas y ataques de canales laterales.
Ataque de clave relacionada
En 2009, se descubrió una serie de ataques de claves relacionadas. Estos son un tipo de criptoanálisis que implica observar cómo funciona un cifrado bajo diferentes claves. Los ataques de clave relacionada que descubrieron los investigadores no son motivo de gran preocupación; solo son posibles contra protocolos que no se implementan correctamente.
Ataque distintivo de clave conocida
Nuevamente en 2009, hubo un ataque distintivo de clave conocida contra una versión de ocho rondas de AES-128. Estos ataques usan una clave que ya se conoce para descubrir la estructura inherente del cifrado. Como este ataque fue solo contra una versión de ocho rondas, no es demasiado de qué preocuparse para los usuarios cotidianos de AES-128.
Ataque de canal lateral
Ha habido varios otros ataques teóricos, pero bajo la tecnología actual aún les tomaría miles de millones de años para descifrar. Esto significa que AES en sí es esencialmente irrompible en este momento. A pesar de esto, AES aún puede ser vulnerable si no se ha implementado correctamente, en lo que se conoce como un ataque de canal lateral.
Ataques de canal lateral ocurrir cuando un sistema pierde información. El atacante escucha el sonido, la información de temporización, la información electromagnética o el consumo de energía para recopilar inferencias del algoritmo que luego se pueden utilizar para romperlo..
Si AES se implementa con cuidado, estos ataques se pueden evitar eliminando la fuente de la fuga de datos o asegurando que no haya una relación aparente entre los datos filtrados y los procesos algorítmicos..
La última debilidad es más general que específica de AES, pero los usuarios deben ser conscientes de que AES no protege sus datos automáticamente. Incluso AES-256 es vulnerable si un atacante puede acceder a la clave de un usuario. Es por eso que AES es solo un aspecto de mantener la seguridad de los datos. La gestión eficaz de contraseñas, los cortafuegos, la detección de virus y la educación contra los ataques de ingeniería social son igualmente críticos en sus propias formas.
¿Es suficiente AES??
En la era actual, todos transmitimos gran parte de nuestros datos confidenciales en línea, AES se ha convertido en una parte esencial de nuestra seguridad.. Aunque existe desde 2001, su proceso repetitivo de agregar claves, sustitución de bytes, cambio de filas y mezcla de columnas ha demostrado resistir el paso del tiempo..
A pesar de los ataques teóricos actuales y cualquier posible ataque de canal lateral, AES en sí mismo permanece seguro. Es un estándar excelente para asegurar nuestra comunicación electrónica y se puede aplicar en muchas situaciones donde la información confidencial necesita protección. A juzgar por el nivel actual de tecnología y técnicas de ataque, deberías sentirte seguro al usarlo bien en el futuro previsible.
¿Por qué necesitamos cifrado??
Ahora que hemos analizado los detalles técnicos de AES, es importante analizar por qué es importante el cifrado. En su nivel más básico, el cifrado nos permite codificar información para que solo aquellos que tienen acceso a la clave puedan descifrar los datos. Sin la llave, parece un galimatías. Con la tecla, la mezcla de caracteres aparentemente aleatorios vuelve a su mensaje original..
El cifrado ha sido utilizado por gobiernos y militares durante milenios. para evitar que la información confidencial caiga en las manos equivocadas. A lo largo de los años, se ha introducido cada vez más en la vida cotidiana, especialmente desde que una gran parte de nuestros tratos personales, sociales y laborales ahora han migrado al mundo en línea..
Solo piensa en todos los datos que ingresas en tus dispositivos: contraseñas, datos bancarios, tu mensajes privados y mucho más. Sin ningún tipo de encriptación, esta información sería mucho más fácil de interceptar para cualquiera, ya sean criminales, acosadores locos o el gobierno..
Mucho de nuestra información es valiosa o sensible, Por lo tanto, está claro que debe protegerse de manera que solo nosotros y aquellos que autorizamos puedan acceder.. Por eso necesitamos encriptación. Sin él, el mundo en línea simplemente no podría funcionar. Nos despojaríamos por completo de cualquier privacidad y seguridad, lo que llevaría nuestras vidas en línea a un caos absoluto.
Ver también:
Herramienta generadora de contraseñas
Recursos de cifrado: una gran lista de herramientas y guías
Códigos famosos y cifras a través de la historia
Estadísticas de seguridad cibernética & hechos
“Hackeo, cibercrimen” por jaydeep_ bajo licencia CC0
o Nacional de Estándares y Tecnología (NIST) finalmente seleccionó el algoritmo AES en 2001 como el nuevo estándar de cifrado.
AES ha demostrado ser un cifrado rápido y seguro que se utiliza en una amplia gama de tecnologías y aplicaciones, desde mensajería hasta hardware. Su proceso de cifrado implica una serie de pasos, incluyendo la división de datos en bloques, la expansión de claves y la adición de rondas de cifrado. Aunque AES ha sido objeto de algunos ataques de seguridad, sigue siendo uno de los estándares de cifrado más confiables y utilizados en todo el mundo.
En resumen, la seguridad cibernética es un tema importante en la actualidad y AES es un acrónimo que se ve en todas partes debido a su papel como estándar global de cifrado. AES es un cifrado rápido y seguro que se utiliza en una amplia gama de tecnologías y aplicaciones, y su desarrollo fue una respuesta a la necesidad de métodos de encriptación más sofisticados a medida que la tecnología avanzaba. Aunque AES ha sido objeto de algunos ataques de seguridad, sigue siendo uno de los estándares de cifrado más confiables y utilizados en todo el mundo.