🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónEl almacén de claves de Android (Keystore)
5 tareas · 40 min · Principiante
El Android Keystore existe para que una aplicación pueda usar una clave sin llegar a leerla. Si la clave nace dentro del almacén y se ata al hardware seguro, ni siquiera una aplicación comprometida puede llevársela. Pero el almacén solo protege lo que se le encarga bien: una clave importada desde el código, un nivel de seguridad por software o un plan B que guarda el dato en claro lo deshacen. Esta sala lee el inventario de claves de Vereda Ahorro (una aplicación ficticia de la Cooperativa Ahorro Vereda) y el código que guarda el token, ya extraídos de un dispositivo de pruebas con autorización, y separa lo que está bien hecho de lo que se reporta.
Objetivo de la sala
El Android Keystore existe para que una aplicación pueda usar una clave sin llegar a leerla. Si la clave nace dentro del almacén y se ata al hardware seguro, ni siquiera una aplicación comprometida puede llevársela. Pero el almacén solo protege lo que se le encarga bien: una clave importada desde el código, un nivel de seguridad por software o un plan B que guarda el dato en claro lo deshacen. Esta sala lee el inventario de claves de Vereda Ahorro (una aplicación ficticia de la Cooperativa Ahorro Vereda) y el código que guarda el token, ya extraídos de un dispositivo de pruebas con autorización, y separa lo que está bien hecho de lo que se reporta.Según la documentación de Android, el material de una clave del Keystore nunca entra en el proceso de la aplicación: las operaciones criptográficas ocurren en un proceso del sistema, así que, si la aplicación se compromete, el atacante puede pedir que se use la clave mientras dure el compromiso, pero no puede copiarla. Además, la clave puede quedar atada a hardware seguro (un entorno de ejecución de confianza o un elemento seguro dedicado), de modo que ni siquiera un sistema comprometido o el contenido del almacenamiento la entregan.
Lo que no garantiza: que una aplicación comprometida no pueda usar la clave en el momento. Por eso se combina con exigir la autenticación del usuario en cada operación importante.
Responde para continuar
¿Qué protege el Keystore de Android de una aplicación comprometida?
Ver pista de ayuda
Diferencia entre usar una clave y llevársela.
El volcado de propiedades de una clave incluye su nivel de seguridad: entorno de ejecución de confianza, elemento seguro dedicado (StrongBox) o software. Una clave a nivel de software vive en el sistema operativo y pierde la parte «atada al hardware» de la garantía. A veces es inevitable (dispositivos antiguos, emuladores); lo que se reporta es que una clave que protege datos importantes quedó en software y que nadie lo supo hasta mirar.
Abre el laboratorio y lee el inventario del Keystore.
Responde para continuar
¿Qué alias del Keystore quedó a nivel de seguridad de software?
Ver pista de ayuda
Mira la columna NIVEL DE SEGURIDAD; solo una fila no menciona un entorno seguro.
Una clave puede exigir que el usuario se autentique (biometría fuerte o credencial del dispositivo) antes de cada uso. Con esa exigencia, aunque una aplicación comprometida pida firmar, la firma no sale sin que la persona confirme en el dispositivo. Para operaciones que mueven dinero o autorizan cambios, es la configuración esperada; para una clave que solo cifra una caché no hace falta, y exigirla estorbaría. El criterio es el valor de lo que la clave autoriza.
Responde para continuar
La clave que firma transferencias exige biometría fuerte en cada operación. ¿Qué aporta esa configuración?
Ver pista de ayuda
La exigencia se comprueba en cada uso, no al guardar la clave.
Una clave generada en el almacén nunca estuvo fuera de él. Una clave importada pasó por algún sitio antes: por la memoria de la aplicación y, muy probablemente, por una constante del código, un archivo o una respuesta del servidor. El almacén custodia la copia, pero la clave ya pudo haberse visto. En el informe se anota el alias y se busca de dónde salió el material importado.
Lee el inventario y localiza la clave cuyo origen no es el propio almacén.
Responde para continuar
¿Qué alias del Keystore tiene origen importado?
Ver pista de ayuda
La columna ORIGEN distingue entre claves generadas dentro y claves entregadas desde fuera.
Un almacén seguro con un plan B inseguro es un almacén inseguro: si el cifrado falla y el código escribe el token en claro «para no perder la sesión», quien provoque el fallo (o simplemente un dispositivo con el almacén dañado) consigue el token sin cifrar. El principio es fallar cerrado: ante un error del almacén, no se guarda el dato, se pide iniciar sesión de nuevo y se registra el fallo sin el dato.
Lee el extracto del código que guarda el token en el laboratorio antes de responder.
Responde para continuar
Si el Keystore falla, el código escribe el token de sesión en claro en las preferencias. ¿Cómo se trata?
Ver pista de ayuda
Un plan B inseguro es el camino más corto para quien quiera el token.
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.