🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónVectores de inicialización y nonces reutilizados
5 tareas · 45 min · Principiante
Un buen algoritmo con una buena clave sigue fallando si el valor que lo acompaña en cada mensaje se repite. El vector de inicialización y el nonce son públicos, viajan junto al cifrado y por eso parecen un detalle; en la revisión de código son de lo primero que se mira. Nómina Hatogrande cifra los desprendibles en una bóveda con dos instancias y los reportes para contadores con otra pieza. Te entregan el código de las dos, el registro de la bóveda, los despliegues de noviembre y unas muestras de exporte.
Objetivo de la sala
Un buen algoritmo con una buena clave sigue fallando si el valor que lo acompaña en cada mensaje se repite. El vector de inicialización y el nonce son públicos, viajan junto al cifrado y por eso parecen un detalle; en la revisión de código son de lo primero que se mira. Nómina Hatogrande cifra los desprendibles en una bóveda con dos instancias y los reportes para contadores con otra pieza. Te entregan el código de las dos, el registro de la bóveda, los despliegues de noviembre y unas muestras de exporte.Cada modo de cifrado exige algo distinto. CBC pide un vector de inicialización impredecible para cada mensaje: si es fijo, dos mensajes que empiezan igual producen el mismo primer bloque cifrado, y quien observa los archivos aprende qué tienen en común sin descifrar nada. CTR y GCM piden un nonce que no se repita jamás con la misma clave; no hace falta que sea secreto ni impredecible, pero repetirlo es grave.
En CTR y GCM, el nonce y la clave determinan la secuencia con la que se mezcla el texto. Dos mensajes cifrados con la misma pareja comparten esa secuencia, y combinar sus cifrados elimina la secuencia y deja la combinación de los dos textos claros: con que uno sea conocido o adivinable, el otro queda expuesto. En GCM, además, la repetición permite deducir el valor interno con el que se calculan las etiquetas, y con él la garantía de integridad de esa clave deja de valer. MITRE recoge el primer caso como CWE-329, vector predecible en CBC, y el segundo como CWE-323, reutilizar la pareja de nonce y clave.
Responde para continuar
Dos documentos se cifraron con AES-GCM usando la misma clave y el mismo nonce. ¿Qué se perdió?
Ver pista de ayuda
Repasa qué determinan juntos el nonce y la clave en un modo de contador.
Abre el laboratorio. Empieza por las dos piezas de código y busca de dónde sale el vector o el nonce en cada una. Después mira muestras-exporte.txt: tres exportes de empresas y fechas distintas empiezan por los mismos bytes cifrados.
Responde para continuar
¿Qué archivo de código cifra con un vector de inicialización constante? Escribe su nombre con la extensión.
Ver pista de ayuda
Busca una llamada que fabrique dieciséis bytes iguales.
Un nonce armado con un contador es una forma legítima de garantizar que no se repite, con una condición: el contador nunca puede volver atrás mientras la clave sea la misma. Si vive en la memoria del proceso, cada reinicio lo devuelve al principio. El prefijo por instancia evita que dos instancias choquen entre sí, pero no protege a una instancia de sí misma.
Lee BovedaDesprendibles.php, despliegues.txt y registro-boveda.txt. Fíjate en qué pasó con los contadores después de cada arranque y con qué clave se cifraba en ese momento.
Responde para continuar
¿Qué instancia de la bóveda volvió a cifrar con un contador que ya había usado bajo la misma clave? Escríbela tal como aparece en el registro.
Ver pista de ayuda
Un reinicio solo es peligroso si después se alcanzan contadores ya usados con la clave que sigue vigente.
Ahora mide. Un documento cuenta si su pareja de instancia, contador y clave ya había aparecido antes en el registro. No cuentes los que repiten un contador con una clave distinta: después de una rotación, el mismo contador con otra clave produce un nonce que nunca se usó con esa clave.
Responde para continuar
¿Cuántos desprendibles se cifraron con un nonce que ya se había usado antes con la misma clave?
Ver pista de ayuda
Recorre el registro por instancia y por clave, anotando los contadores que ya salieron.
La nota del equipo dice que el contador «solo sube». Es verdad dentro de un proceso, y es justo lo que el registro desmiente entre procesos. El arreglo tiene dos partes: que no vuelva a pasar y qué hacer con lo que ya pasó.
Responde para continuar
¿Qué plan corrige la bóveda de desprendibles?
Ver pista de ayuda
Una fecha en el prefijo no evita dos reinicios el mismo día, y atar los reinicios a la rotación no es un control que el código garantice.
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.