Las contraseñas de Android utilizadas con la aplicación de correo electrónico incorporada se almacenan en texto plano dentro de una base de datos SQLite. Esto contrasta con la aplicación Gmail , que usa tokens de autenticación como se describe en la respuesta de Sachin Sekhar .
Para Jelly Bean, la ubicación de la base de datos es:
/data/system/users/0/accounts.db
La ubicación anterior varía con la versión de Android
Esta ubicación en un dispositivo no rooteado está asegurada y protegida por el sistema operativo.
En los dispositivos rooteados, los usuarios ya han descifrado técnicamente su propia seguridad, e incluso si no estuviera en texto plano, aún sería trivial descifrar ya que la clave debe existir en algún lugar del dispositivo para hacerlo.
Un miembro del equipo de desarrollo de Android publicó una explicación que hasta hoy todavía se aplica:
Ahora, con respecto a esta preocupación particular. Lo primero que hay que aclarar es que la aplicación de correo electrónico admite cuatro protocolos: POP3, IMAP, SMTP y Exchange ActiveSync, y con muy pocas excepciones muy limitadas, todos estos son protocolos más antiguos que requieren que el cliente presente la contraseña al servidor en cada conexión Estos protocolos requieren que retengamos la contraseña durante el tiempo que desee utilizar la cuenta en el dispositivo. Los protocolos más nuevos no hacen esto; es por eso que algunos de los artículos han estado en contraste con Gmail, por ejemplo. Los protocolos más nuevos permiten que el cliente use la contraseña una vez para generar un token, guardar el token y descartar la contraseña.
Le insto a que revise el artículo vinculado en el comentario # 38 , que está bien escrito y es bastante informativo. Proporciona algunos antecedentes muy buenos sobre la diferencia entre "ocultar" las contraseñas y hacerlas verdaderamente "seguras". Simplemente ocultar su contraseña (por ejemplo, base64) o encriptarla con una clave almacenada en otro lugar no hará que su contraseña o sus datos sean más seguros. Un atacante aún podrá recuperarlo.
(En particular, se han hecho algunas afirmaciones sobre algunos de los otros clientes de correo electrónico que no almacenan la contraseña en texto sin cifrar. Incluso cuando esto es cierto, no indica que la contraseña sea más segura. Una prueba simple: si puede iniciar el dispositivo y comenzará a recibir correo electrónico en sus cuentas configuradas, luego las contraseñas no son realmente seguras. Están ofuscadas o encriptadas con otra clave almacenada en otro lugar).
Además, dado que este problema parece molestar a muchos usuarios de Android, también puede seguir esta discusión en Slashdot: datos de contraseña de Android almacenados en texto sin formato .