Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Integridad que resiste a un atacante

4 tareas · 20 min · Principiante

La sala anterior separó tres propiedades; esta mira de cerca la que más se da por hecha: la integridad. No es una sola cosa. Detectar que un dato se corrompió por accidente y detectar que alguien lo cambió a propósito son dos listones muy distintos, y la herramienta que basta para el primero no sirve para el segundo. En CifraLab varios servicios dicen «aquí va el dato con su hash, así nadie lo cambia». Tu trabajo es preguntar contra quién: contra un cable con ruido, o contra alguien que quiere engañar al que recibe. De esa pregunta sale si hace falta un hash a secas, un código de autenticación con clave, o una firma.

0 de 4 · 0%

Objetivo de la sala

La sala anterior separó tres propiedades; esta mira de cerca la que más se da por hecha: la integridad. No es una sola cosa. Detectar que un dato se corrompió por accidente y detectar que alguien lo cambió a propósito son dos listones muy distintos, y la herramienta que basta para el primero no sirve para el segundo. En CifraLab varios servicios dicen «aquí va el dato con su hash, así nadie lo cambia». Tu trabajo es preguntar contra quién: contra un cable con ruido, o contra alguien que quiere engañar al que recibe. De esa pregunta sale si hace falta un hash a secas, un código de autenticación con clave, o una firma.

Un servicio de CifraLab publica un dato junto a su SHA-256 «para que nadie lo cambie». Contra un error de transmisión funciona: si un bit se voltea por el camino, el hash deja de cuadrar y se nota. Contra un atacante no protege nada. Quien puede cambiar el dato también puede cambiar el hash que va al lado: altera el contenido, recalcula el SHA-256 del contenido nuevo, lo pega, y el que recibe comprueba y todo cuadra. Un hash es público y lo calcula cualquiera, así que por sí solo no distingue un cambio legítimo de uno malicioso.

La integridad frente a un adversario necesita algo que el atacante no tenga: un secreto. El hash a secas no lo tiene.

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 dato se publica junto a su SHA-256 «para que nadie lo cambie». ¿Protege contra un atacante que puede modificar el dato?

Ver pista de ayuda

El atacante que cambia el dato también cambia el hash de al lado. Para pararlo hace falta algo que él no tenga.

Lo que convierte un hash en una defensa frente a un atacante es una clave. Un código de autenticación de mensaje —un MAC, como HMAC-SHA256— mezcla el dato con una clave secreta compartida entre quien envía y quien recibe. Sin la clave no se puede generar el valor correcto, así que un atacante que cambie el dato no sabe producir el MAC que cuadre. Eso da integridad y autenticidad a la vez: el que recibe sabe que el dato no cambió y que vino de alguien que tiene la clave. Es el patrón correcto cuando las dos partes comparten un secreto y confían la una en la otra.

El salto del hash al MAC es exactamente el salto de «detectar accidentes» a «resistir a alguien que quiere engañarme».

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

Dos servicios comparten una clave secreta y quieren que ninguno acepte un dato alterado del otro. ¿Qué usan?

Ver pista de ayuda

Lo que para a un atacante es un secreto que él no tiene. Un MAC mete una clave compartida dentro de la comprobación.

El MAC tiene un límite: todo el que puede verificar también puede generar, porque comparten la misma clave. Para difundir un dato a muchos que deben poder comprobar su origen sin poder falsificarlo —una actualización publicada, un aviso firmado— el MAC no encaja: tendrías que dar la clave a todos, y entonces cualquiera firmaría en tu nombre. Ahí entra la firma: se genera con una clave privada que solo tiene el emisor, y se verifica con la pública, que puede tener cualquiera. Añade algo que el MAC no da: no-repudio, la prueba de que fue ese emisor y no otro, verificable por quien no comparte ningún secreto con él.

MAC cuando las dos partes comparten clave y confían; firma cuando el que verifica no debe poder falsificar. La primitiva se elige por quién necesita verificar.

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 difunde avisos a muchos receptores que deben comprobar que vienen de él, sin poder falsificarlos. ¿MAC o firma?

Ver pista de ayuda

Con un MAC, quien verifica también puede generar. Para que muchos comprueben sin poder falsificar, hace falta la clave pública de una firma.

Separaste tres niveles de integridad: el hash que detecta accidentes, el MAC que resiste a un atacante con clave compartida, y la firma que prueba el origen ante quien no comparte secreto. Esta verificación no se aprueba leyendo: abre el laboratorio, revisa los tres usos de integridad y lee el código que la auditoría dejó anotado 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 tres usos de integridad. 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 teoría de la sala.

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