Seguridad del administrador de cuentas de Android

He hecho esta pregunta antes, pero no obtuve respuestas adecuadas, así que aquí voy de nuevo. ¿Cómo implementa la seguridad el administrador de cuentas de Android que se utiliza para almacenar sus nombres de usuario y contraseñas de Google, Facebook, Twitter, etc.? Por ejemplo, si mi teléfono está rooteado, ¿una aplicación de terceros no puede leer las contraseñas de las cuentas de donde sea que estén? Me imagino que el administrador de la cuenta debe almacenar estas contraseñas en algún lugar del dispositivo, nuestro inicio de sesión no funcionaría, especialmente si el dispositivo no estuviera conectado. Gracias por tus explicaciones.

No podemos buscar en las fuentes, pero no necesariamente almacena contraseñas. Un token obtenido del servidor puede ser suficiente (y es lo que normalmente se usa; por lo tanto, al anular la autorización de un dispositivo, no necesita cambiar su contraseña, ya que simplemente invalida el token asignado).
Interesante, creo que ahora entiendo. Tal vez puedas hacer de eso una respuesta. Pero, ¿por qué las fuentes no están disponibles? Pensé que Android era de código abierto. Gracias.
Izzy, ¿el sistema que describes usa OpenID? Gracias.
Entonces, si estoy desconectado, ¿el administrador de cuentas será inútil para las aplicaciones fuera de línea?
Vea mi respuesta a continuación (tiempo para la limpieza de comentarios). No creo que esté usando OpenID, pero no puedo asegurarlo.

Respuestas (1)

No podemos investigar las fuentes del Administrador de cuentas de Google: mientras que Android en sí es de código abierto, las aplicaciones de Google no lo son. Pero podemos hacer una conjetura educada:

En este caso, no es necesario almacenar contraseñas en el dispositivo. Una vez que ingresa su contraseña, se confirma en el lado del servidor y recibe un "token de autenticación" a cambio. Ese token se guarda en el dispositivo y lo usa hasta que se vuelve inválido (ya sea por vencimiento o por revocación), en cuyo caso se le pedirá nuevamente su contraseña y el juego comenzará de nuevo. Es por eso que simplemente puede "revocar el acceso" de los dispositivos sin tener que cambiar la contraseña de su cuenta.

El token siempre es específico para el dispositivo (la misma razón; de lo contrario, no podría revocar el acceso desde un dispositivo sin afectar a ningún otro). No puedo decir si el token sería inútil para alguna "aplicación raíz" que lo adquiriera sin su permiso (las aplicaciones que no son raíz tendrían que pedirle su confirmación al acceder a él por primera vez), o qué podrían hacer con dicho token. mientras está fuera de línea (nuevamente, partes de código cerrado), tal vez alguien más pueda arrojar luz sobre eso.

Gracias por su respuesta. Realmente espero que alguien más esté dispuesto a proporcionar más detalles esta vez. Es interesante saber que las aplicaciones de Google no son de código abierto.