Android Keystore – ¿se puede recuperar una clave de usuario por root si se establece en ese usuario?

Desde Android 4.3, Android tiene su propio almacén de claves donde puedo almacenar claves y usarlas más tarde para el cifrado / descifrado.

Se dice aquí y aquí que cada clave sólo puede ser recuperada por su propietario y ni siquiera la raíz puede obtenerlo.

Mi pregunta es: ¿No podría escribir un programa que cambiaría mi uid al propietario de la clave, lo recuperaría y luego lo usaría para descifrar datos a los que no debería tener acceso?

Editar: Añadido cita a keystore doc.

Es cierto que normalmente una clave sólo puede ser recuperada por el usuario que la almacenó.

Ver por ejemplo: http://nelenkov.blogspot.se/2011/11/using-ics-keychain-api.html

Si un dispositivo está enraizado, las claves todavía no se pueden recuperar a menos que el atacante también tenga la contraseña.

Si el atacante ha arraigado el dispositivo y tiene la contraseña o el dispositivo está desbloqueado, se acaba el juego.

"¿No podría escribir un programa que cambiaría mi uid al propietario de la clave, la recuperaría y luego la usaría para descifrar datos a los que no debería tener acceso?"

Los UID se asignan a aplicaciones individuales en el momento de la instalación. Una aplicación de Android no puede cambiar su UID.

  • Prevención de la piratería de la aplicación android
  • ¿Cómo evitar mostrar la pantalla de consentimiento en nuestras propias aplicaciones nativas cuando la autenticación externa?
  • Dónde encontrar el usuario instalado certificado android 4.0 y superior
  • Esquema de autenticación para una aplicación de Android: cuando la tarjeta SIM está bloqueada o cambiada por otra, la aplicación deja de funcionar
  • ¿Existe una forma más segura de almacenar la cadena sensible en un proyecto de Android?
  • Cómo proteger las preferencias compartidas de Android?
  • ¿Qué protege las contraseñas de AccountManager de Android de ser leídas por otras aplicaciones?
  • ¿Cómo almacenar módulo, exponente público y exponente privado de forma segura en Android?
  • Android - Almacenamiento seguro
  • Android obfuscation código y la aplicación segura de Android de la piratería
  • Cómo proteger la llamada a webservice en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.