Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

El llavero de iOS (Keychain) y dónde guardar cada dato

5 tareas · 35 min · Principiante

El llavero de iOS es el sitio previsto para guardar secretos pequeños, como un token o una clave, y su seguridad depende de un atributo que muchas aplicaciones dejan sin pensar: cuándo puede leerse el elemento y si viaja a otros dispositivos. Esta sala lee los atributos de los elementos que guarda Vereda Ahorro (la aplicación ficticia de la Cooperativa Ahorro Vereda) en un dispositivo de pruebas, ya extraídos con autorización, y el archivo donde el código guarda cada dato. Se aprende a distinguir las opciones de accesibilidad, a leer qué significa «solo en este dispositivo» y a detectar el dato sensible que acabó en el sitio equivocado. Todo es lectura, sin ejecutar nada.

0 de 5 · 0%

Objetivo de la sala

El llavero de iOS es el sitio previsto para guardar secretos pequeños, como un token o una clave, y su seguridad depende de un atributo que muchas aplicaciones dejan sin pensar: cuándo puede leerse el elemento y si viaja a otros dispositivos. Esta sala lee los atributos de los elementos que guarda Vereda Ahorro (la aplicación ficticia de la Cooperativa Ahorro Vereda) en un dispositivo de pruebas, ya extraídos con autorización, y el archivo donde el código guarda cada dato. Se aprende a distinguir las opciones de accesibilidad, a leer qué significa «solo en este dispositivo» y a detectar el dato sensible que acabó en el sitio equivocado. Todo es lectura, sin ejecutar nada.

Cada elemento del llavero lleva un atributo de accesibilidad que fija cuándo se puede leer. WhenUnlocked permite la lectura solo con el dispositivo desbloqueado. AfterFirstUnlock permite la lectura desde el primer desbloqueo después del arranque y hasta que se reinicie, incluso con la pantalla bloqueada: es lo que necesita una aplicación que refresca datos en segundo plano. Existe también una opción «Always» que permite leer siempre y que Apple marca como obsoleta.

La elección es un equilibrio entre protección y funcionamiento: se elige la más estricta que no rompa lo que la aplicación necesita.

Responde para continuar

Una aplicación necesita leer un token en segundo plano con la pantalla bloqueada. ¿Qué accesibilidad es razonable?

Ver pista de ayuda

La más estricta que no rompa el funcionamiento. Una opción rompe el segundo plano; otra es la obsoleta.

En una revisión se lista cada elemento con su accesibilidad. El que usa la opción obsoleta «Always» se puede leer incluso con el dispositivo bloqueado y recién arrancado, así que protege menos que cualquiera de las otras. Es hallazgo, y más cuanto más valioso sea lo que guarda. Se anota el servicio, la cuenta y el atributo, nunca el contenido.

Abre el laboratorio y lee los atributos de los elementos del llavero.

Responde para continuar

¿Qué cuenta del llavero se guardó con la accesibilidad obsoleta que permite leerla siempre?

Ver pista de ayuda

Recorre la tercera columna de la tabla; solo un valor es «siempre».

Las variantes ThisDeviceOnly de la accesibilidad impiden que el elemento viaje a otro aparato: no se restaura en un dispositivo nuevo a partir de una copia ni se sincroniza. Para un token de sesión o una clave atada a un aparato, es lo esperado. El costo de usabilidad es que, al cambiar de teléfono, hay que volver a iniciar sesión. Esa molestia es el precio de que un secreto no salga del dispositivo.

Responde para continuar

El token de refresco usa AfterFirstUnlockThisDeviceOnly. ¿Qué significa la parte final del nombre?

Ver pista de ayuda

«This device only» habla de a dónde puede ir el elemento, no de quién lo lee.

El llavero está pensado para secretos; las preferencias de la aplicación (UserDefaults) están pensadas para ajustes. Guardar el tema o el idioma ahí es correcto. Guardar un código de recuperación, un token o una clave deja ese dato en un archivo sin protección especial, que viaja en las copias de seguridad del dispositivo.

Lee el archivo que describe dónde guarda cada dato el código.

Responde para continuar

¿Qué archivo guarda un código de recuperación de cuenta en las preferencias de la aplicación?

Ver pista de ayuda

Mira qué guarda cada archivo, no cómo se llama.

Un elemento sincronizable viaja a los demás dispositivos de la misma cuenta del usuario mediante el llavero en la nube. Para contraseñas que la persona usa en todos sus aparatos es una ventaja. Para un token que autoriza pagos desde la aplicación, es una decisión de producto con consecuencia de seguridad: la superficie pasa de un dispositivo a todos los de esa cuenta.

El informe no impone una respuesta: la señala como decisión que debe tomarse a conciencia y documentarse, y recomienda lo más restrictivo si no hay razón de negocio.

Responde para continuar

El token de pasarela es WhenUnlocked y sincronizable, sin control de acceso. ¿Cómo se redacta?

Ver pista de ayuda

Evalúa lo que cambia al sincronizar: cuántos dispositivos pueden llegar a tener el token.

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