J'ai regardé autour de moi et je n'ai trouvé aucune information sur la façon dont Android parvient à stocker les mots de passe sur l'appareil. Surtout les mots de passe Gmail. Je cherche à savoir comment Android crypte et stocke les mots de passe? Quelle clé utilise-t-elle et où cette clé est-elle stockée et quel algorithme de chiffrement est-il utilisé?
security
gmail
password
gmail-password
Asudhak
la source
la source
Réponses:
L'application officielle de Gmail ne stocke pas le mot de passe dans votre appareil. Votre mot de passe est 100% sûr si vous utilisez cette application.
Voici comment cela fonctionne: le mot de passe est utilisé UNIQUEMENT par les serveurs d'authentification de Google. Après la première authentification réussie, un
Auth Token
est téléchargé sur le périphérique qui est stocké dans unaccounts.db
fichier en tant que texte brut. CeciAuth Token
est utilisé pour toutes les connexions suivantes , PAS pour votre mot de passe d'origine.Ainsi, si votre appareil est volé, tout le monde peut obtenir est
Auth Token
ce qui devient invalide une fois que vous avez changé votre mot de passe. Donc, vous serez en commandement ultime.Pour une sécurité optimale, je vous recommande d'activer
2-Factor Authentication
et de créerDevice Specific Password
pour votre appareil. Après avoir perdu votre appareil, il vous suffit de le désactiver. Vous n'avez même pas besoin de changer le mot de passe principal.Remarque: Tout cela n'est pas vrai si vous utilisez des applications de messagerie tierces pour Gmail, à savoir. Stock Email app, K-9 Mail, etc. Le protocole IMAP ou POP nécessite un mot de passe original pour authentifier les utilisateurs à chaque fois. Donc, un mot de passe en clair doit être disponible pour l'application de messagerie avant de l'envoyer au serveur. Ainsi, la plupart des applications de messagerie stockent les mots de passe en texte brut (le hachage / le chiffrement est inutile, car la clé de hachage / de chiffrement doit être stockée localement). Dans ce cas, je vous recommande d'activer
2-Factor Authentication
et de créerDevice Specific Password
pour votre appareil. Après avoir perdu votre appareil, il vous suffit de le désactiver.Mise à jour:
Techniquement, il est possible de stocker les mots de passe localement sous forme chiffrée / hachée sans conserver la clé de chiffrement / la clé de hachage en texte brut localement. Merci à @JFSebastian pour l'avoir signalé.
Malheureusement, une telle implémentation pour Android n'est pas encore disponible.À partir de ICS, Android fournit une API KeyChain grâce à laquelle une application peut stocker un mot de passe localement sous une forme sécurisée. Les applications utilisant l'API KeyChain sont rares, mais les applications de messagerie stockées l'utilisent (Merci à @wawa pour cette information). Votre mot de passe sera donc en sécurité avec l'application de messagerie électronique tant que votre écran sera verrouillé. N'oubliez pas que KeyChain n'est pas sûr si le périphérique est enraciné et qu'il n'est pas disponible sur les périphériques antérieurs à ICS.la source
Les mots de passe Android utilisés avec l'application de messagerie intégrée sont stockés en texte brut dans une base de données SQLite. Cela contraste avec l' application Gmail , qui utilise les jetons d'authentification décrits dans la réponse de Sachin Sekhar .
Pour Jelly Bean, l'emplacement de la base de données est:
L'emplacement ci-dessus varie avec la version Android
Cet emplacement sur un périphérique non root est sécurisé et protégé par le système d'exploitation.
Sur les appareils enracinés, les utilisateurs ont déjà techniquement craqué pour leur propre sécurité. Même s'il ne s'agissait pas de texte en clair, il serait toujours facile de déchiffrer car la clé doit exister quelque part sur l'appareil pour le faire.
Un membre de l'équipe de développement Android a publié une explication qui s'applique encore à ce jour:
De plus, étant donné que ce problème semble perturber de nombreux utilisateurs Android, vous pouvez également suivre cette discussion sur Slashdot - Données de mot de passe Android stockées en texte brut .
la source
accounts.db
fichier est protégé contre la lecture par des comptes autres quesystem
.