Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Vectores 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.

0 de 5 · 0%

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.

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

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