Algoritmos de cifrado simétrico: Live Long & Encrypt
al igual que tribbles en Star Trek, el cifrado simétrico está en todas partes. Exploraremos algoritmos de clave simétrica y lo llevaremos a lugares a los que ninguna persona que no sea de TI ha ido antes
los Algoritmos de cifrado simétricos son los procesos subyacentes que hacen posible las comunicaciones seguras. Si fueras a ponerlo en términos relacionados con Star Trek, los algoritmos simétricos son el motor warp para el sistema de propulsión de tu nave estelar., Son parte integral de la seguridad de la información y son los que ayudan a su negocio a avanzar con el cifrado de datos de forma segura y a velocidades más rápidas que la luz.
(Sí, lo sé, realmente estoy volando mi bandera nerd alta hoy. Aunque los Algoritmos de clave simétrica son fascinantes, no son exactamente «ligeros» o fáciles de leer, así que tengo que divertirme al escribir. Maldita sea, Jim, soy un escritor de ciberseguridad, no un criptógrafo.)
asegúrese de refrescar su café (o té earl grey, si eso es más su velocidad)., Estamos a punto de profundizar en explorar qué son los Algoritmos de cifrado simétrico, por qué son importantes y cuáles son los tipos de Algoritmos de cifrado simétrico más comunes.
hazlo así.
vamos a discutirlo.
Nota del Editor: este artículo es el primero de una serie de artículos sobre cifrado simétrico., Asegúrese de revisar los artículos relacionados a continuación:
- Symmetric Encryption 101: Definition, How it Works & When It’s Used
- Asymmetric vs Symmetric Encryption: Definitions & Differences
- Block Cipher vs Stream Cipher: What They Are & cómo funcionan
¿qué es un algoritmo simétrico y cómo funciona?
los algoritmos simétricos son las funciones criptográficas que son centrales para el cifrado de claves simétricas., Son un conjunto de instrucciones o pasos que los equipos siguen para realizar tareas específicas relacionadas con el cifrado y descifrado de datos.
¿sientes que necesitas un traductor universal? Bueno, vamos a desglosar esto un poco más.
se utilizan algoritmos de cifrado simétricos (combinados con una clave de cifrado) para hacer dos cosas principales:
- cifrar. Convierta texto legible (texto plano) en texto ilegible y cifrado (texto cifrado).
- Descifrar. Convierte el texto cifrado de nuevo a texto sin formato.
los Algoritmos de cifrado simétricos utilizan la misma clave de cifrado tanto para el cifrado como para el descifrado., (A diferencia de los Algoritmos de cifrado asimétricos, que utilizan dos claves diferentes.)
los Algoritmos de cifrado, en general, se basan en matemáticas y pueden variar desde procesos muy simples hasta procesos muy complejos dependiendo de su diseño. En el caso de los Algoritmos de cifrado simétricos, están emparejados con una sola clave para convertir datos legibles (texto plano) en galimatías ininteligibles (texto cifrado). Luego usan la misma clave para luego descifrar el texto cifrado de nuevo en texto plano. Y todo esto se hace de una manera que garantiza la confidencialidad y Privacidad de los datos. Genial, ¿no?,
los Algoritmos de cifrado simétricos son conocidos por varios nombres diferentes:
- algoritmos de clave simétrica,
- cifrados simétricos,
- algoritmos de clave secreta y
- cifrados masivos. (Hablaremos más sobre los cifrados a granel un poco más adelante.)
en general, el propósito u objetivo del cifrado es hacer que solo Alguien con la clave pueda descifrar y leer el mensaje secreto., En caso de que necesite un recordatorio rápido de cómo funciona el cifrado simétrico, aquí hay una descripción rápida:
en este gráfico de arriba, moviéndose de izquierda a derecha, verá que comienza con el texto plano, los datos legibles. Una vez que el algoritmo de cifrado simétrico y la clave se aplican a esos datos, se convierte en texto cifrado ilegible., La forma de descifrar ese mensaje para descifrar su significado es usar una clave de descifrado. En el caso del cifrado simétrico, la clave de descifrado es idéntica a la clave que se utilizó para cifrar los datos. Básicamente, se utiliza la misma clave dos veces.
¿qué hacen realmente los Algoritmos de cifrado simétrico?
En pocas palabras, un algoritmo simétrico es un conjunto de instrucciones en criptografía que utilizan una clave para cifrar y descifrar datos. Estos algoritmos y claves de cifrado son ligeros en el sentido de que están diseñados para la velocidad en el procesamiento de grandes bloques o flujos de datos., (Esta es la razón por la que los Algoritmos de cifrado simétrico se conocen como cifrados masivos.)
los algoritmos y claves asimétricas, por otro lado, son devoradores de recursos. Las teclas son enormes y son caras de usar a escala. Lo que quiero decir es que absorben muchos de sus recursos de procesamiento de CPU y tiempo, energía de la batería y ancho de banda para ejecutar.
¿Recuerdas cómo describimos los algoritmos simétricos como un componente clave de tu unidad warp? Continuemos con esa analogía., Por lo tanto, si usted fuera a pensar en lo que los Algoritmos de cifrado asimétrico son, serían como el equivalente de los propulsores en el sistema de propulsión. Claro, te llevarán allí eventualmente, pero no son adecuados para el cifrado rápido a escala.
sin embargo, son excelentes para cifrar lotes más pequeños de datos en canales públicos. Y los intercambios asimétricos de claves (de los que hablaremos más adelante) son una excelente manera de distribuir claves en esos canales públicos inseguros.
Esta es la razón por la que las personas a menudo recurren al cifrado simétrico para codificar grandes cantidades de datos.,
¿qué determina la fuerza de un algoritmo de cifrado simétrico?
como pronto descubrirás, no todos los algoritmos simétricos se crean por igual. Varían en términos de fuerza, pero ¿qué significa exactamente la fuerza en criptografía? La respuesta corta es que la fuerza criptográfica se trata de lo difícil que es para un hacker romper el cifrado para obtener acceso a los datos. La respuesta más larga, por supuesto, puede variar dependiendo del tipo de algoritmo que evalúe., Pero, en general, la fuerza criptográfica típicamente se reduce a unos pocos rasgos clave:
- La longitud, aleatoriedad e imprevisibilidad de la clave simétrica,
- La capacidad del algoritmo para resistir o ser resistente a ataques conocidos, y
- La falta de puertas traseras u otras vulnerabilidades intencionales.
el cifrado simétrico puede ser un poco un acto de equilibrio porque necesita algoritmos y claves que sean computacionalmente difíciles pero lo suficientemente prácticos para usar con un rendimiento aceptable.,
los Algoritmos de cifrado simétrico no pueden valerse por sí solos en canales públicos
mientras que los Algoritmos de cifrado simétrico pueden sonar como las herramientas más lógicas para todos los tipos de cifrado de datos en línea, no es tan simple. Al igual que el siempre lógico Spock y el carismático capitán Kirk, el cifrado simétrico también tiene debilidades, especialmente cuando se usa por su cuenta en canales públicos., Estas debilidades vienen en forma de distribución de claves y problemas de administración de claves:
- Necesita una conexión segura para distribuir claves simétricas, y
- tratar de mantenerse al día con todos los que tienen una copia de la clave podría ser una molestia si se la entregara a muchas personas.
cuando se utiliza el cifrado simétrico, Idealmente, usted y la persona con la que se está comunicando ordenan su clave secreta con anticipación (antes de usarla para cualquier intercambio de datos). Esto significa que para compartir una clave simétrica de forma segura con alguien, tendría que reunirse con ellos en persona para dársela., ¿Pero qué pasa si estás al otro lado del país de la otra parte? O, peor, ¿qué pasa si estás al otro lado del mundo de ellos?
si bien esto no sería un problema en el universo de Star Trek, donde simplemente se podría transportar de un lugar a otro en cuestión de segundos, esto no es factible en nuestro mundo sin transporte del siglo 21. Aquí, la gente está intercambiando información con servidores web en todo el mundo cada momento de cada día. Esto significa que las personas no pueden reunirse con anticipación para entregar o recibir llaves. Por lo tanto, tenemos que confiar en otros medios para intercambiar claves de forma segura con otras partes.,
Aquí es donde los algoritmos asimétricos — o, más específicamente, los protocolos de intercambio de claves — entran en juego. Los intercambios de claves asimétricas permiten intercambiar claves simétricas en canales públicos que de otro modo serían inseguros. Lo que puede o no darse cuenta es que en realidad está utilizando esta combinación de técnicas de cifrado simétrico y asimétrico en este momento.
las técnicas asimétricas hacen posible el cifrado simétrico seguro a través de Internet
consideremos su conexión a nuestro sitio web como un ejemplo. ¿Ves el icono del candado en tu navegador?, Significa que estás conectado a un sitio web seguro.
Así, cuando inicialmente conectado a TheSSLstore.com su navegador tenido que realizar un proceso con nuestro servidor que se conoce como un enlace TLS. Este apretón de manos es una forma para que el servidor demuestre a su navegador que es legítimo y no es un impostor. (Ya sabes, porque a los ciberdelincuentes les encanta fingir ser otras personas para engañar a la gente en la conexión con ellos. Son como los romulanos en ese sentido, siempre metidos en subterfugios.,) El proceso de handshake utiliza cifrado asimétrico y procesos de intercambio de claves asimétricas para hacer esto.
- El proceso de cifrado asimétrico verifica las firmas digitales.
- El proceso de intercambio de claves asimétricas encripta el secreto pre-maestro que su navegador y el servidor web utilizarán para crear una clave de sesión simétrica.
por supuesto, hay algunas versiones del apretón de manos — TLS 1.0, TLS 1.2, TLS 1.3 — y hay diferencias específicas en cómo funcionan. (Por ejemplo, el grupo de trabajo de ingeniería de Internet impulsa el uso estricto de cifrados de solo secreto en TLS 1.,3 – pero ese es un tema para otro momento.) Solo sepa que solo el apretón de manos TLS 1.2 debe ser el mínimo utilizado. A partir de octubre de 2020, Qualys SSL Labs informa que el 99% de los sitios admiten el protocolo TLS 1.2 y el 39.8% el protocolo TLS 1.3.
no vamos a entrar en los detalles de cómo funciona el apretón de manos TLS aquí, pero sabemos que implica el uso de conjuntos de cifrado., Estos grupos de cifrados son los que ayudan a hacer posible establecer una conexión segura HTTPS al determinar cuál de cada uno de los siguientes:
- un protocolo (TLS)
- un algoritmo de intercambio de claves asimétrico (como Diffie-Hellman)
- un cifrado de cifrado masivo
- Una firma digital
- Una función hash (como SHA2-2)
- Una función li>
puedes leer más sobre el proceso en este blog explicativo sobre cómo funciona el apretón de manos TLS. Pero por ahora, sigamos con el tema de los Algoritmos de cifrado simétricos.,
los dos tipos de algoritmos simétricos (cifrados)
durante el cifrado simétrico que tiene lugar cuando se conecta de forma segura a un sitio web, está utilizando un cifrado masivo para que eso suceda. Hay dos subcategorías de cifrados a granel: cifrados de bloque y cifrados de flujo.
cifradores de bloques
en este tipo de cifrado, los datos de texto plano se descomponen en grupos de bits de longitud fija conocidos como bloques (que generalmente se conectan a través de un proceso conocido como encadenamiento). Cada bloque se encripta como una unidad, lo que hace que este proceso sea un poco lento., Y si no hay suficientes datos para llenar completamente un bloque, se usa» relleno » (típicamente un número acordado de 0s) para asegurar que los bloques cumplan con los requisitos de longitud fija.
el cifrado por bloques ideal tiene una longitud de clave masiva que no es práctica, por lo que muchos cifrados modernos tienen que reducir los tamaños de clave para que sean utilizables. Pero como nota rápida: a diferencia del cifrado asimétrico, los tamaños de clave de cifrado simétrico no determinan el tamaño de los bloques de datos.,
la mayoría de los Algoritmos de cifrado simétrico modernos caen dentro del campo de cifrado por bloques, y estos tipos de cifrados tienen oportunidades de uso y aplicación más amplias. Por lo tanto, nos vamos a centrar principalmente en ellos aquí. Pero si te estás preguntando cuáles son los cifrados de stream más populares o comunes, no te preocupes, te tenemos cubierto.
cifradores de flujo
con este tipo de cifrado, cifra los datos de texto plano un bit a la vez. Como tal, los datos se procesan en una secuencia en lugar de en trozos como en cifrados de bloque. Esto hace que el proceso requiera menos recursos y sea más rápido de lograr.,
ahora, no vamos a entrar en todos los detalles de los cifrados de bloque y cifrados de transmisión, ese es un tema completamente diferente. Pero la buena noticia es que ya hemos escrito un artículo que cubre cifrados de bloque vs cifrados de flujo. Por lo tanto, asegúrese de comprobar que uno hacia fuera para una mirada más profunda en lo que son y cómo funcionan.
bien, ahora es aquí donde las cosas comienzan a ponerse emocionantes (o más complicadas, dependiendo de tu perspectiva). Con el cifrado de clave compartida, hay varios algoritmos de clave simétrica bien conocidos que debe conocer., Vamos a desglosarlos todos para entender lo que son y cómo funcionan.
lista de algoritmos simétricos: los 3 tipos de algoritmos simétricos más comunes
para esta sección, hemos creado una lista de algoritmos simétricos que nos ayudará a navegar por los cifrados simétricos más comunes. Comenzaremos con uno de los más antiguos y trabajaremos hasta llegar al «último y mejor», es decir, el algoritmo que típicamente usamos hoy en día para el cifrado simétrico moderno.
Data Encryption Standard (DES)
el PRIMERO en nuestra lista es el Data encryption standard., DES, también conocido como DEA (abreviatura de algoritmo de cifrado de datos), es uno de los primeros algoritmos de cifrado simétrico que desde entonces ha sido obsoleto. Se basa en el cifrado Feistel (al igual que muchas otras variedades de cifrados en bloque) y en realidad fue considerado uno de los primeros algoritmos simétricos que se adoptó como un estándar Federal de procesamiento de información (FIPS) en 1976.
DES se remonta a principios de la década de 1970 cuando su forma original («Lucifer») fue desarrollada por el criptógrafo de IBM Horst Feistel., IBM informa que el método de cifrado fue creado originalmente a instancias del Lloyds Bank del Reino Unido. La Oficina Nacional de estándares (ahora conocida como el Instituto Nacional de estándares, o NIST para abreviar) terminó buscando propuestas para una aplicación comercial para el cifrado, e IBM presentó una variación de la misma. Incluso fue deseado para su uso por la Agencia de Seguridad Nacional (NSA) para proteger sus datos.
este tipo de cifrado simétrico asigna entradas de una longitud específica a salidas de una longitud específica., Como tal, opera en bloques de 64 bits, lo que significa que podría cifrar datos en grupos de hasta 64 bloques simultáneamente, y tiene un tamaño de clave de 56 bits. También hay 8 bits de paridad adicionales para la clave, que sirven como una forma de verificar los errores de transmisión de datos. Sin embargo, es importante tener en cuenta que los bits de paridad no son algo que nunca usarías para el cifrado.
esta clave de tamaño es en realidad muy pequeña para los estándares actuales, lo que la hace altamente susceptible a los ataques de fuerza bruta., Además, las longitudes de clave y bloque difieren de las longitudes de clave y bloque originales de Lucifer, las cuales se redujeron de 128 bits.
para obtener más información sobre cómo funcionan las redes de cifrado DES y Feistel, echa un vistazo a este gran video de Coursera y la Universidad de Stanford.
el documento Data Encryption Standard (DES) (FIPS PUB 46-3) fue retirado oficialmente el 19 de mayo de 2005, junto con los documentos FIPS 74 y FIPS 81., El Secretario de comercio del Instituto Nacional de estándares y Tecnología publicó lo siguiente en el Registro Federal:
«estos FIPS se retiran porque FIPS 46-3, DES, ya no proporciona la seguridad que se necesita para proteger la información del gobierno Federal. FIPS 74 y 81 son estándares asociados que proveen para la implementación y operación del DES.»
DES encryption was succeeded by triple data encryption algorithm (TDEA) for some applications, although not all., Sin embargo, DES fue reemplazado principalmente como una recomendación por el estándar de cifrado avanzado, o lo que se conoce como cifrado AES, en 2000. Esto es lo que más comúnmente usamos hoy en día para el cifrado simétrico.
Ahora, vamos a explorar esos otros dos tipos de Algoritmos de cifrado simétrico.
algoritmo de Triple cifrado de datos (TDEA)
el algoritmo de triple cifrado de datos, que fue creado a finales de la década de 1990, es un poco complicado, ya que en realidad va por varias abreviaturas: TDEA, TDES, y 3DES., Pero como probablemente se puede adivinar por su nombre, 3DES se basa en el concepto de DES pero con un giro.
a diferencia de su predecesor, TDEA utiliza múltiples claves separadas para cifrar datos — una variación de TDEA utiliza dos claves y la otra variación utiliza tres claves (de ahí el «triple» en su nombre). El más fuerte de los dos es el que utiliza tres teclas.,
Aquí hay una ilustración de cómo funciona el proceso TDEA de tres claves:
El uso de múltiples claves hace que el procesamiento de datos sea lento y aumenta la sobrecarga computacional, razón por la cual las organizaciones a menudo omiten 3DES y pasan directamente al uso de AES.
TDEA funciona con un tamaño de clave decente de 168 bits., Sin embargo, al igual que DES, 3DES también opera en pequeños bloques de 64 bits. Su pequeño tamaño de bloque lo hizo susceptible a la vulnerabilidad sweet32 (CVE-2016-2183 y CVE-2016-6329), o lo que se conoce como el ataque de cumpleaños sweet32. Este exploit aprovecha una vulnerabilidad que permite a partes no deseadas acceder a partes de datos cifrados DES/TDEA.
el algoritmo de cifrado de clave simétrica TDEA está establecido en obsoleto en términos de ser útil para la protección criptográfica en 2023. Sin embargo, mientras tanto, NIST SP 800-76 Rev., 2 especifica que las organizaciones del gobierno federal pueden usar 3DES para proteger datos confidenciales no clasificados siempre que se utilicen «dentro del contexto de un programa de seguridad total».»Tal programa incluiría:
- buenas prácticas de seguridad de la información,
- sólidos procedimientos de seguridad física y
- controles de acceso a redes informáticas o sistemas.
Advanced Encryption Standard (AES)
AES es el tipo más común de algoritmo de cifrado simétrico que utilizamos hoy en día. De hecho, incluso la NSA utiliza el cifrado AES para ayudar a proteger sus datos confidenciales.,
AES es una variante de la familia Rijndael de Algoritmos de cifrado simétricos. A diferencia de sus contrapartes DES o TDEA, se basa en una red de permutación de sustitución. Por lo tanto, utiliza esto como su base en lugar del cifrado Feistel. Encontrará el estándar de cifrado avanzado en uso para todo, desde el cifrado SSL/TLS hasta la seguridad inalámbrica y del procesador. Es rápido, seguro y no aumenta notablemente su sobrecarga de procesamiento (al menos, cuando usa la clave correcta).,
AES opera en tamaños de bloque de 128 bits, independientemente del tamaño de clave utilizado, y realiza operaciones de cifrado en múltiples rondas.
Hay un total de cuatro AES de cifrado de sub-procesos:
- AddRoundKey
- SubBytes
- ShiftRows
- MixColumns
Las rondas, que se realizan en el texto de datos, utiliza las sustituciones de una tabla de búsqueda. Por lo tanto, una de las rondas se parece a esto:
AES, que se convirtió en el nuevo estándar de cifrado aprobado por FIPS después de reemplazar DES y reemplazar 3DES, tiene un tamaño máximo de clave de hasta 256 bits. Esto es aproximadamente 4,5 veces más grande que una clave DES. Más grande, y no sería práctico para aplicaciones a escala. Ahora, el tamaño de la clave determina cuántas rondas de operaciones se ejecutarán; por ejemplo, una clave de 128 bits tendrá 10 rondas, mientras que una clave de 256 bits tendrá 14.
Por supuesto, el cifrado AES es increíblemente fuerte., Por lo tanto, cualquier intento de descifrar AES a través de la fuerza bruta utilizando la tecnología informática moderna es «inútil», como a cierto colectivo de individuos cibernéticos les encanta decir. Incluso el teniente comandante Data probablemente lucharía con tal esfuerzo computacional. Lo digo porque ni siquiera se espera que las computadoras cuánticas tengan un efecto tan grande en el algoritmo de cifrado simétrico como lo tendrá en, digamos, los métodos modernos de cifrado asimétrico. (Los métodos de cifrado simétrico requerirían claves más grandes para ser resistentes al cuántico, mientras que los métodos de Clave Pública ya no serán seguros — período.,)
para una mirada más profunda al estándar de cifrado avanzado, asegúrese de revisar nuestro otro artículo sobre el tema. Allí, obtendrá una visión altamente técnica de cómo funciona AES.
por supuesto, estos no son los únicos tres algoritmos simétricos en uso
hay muchos otros tipos de Algoritmos de cifrado simétricos que son útiles para diferentes propósitos y funciones criptográficas. Para darte una idea rápida, la lista de algunos de estos algoritmos incluye:
Por supuesto, también hay otros cifrados — pero no vamos a incluirlos todos aquí., Pero esto al menos le da algunos ejemplos de lo que hay en lo que respecta a los algoritmos AES.
donde encontrará algoritmos simétricos en funcionamiento
los Algoritmos de cifrado simétricos, cuando se utilizan por sí solos, son los más adecuados para cifrar datos en reposo o en canales No públicos. Digo eso porque a menudo se encuentran protegiendo datos en reposo en varias situaciones, incluidas bases de datos, servicios en línea y transacciones relacionadas con la banca. (Esto último se debe a que los estándares de seguridad de datos de la industria de tarjetas de pago, o PCI DSS para abreviar, lo requieren.,)
sin embargo, esos no son los únicos lugares que son útiles. Oh — no – también encontrarás algoritmos simétricos en uso a través de internet., Cuando los utilizas junto con el cifrado asimétrico para el intercambio de claves, como cuando te conectas a un sitio web seguro, el cifrado simétrico entra en juego con servicios como:
- intercambios de datos de sitios web
- La Suite de servicios en línea de Google
- CodeGuard website backup tool
- SalesForce platform
lo que analizamos en los Algoritmos de cifrado simétrico (TL;DR)
¿en todas las tonterías técnicas? (¿O no tenía ganas de leer mis comparaciones nerd de Star Trek de Algoritmos de cifrado simétricos?,) No te preocupes. Estas son algunas de las principales conclusiones de este artículo sobre algoritmos de clave simétrica:
- Los algoritmos de cifrado son básicamente instrucciones paso a paso para realizar funciones criptográficas (como cifrado, descifrado, hash, etc.).). Los algoritmos vienen en variedades asimétricas y simétricas. En la primera, una clave cifra los datos y otra los descifra. En este último, una clave realiza las funciones de cifrado y descifrado.
- Los algoritmos simétricos son procesos eficientes diseñados para cifrar datos en canales seguros y no públicos.,
- Un proceso conocido como apretón de manos TLS le permite usar una forma de cifrado simétrico en canales públicos.
- hay muchos tipos diferentes de Algoritmos de clave simétrica que se han utilizado en los últimos años. Tres de los más comunes incluyen DES, TDEA/3DES y AES.
asegúrese de estar atento a nuestro próximo capítulo en esta serie de blogs sobre cifrado simétrico en las próximas semanas. Y hasta la próxima live larga y adecuada vida.
- #Algoritmos de Cifrado
- #Simétrica