Documentos de Académico
Documentos de Profesional
Documentos de Cultura
En la última sección,
vimos los fundamentos precisos de los algoritmos de cifrado simétricos
y te dimos un ejemplo básico del cifrado César, un tipo de cifrado por sustitución.
No podríamos proteger nada de valor con ese cifrado, ¿verdad?
Debe haber algoritmos simétricos más complejos y seguros, ¿no?
Por supuesto, los hay.
Uno de los primeros estándares de encriptación es DES, que significa
estándar de cifrado de datos.
DES fue diseñado en la década de 1970 por IBM,
con algunas aportaciones de la Agencia de Seguridad Nacional de los Estados Unidos.
DES fue adoptado como FIPS
—Estándar federal de procesamiento de información— oficial para los EE. UU.
Esto significa que el DES fue adoptado como norma federal para el cifrado
y protección de los datos del gobierno.
DES es un cifrado de bloque simétrico que usa tamaños de clave de 64 bits
y opera en bloques de 64 bits de tamaño.
Aunque el tamaño de la clave es, técnicamente, de 64 bits de longitud,
8 bits se utilizan solamente para la comprobación de paridad, una forma simple de
comprobación de errores.
Esto significa que la longitud real de la clave para DES es solo de 56 bits.
Reproduce el video desde :1:18 y sigue la transcripción1:18
Una nota rápida sobre los tamaños de clave de encriptación, ya que todavía no
hablamos de eso.
En algoritmos de encriptación simétrica,
la misma clave se utiliza para encriptar y desencriptar, todo lo demás es lo mismo.
Reproduce el video desde :1:30 y sigue la transcripción1:30
La clave es la pieza única que protege tus datos y la clave simétrica debe mantenerse
en secreto
para garantizar la confidencialidad de los datos que se protegen.
El tamaño de la clave, definido en bits, es el número total de bits
o de datos que conforman la clave de encriptación.
Puedes pensar en el tamaño de la clave como el límite superior
para el total de claves posibles para un algoritmo de encriptación dado.
La longitud de la clave es importantísima en criptografía, ya que básicamente
define la resistencia potencial máxima del sistema.
Imagina un algoritmo de encriptación simétrica ideal que no tenga defectos
ni debilidades intrínsecas.
En esta situación, la única manera posible en que un adversario vulnere tu
encriptación
sería atacar la clave en lugar del algoritmo.
Un método de ataque es, justamente, adivinar la clave y ver si el mensaje se decodifica
de manera correcta.
Esto se conoce como ataque de fuerza bruta.
Las claves más largas protegen contra este tipo de ataque.
Tomemos como ejemplo la clave DES.
64 bits de longitud menos los 8 bits de paridad nos da una longitud de clave de 56 bits.
Esto significa que hay un máximo de 2 a la potencia 56 (2^56),
o 72,000 billones de claves posibles.
Eso parece una inmensidad de claves, y en la década del 70, lo era.
Pero a medida que la tecnología avanzó y las computadoras se volvieron más rápidas y
eficientes,
las claves de 64 bits rápidamente resultaron ser demasiado pequeñas.
Lo que antes eran solo ataques teóricos sobre un tamaño de clave
se hizo realidad en 1998 cuando la EFF, Electronic Frontier Foundation,
desencriptó un mensaje con encriptación DES en tan solo 56 horas.
Debido a la fragilidad inherente del pequeño tamaño de la clave DES,
se diseñaron y propusieron algoritmos de reemplazo.
Aparecieron varios nuevos en los años 1980 y 1990.
Muchos mantuvieron el tamaño de bloque de 64 bits, pero usan un tamaño de clave
mayor,
lo que permite el reemplazo más fácil de DES.
En 1997, el NIST, Instituto Nacional de Normas y Tecnología de los EE. UU.,
quiso reemplazar DES con un nuevo algoritmo, y en 2001,
adoptó AES, o estándar de cifrado avanzado, después de un concurso internacional.
AES es también el primer y único cifrado público aprobado para su uso
con información súper secreta por la Agencia de Seguridad Nacional de los Estados
Unidos.
AES es también un cifrado en bloque simétrico, similar a DES, al cual reemplazó.
Pero AES usa bloques de 128 bits, el doble del tamaño de los bloques DES,
y admite longitudes de clave de 128 bits, 192 bits o 256 bits.
Debido al gran tamaño de la clave, los ataques de fuerza bruta a AES son solo teóricos
por ahora,
porque la potencia de cálculo requerida (o el tiempo requerido usando tecnología
moderna)
supera cualquier cosa factible en la actualidad.
Quiero señalar que estos algoritmos son, en sí mismos, los diseños generales
de los cifrados.
Estos diseños, entonces, deben implementarse en cualquier software o hardware
antes de que las funciones de encriptación puedan aplicarse y usarse.
Algo importante a tener en cuenta al considerar diversos algoritmos de encriptación
es su velocidad y facilidad de implementación.
De manera ideal, un algoritmo no debería ser demasiado difícil de implementar
porque una implementación complicada puede dar lugar a errores
y a la pérdida potencial de seguridad.
La velocidad es importante porque, a veces, los datos se encriptarán
haciéndolos pasar a través del cifrado varias veces.
Estos tipos de operaciones criptográficas terminan siendo realizadas
muy a menudo por dispositivos, por lo que cuanto más rápido se las pueda lograr
con un mínimo impacto al sistema, mejor.
Es por esto que algunas plataformas implementan estos algoritmos criptográficos en el
hardware
para acelerar los procesos y eliminar algo de la carga de la CPU.
Por ejemplo, las CPU modernas de Intel o AMD
tienen instrucciones AES incorporadas en las propias CPU.
Esto permite una velocidad computacional
y una eficiencia mucho mayores al operar con cargas de trabajo criptográficas.
Hablemos brevemente de lo que alguna vez fue un algoritmo muy usado y popular,
pero desde entonces se ha demostrado que es débil y se desaconseja su uso.
RC4, o Rivest Cipher 4, es un cifrado de flujo simétrico
que fue adoptado generalizadamente debido a su sencillez y velocidad.
RC4 admite tamaños de clave desde 40 bits a 2,048 bits.
La debilidad de RC4 no se debe a los ataques de fuerza bruta,
sino a que el cifrado en sí tiene debilidades y vulnerabilidades inherentes
que no solo son teóricamente posibles. Hay muchos ejemplos de RC4 descifrados.
Un ejemplo reciente de RC4 descifrado es el ataque RC4 NOMORE.
Este ataque fue capaz de recuperar una cookie de autenticación
de una conexión con encriptación TLS en tan solo 52 horas.
Como este es un ataque al mismísimo cifrado RC4,
cualquier protocolo que use este cifrado es potencialmente vulnerable al ataque.
Aun así, RC4 se usó en un montón de protocolos de encriptación populares,
como WEP para encriptación inalámbrica y WPA, el sucesor de WEP.
También se lo admitió en SSL y TLS hasta 2015, cuando RC4 fue descartado
en todas las versiones de TLS a causa a sus debilidades inherentes.
Por este motivo, los navegadores más importantes descartaron por completo la
compatibilidad con RC4,
junto con todas las versiones de SSL, y usan TLS en su lugar.
La configuración segura preferida es TLS 1.2 con AES GCM,
un modo específico de operación
para el cifrado de bloques AES que, básicamente, lo convierte en un cifrado de flujo.
GCM, o modo Galois/contador, trabaja tomando un valor inicial aleatorizado,
aumentándolo y encriptando el valor,
lo que crea bloques de texto cifrado secuencialmente numerados.
Luego se incorporan los textos cifrados al texto sin formato que se encriptará.
GCM es muy popular debido a que su seguridad se basa en la encriptación AES,
junto con su desempeño, y el hecho de que puede ejecutarse en paralelo con gran
eficacia.
Puedes leer más sobre el ataque RC4 NOMORE en la siguiente lectura.
Ahora que vimos la encriptación simétrica
y algunos ejemplos de algoritmos de encriptación simétrica, ¿cuáles son los beneficios
o las desventajas de usar encriptación simétrica?
Debido a la naturaleza simétrica del proceso de encriptación y desencriptación,
su implementación y su mantenimiento son relativamente sencillos.
Ese es un secreto compartido que debes mantener y proteger.
Piensa en tu contraseña de Wi-Fi en casa.
Hay un secreto compartido, tu contraseña de Wi-Fi,
que permite que todos los dispositivos se conecten.
¿Te imaginas tener una contraseña de Wi-Fi específica para cada uno de tus
dispositivos?
Eso sería una pesadilla, además de dificilísimo de rastrear.
Los algoritmos simétricos también son muy rápidos y eficientes para encriptar
y desencriptar grandes lotes de datos.
¿Cuáles son las desventajas de usar cifrado simétrico?
Si bien tener un secreto compartido que encripta y desencripta
parece conveniente desde el inicio, esto en realidad puede presentar algunas
complicaciones.
¿Qué ocurre si tu secreto se pone en riesgo?
Imagina que te roben tu contraseña de Wi-Fi y ahora tienes que cambiarla.
Tienes que actualizar tu contraseña de Wi-Fi en todos tus dispositivos
y en cualquier dispositivo que tus amigos o tu familia podrían traer.
¿Qué tienes que hacer cuando un amigo o un familiar vienen de visita
y quieren conectarse a tu Wi-Fi?
Debes proporcionarles tu contraseña de Wi-Fi,
o el secreto compartido que protege tu red Wi-Fi.
Esto generalmente no es un problema, ya que es de esperar que conozcas a la
persona
tú confías en ella, y por lo general es solo una o dos personas a la vez.
¿Pero qué tal si tuvieras una fiesta en tu casa con 50 extraños?
Nota al margen, ¿por qué tendrías una fiesta en tu casa con 50 extraños?
De todos modos, ¿cómo pudiste darle la contraseña de Wi-Fi
solo a las personas en las que confías sin que los extraños la escucharan?
Las cosas podrían ponerse realmente peligrosas en poco tiempo.
En la próxima lección, exploraremos otras formas, aparte de los algoritmos de clave
simétrica, para proteger los datos y la información.