Android admite el hermoso concepto de Sandbox de aplicaciones , de modo que todas las aplicaciones se ejecutan como un usuario único y en su propia sandbox. El almacenamiento de datos local en un dispositivo no rooteado para aplicaciones no depurables normalmente no es accesible. Sin embargo, si el dispositivo está rooteado, el concepto de sandbox de la aplicación se colapsa y la aplicación instalada puede ejecutarse como un usuario "root" y, por lo tanto, acceder a los datos almacenados por cualquier otra aplicación en su directorio privado (/ data / data / package- nombre)
El almacenamiento del token como texto sin formato en el almacenamiento de datos local (SharedPreferences) no es una opción segura, ya que se puede acceder fácilmente a la misma desde un dispositivo no rooteado. Se recomienda que el token se cifre utilizando un algoritmo de cifrado seguro y una implementación segura en el almacenamiento de datos local.
- Use un algoritmo de cifrado seguro como AES-GCM-256 o ChaCha20-Poly1305 etc.
- Use PBKDF2 para la derivación de claves.
- Si es necesario, almacene la clave de cifrado en los almacenes de claves de Android.