web-dev-qa-db-fra.com

Android Porte-clés pour les informations d'identification de l'utilisateur

Existe-t-il un équivalent du trousseau iOS sur Android?

Ma compréhension de l'API Préférences est qu'elle n'est pas chiffrée. Pour mon application, peu importe si ces informations d'identification sont conservées sur tous les appareils (c'est-à-dire un cas d'utilisation différent de Porte-clés de type iPhone dans Android? )

J'ai également regardé l'API KeyStore mais elle semble laisser le stockage réel des informations d'identification de l'utilisateur au développeur de l'application.

Merci de votre aide!

67
FXbeckers

Réponse courte, il n'y en a pas. Mais vous pouvez vous attendre à ce que le système de fichiers soit sécurisé.

Chaque application fonctionne sous un utilisateur différent et le système de fichiers utilisé pour stocker les données d'application est sécurisé par les autorisations utilisateur UNIX normales. Ainsi, l'accès aux fichiers de chaque application est mis en sandbox par défaut. Le système de fichiers peut également être crypté.

Cette page du site du développeur l'explique mieux: http://developer.Android.com/guide/topics/security/security.html

8
nmr

Développant la réponse de @ DJPlayer:

Quelques articles pertinents. Le troisième comprend une application github qui montre comment utiliser le fournisseur de magasin de clés pour générer des clés, puis chiffrer les chaînes.

Voir également Options de stockage Android pour les moyens de stocker le mot de passe crypté - ma recommandation est les préférences partagées.

Notez que selon le deuxième article avec accès root et un peu de connaissance de la façon dont votre application utilise le magasin de clés (qui peut être obtenu en décompilant votre apk), il est possible de détourner la clé privée et de l'utiliser pour décrypter le matériel crypté (ex: le mot de passe persistant)

4
Stan Kurdziel

En fait, il y a:

En intégrant Smart Lock for Passwords dans votre application Android Android, vous pouvez automatiquement connecter les utilisateurs à votre application en utilisant les informations d'identification qu'ils ont enregistrées. Les utilisateurs peuvent enregistrer à la fois les informations d'identification du mot de passe et du nom d'utilisateur et les informations d'identification du fournisseur d'identité fédéré.

Intégrez Smart Lock for Passwords dans votre application en utilisant l'API Credentials pour récupérer les informations d'identification enregistrées lors de la connexion. Utilisez les informations d'identification récupérées avec succès pour vous connecter à l'utilisateur, ou utilisez l'API Credentials pour intégrer rapidement de nouveaux utilisateurs en remplissant partiellement le formulaire de connexion ou d'inscription de votre application. Invitez les utilisateurs après la connexion ou l'inscription à stocker leurs informations d'identification pour une future authentification automatique.

https://developers.google.com/identity/smartlock-passwords/Android/

4
neteinstein