🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónVerificar una firma bien
4 tareas · 25 min · Principiante
La sala anterior resolvió con qué clave se firma y con cuál se cifra. Pero firmar bien no sirve de nada si el que verifica lo hace mal, y ahí es donde se cuelan los fallos de verdad. Una firma «válida» solo dice que la clave que la generó cuadra con la pública que te dieron para comprobarla; no dice que esa clave sea de quien crees. En CifraLab varios servicios verifican firmas, y la comprobación tiene agujeros: aceptan la clave que venga pegada al mensaje, firman con claves demasiado débiles, o dejan que el propio mensaje diga con qué algoritmo verificarse. Tu trabajo es decir cuándo una firma válida no prueba nada.
Objetivo de la sala
La sala anterior resolvió con qué clave se firma y con cuál se cifra. Pero firmar bien no sirve de nada si el que verifica lo hace mal, y ahí es donde se cuelan los fallos de verdad. Una firma «válida» solo dice que la clave que la generó cuadra con la pública que te dieron para comprobarla; no dice que esa clave sea de quien crees. En CifraLab varios servicios verifican firmas, y la comprobación tiene agujeros: aceptan la clave que venga pegada al mensaje, firman con claves demasiado débiles, o dejan que el propio mensaje diga con qué algoritmo verificarse. Tu trabajo es decir cuándo una firma válida no prueba nada.Un servicio de CifraLab recibe un mensaje firmado junto con la clave pública para verificarlo, y acepta el mensaje si la firma cuadra con esa clave. El agujero es enorme: un atacante genera su propio par de claves, firma el mensaje que quiera con su privada, y adjunta su pública. La firma «es válida» —cuadra con la clave que vino pegada— pero no prueba nada sobre el origen, porque el que verifica confió en la clave que le dio el propio mensaje. Verificar una firma solo tiene sentido contra una clave en la que ya confías por otra vía: una clave fijada de antemano, o un certificado que una autoridad de confianza vincula a esa identidad. El arreglo es verificar contra la clave esperada, no contra la que llega adjunta.
El fallo es cerrar el círculo con el atacante dentro: el mensaje trae su propia clave de verificación, así que cualquiera «firma válido».
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.
Responde para continuar
Un servicio verifica la firma de un mensaje con la clave pública que viene pegada a ese mismo mensaje. ¿Cuál es el fallo?
Ver pista de ayuda
Si el mensaje trae su propia clave de verificación, cualquiera firma «válido». La clave tiene que venir de una fuente de confianza.
Otro servicio firma con una clave RSA de 1024 bits que lleva años en uso. El tamaño de clave no es un detalle: las claves que se consideraban suficientes hace una década hoy están al alcance, y una firma hecha con una clave débil se puede llegar a falsificar sin tener la privada. Lo mismo pasa con algoritmos de firma que ya se dieron por superados. El criterio es usar tamaños y algoritmos vigentes —RSA de al menos 2048 bits, o curvas elípticas modernas— y tratar el material de firma como algo que caduca: se revisa y se renueva, no se deja «porque siempre funcionó». El arreglo es migrar a una clave de tamaño y algoritmo actuales y retirar la vieja.
El fallo no está en el acto de firmar: está en firmar con una llave que el tiempo ya volvió forzable.
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.
Responde para continuar
Un servicio firma con una clave RSA de 1024 bits usada desde hace años. ¿Cuál es el arreglo?
Ver pista de ayuda
Las claves suficientes de hace una década hoy están al alcance. El tamaño y el algoritmo de firma caducan y se renuevan.
Un tercer servicio lee del propio mensaje qué algoritmo usar para verificar la firma, y acepta lo que el mensaje declare —incluido un valor que significa «sin firma»—. Eso deja al atacante elegir el camino más débil: declara un algoritmo roto, o directamente «ninguno», y la comprobación pasa sin firma real. Quien verifica no puede delegar en el mensaje la decisión de cómo comprobarse: el algoritmo de verificación se fija en el servicio, de antemano, y una firma que llega con otro algoritmo o sin él se rechaza. El arreglo es fijar el algoritmo esperado en el verificador y no aceptar que el mensaje lo cambie.
Es el mismo patrón del módulo anterior disfrazado: el que verifica confía en un dato que controla el atacante, esta vez el algoritmo en vez de la clave.
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.
Responde para continuar
Un servicio verifica la firma con el algoritmo que el propio mensaje declara, y acepta incluso «sin firma». ¿Cuál es el arreglo?
Ver pista de ayuda
Si el mensaje elige cómo se verifica, el atacante elige el camino más débil. El algoritmo lo fija el verificador.
Viste tres formas de que una firma «válida» no pruebe nada: confiar en la clave adjunta, firmar con una clave débil y dejar que el mensaje elija el algoritmo. Abre el laboratorio, recorre esas tres verificaciones 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.
Responde para continuar
Abre el laboratorio y revisa las tres verificaciones de firma. 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 verificación.
Preparando el escritorio…
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
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.