🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónErrores 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.
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.
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.