Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Errores de manejo de claves en el código

5 tareas · 40 min · Principiante

Con el modo y el nonce bien elegidos, el cifrado todavía puede fallar por cómo el código trata la clave: escrita en un fichero, repetida entre entornos, usada para dos cosas distintas o sin que el sobre diga cuál fue. En esta sala lees el código de ejemplo del módulo de sellado de Marimba Seguros y localizas cada uno de esos descuidos. Las claves que ves son marcadores ficticios; no hay ninguna credencial real y nada se ejecuta.

0 de 5 · 0%

Objetivo de la sala

Con el modo y el nonce bien elegidos, el cifrado todavía puede fallar por cómo el código trata la clave: escrita en un fichero, repetida entre entornos, usada para dos cosas distintas o sin que el sobre diga cuál fue. En esta sala lees el código de ejemplo del módulo de sellado de Marimba Seguros y localizas cada uno de esos descuidos. Las claves que ves son marcadores ficticios; no hay ninguna credencial real y nada se ejecuta.

Una clave debería servir para una sola cosa y vivir en un solo entorno. Si la misma clave cifra y calcula códigos de autenticación, un fallo en una de las dos funciones compromete la otra. Si la clave de pruebas es la de producción, cualquier persona o sistema de pruebas con acceso a ella puede abrir datos reales.

La forma de evitarlo es derivar una subclave por propósito a partir de una clave maestra, y tener claves distintas por entorno, entregadas por el despliegue y no escritas en el código.

Responde para continuar

¿Por qué no conviene usar la misma clave para cifrar y para calcular códigos de autenticación?

Ver pista de ayuda

Piensa en qué pasa con todo lo demás cuando una sola clave se filtra o se usa mal en un lugar.

Una clave escrita en el código se copia con el repositorio: a las ramas, a los equipos, a las copias de seguridad, al historial. Una vez ahí, quitarla de la última versión no la quita del pasado. Al leer código de ejemplo, la señal es una constante con aspecto de clave dentro de un fichero versionado.

El módulo tiene una constante así. Localiza el fichero que la contiene; el resto de los ficheros de la carpeta no la tienen escrita.

Responde para continuar

¿En qué fichero del repositorio del módulo está escrita la clave de cifrado?

Ver pista de ayuda

Abre los ficheros de /srv/marimba/codigo y busca el que está marcado como versionado en el repositorio.

El fichero de entornos lista la clave que el despliegue entrega a cada uno. Cuando dos entornos reciben la misma, el entorno menos protegido —pruebas, con más personas y menos controles— pasa a ser la puerta al más protegido. Es un hallazgo que no se ve en el código sino en la configuración del despliegue.

Hay tres entornos y tres claves; no todas son distintas.

Responde para continuar

¿Qué valor de clave comparten pruebas y producción?

Ver pista de ayuda

Abre entornos.txt y compara la columna de clave de las dos filas.

El fichero de usos lista qué función usa qué clave. La señal de alarma es una misma clave que aparece en funciones de naturaleza distinta: una que cifra y otra que calcula un código de autenticación. La corrección es separar con subclaves derivadas por propósito, no inventar un esquema nuevo.

Responde para continuar

¿Qué función usa la misma clave que sellar_nota pero para calcular un código de autenticación?

Ver pista de ayuda

Abre usos-de-la-clave.txt y mira qué otra función usa la misma clave maestra.

Una clave se rota, y los sobres viejos siguen existiendo. Si el sobre no lleva un identificador de clave, al abrir hay que adivinar con cuál se selló, o probar una tras otra. Con el identificador, el sistema sabe qué clave pedir al gestor, la rotación no rompe lo guardado y se sabe qué sobres siguen bajo una clave que hay que retirar.

Compara el formato actual con el propuesto en formato-del-sobre.txt.

Responde para continuar

¿Qué resuelve añadir el identificador de clave al sobre?

Ver pista de ayuda

Piensa en lo que ocurre un año después, cuando hay sobres sellados con claves distintas.

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