Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Cifrado autenticado de verdad

4 tareas · 25 min · Principiante

La sala anterior dejó claro que el modo importa. Esta mira el error más silencioso del cifrado simétrico: cifrar sin autenticar. Un dato cifrado con un modo que no comprueba integridad se puede alterar sin descifrarlo, y el sistema que lo recibe no se entera. Por eso la recomendación de hoy no es solo «no uses ECB», es «usa cifrado autenticado». En CifraLab hay servicios que cifran con un modo sin autenticación, otros que le pegan la comprobación en el orden equivocado, y uno que lo hace bien con un modo AEAD. Tu trabajo es ver cuál detecta una manipulación y cuál la deja pasar.

0 de 4 · 0%

Objetivo de la sala

La sala anterior dejó claro que el modo importa. Esta mira el error más silencioso del cifrado simétrico: cifrar sin autenticar. Un dato cifrado con un modo que no comprueba integridad se puede alterar sin descifrarlo, y el sistema que lo recibe no se entera. Por eso la recomendación de hoy no es solo «no uses ECB», es «usa cifrado autenticado». En CifraLab hay servicios que cifran con un modo sin autenticación, otros que le pegan la comprobación en el orden equivocado, y uno que lo hace bien con un modo AEAD. Tu trabajo es ver cuál detecta una manipulación y cuál la deja pasar.

Un servicio de CifraLab cifra con AES en modo CBC y no añade ninguna comprobación de integridad. CBC oculta el contenido, pero no detecta cambios: un atacante que no puede leer el texto cifrado todavía puede manipular bloques y voltear bits concretos, y el sistema descifra el resultado alterado sin notar nada. En la práctica esto abre ataques donde, observando cómo responde el servicio a textos cifrados modificados, se llega a descifrar o falsificar datos. El arreglo no es cambiar de algoritmo —AES está bien— sino añadir autenticación: pasar a un modo que compruebe integridad al descifrar, o combinar el cifrado con un MAC bien puesto.

El fallo es tratar «cifrado» como si fuera «cifrado y protegido de cambios»: son dos cosas, y CBC a secas solo da la primera.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

Un servicio cifra con AES-CBC y no comprueba integridad al descifrar. ¿Qué problema tiene?

Ver pista de ayuda

CBC oculta el contenido pero no comprueba cambios. Sin autenticación, se altera el texto cifrado a ciegas.

Otro servicio sí añade un MAC al cifrado CBC, pero lo calcula sobre el texto plano antes de cifrar, y comprueba el MAC después de descifrar. El orden importa: si primero descifras y luego verificas, procesas un texto cifrado que un atacante pudo alterar antes de saber si es legítimo, y ese procesamiento es justo lo que filtra información. El orden seguro es cifrar primero y calcular el MAC sobre el texto cifrado (cifrar-luego-autenticar): al recibir, se verifica el MAC antes de descifrar nada, y un texto alterado se rechaza sin tocarlo. Armar esto a mano es fácil de equivocar; por eso en la práctica se prefiere un modo que ya traiga las dos cosas integradas.

El fallo es sutil: el mismo MAC, en el orden equivocado, deja una rendija que el orden correcto cierra.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

Un servicio calcula el MAC sobre el texto plano y lo verifica después de descifrar. ¿Cuál es el orden seguro?

Ver pista de ayuda

Verificar antes de descifrar evita procesar un texto cifrado manipulado. El orden seguro autentica el texto cifrado.

El servicio que lo hace bien usa un modo AEAD —cifrado autenticado con datos asociados, como AES-GCM o ChaCha20-Poly1305—, que cifra y autentica en una sola operación, sin que nadie tenga que acordarse del orden. Además aprovecha los «datos asociados»: información que no se cifra pero sí se autentica junto al dato, como el identificador del registro o el contexto al que pertenece. Eso impide un ataque clásico: tomar un texto cifrado legítimo de un registro y pegarlo en otro. Si el contexto va en los datos asociados, un texto cifrado movido a otro registro falla la verificación. Es el patrón correcto: AEAD para cifrar y autenticar de una vez, y los datos asociados para atar el texto cifrado a su contexto.

Un modo AEAD con sus datos asociados cierra a la vez los dos huecos anteriores: la falta de autenticación y el orden mal hecho.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

Un servicio cifra con AES-GCM y pone el identificador del registro en los datos asociados. ¿Para qué sirve eso?

Ver pista de ayuda

Los datos asociados se autentican pero no se cifran. Atan el texto cifrado a su contexto para que no se reutilice en otro.

Viste cifrado sin autenticar, el MAC en el orden equivocado y un modo AEAD con datos asociados bien usado. Abre el laboratorio, recorre esos tres servicios y lee el código que la auditoría anotó al cerrar la sala.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

Abre el laboratorio y revisa los usos de cifrado autenticado. En las notas de auditoría de la sala queda anotado un código. Escríbelo tal cual.

Formato esperado: CIF-____

Ver pista de ayuda

El código está en el archivo de notas de la auditoría del escenario, no en la configuración de cada servicio.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Preparando el escritorio…

16:24
Terminal (user@whoami)
user@whoami:~$
Tab Autocompletar ↑/↓ Historial
bash 5.2.21
Whoami-Labs OS v3.0.1 LTS · build bcc89e

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad