Que peut faire une application avec l'autorisation «UTILISER LES COMPTES SUR L'APPAREIL»?

28

Une telle application peut-elle lire librement mes e-mails / calendrier / message / documents / etc.?

L'autorisation "UTILISER LES COMPTES SUR L'APPAREIL" est également connue des développeurs sous le nom android.permission.USE_CREDENTIALS .

Exemple de telles applications: WhatsApp , MightyText .

AlikElzin-kilaka
la source
1
J'ai trouvé un exemple d'API Android de ce qui peut être fait en utilisant cette autorisation: goo.gl/gjkJB . D'après ma compréhension en tant que développeur, cela signifie un accès à TOUT . Une fois qu'un utilisateur dispose d'un jeton de compte, il peut accéder à toutes les offres de comptes de services: le flux Facebook, les e-mails de Google - TOUT .
AlikElzin-kilaka
2
Je voulais dire du point de vue de l'utilisateur. Je pense que les utilisateurs ne sont pas conscients de l'intrusion derrière cette autorisation.
AlikElzin-kilaka
1
@ t0mm13b - Donner des autorisations spécifiques (OAuth) pour lire des messages, par exemple, est beaucoup moins intrusif que de donner un accès complet à un compte.
AlikElzin-kilaka
8
Je pense que c'est une question raisonnable pour ce site. J'aimerais certainement savoir exactement à quoi chacune des autorisations disponibles donne réellement accès.
ale

Réponses:

35

Android dispose d'un système centralisé de gestion des informations d'identification pour les services en ligne (comme votre compte Google). Un composant est appelé le AccountManager. Certaines applications peuvent " agir en tant qu'authentificateur de compte ". Cela signifie qu'ils comprennent comment se connecter à un service en ligne particulier et peuvent se connecter à ce service pour le AccountManager. D'autres applications souhaitent utiliser ces informations de connexion pour vous identifier ou effectuer des actions en votre nom, sans que vous ayez à saisir votre mot de passe à chaque fois.

Exemple: connexion à Google

Votre téléphone dispose d'une application intégrée qui «fait office d'authentificateur de compte» pour votre compte Google. Il sait comment se connecter à Google et il a l'e-mail et le mot de passe que vous avez entrés lors de la configuration du téléphone. Il existe également une application YouTube, qui souhaite se connecter pour afficher vos vidéos préférées et vous permettre de commenter, mais sans avoir à saisir à nouveau votre e-mail et votre mot de passe.

Cette application YouTube parle à la AccountManageret lui demande si elle possède des informations d'identification pour un compte Google. Poser cette question nécessite l'autorisation "trouver des comptes sur l'appareil". Le AccountManagerpossède une liste d'authentificateurs installés sur le téléphone, qu'il consulte pour répondre à cette question. Si elle possède des informations d'identification, l'application demandera alors ce que l'on appelle un authtoken pour le compte Google. Cette demande nécessite l' autorisation " utiliser les comptes sur l'appareil ".

Le AccountManagervous demande ensuite si vous souhaitez que l'application demandeuse (YouTube) puisse utiliser le compte demandé (compte Google). Cela peut être dans une boîte de dialogue qui apparaît sur l'application ou dans une notification. Alternativement, l'application peut choisir de ne rien faire si vous n'avez pas déjà répondu oui à cette question: elle voudra peut-être demander plus tard à un moment plus opportun. Cette étape garantit qu'une application disposant de l'autorisation "Utiliser les comptes sur l'appareil" ne peut pas utiliser immédiatement tous les comptes sans demander.

Si vous dites oui, la AccountManagertransmet la demande à l'authentificateur (l'application Google intégrée). Ce qui se passe ensuite dépend de l'authentificateur et du service particulier auquel vous vous connectez. Vous devrez peut-être vous connecter si vous ne l'avez pas déjà fait, et la connexion peut nécessiter un nom d'utilisateur et un mot de passe, une photo, un SMS ou autre chose. Quoi que fasse l'authentificateur, il peut échouer ou renvoyer un authtoken à l'application demandeuse.

Vérifications supplémentaires

L'authentificateur et le service en ligne peuvent également contrôler les actions que l'application demandeuse peut effectuer. Par exemple, lorsque vous connectez une application à votre compte Google, Google répertorie les autorisations dont l'application a besoin (telles que «télécharger des vidéos» pour YouTube). Ainsi, l'application ne peut effectuer que les actions répertoriées. Cependant, certains services peuvent ne pas avoir quelque chose comme ça; pour un tel service, une fois que vous avez autorisé l'application à utiliser vos informations d'identification, elle peut effectuer n'importe quelle action en votre nom.

Une fois que l'application demandeuse a obtenu l'authtoken, elle peut continuer à l'utiliser pour effectuer des actions en votre nom sans aucune autre interaction de votre part. Autrement dit, une fois que vous avez accepté que le client Twitter de Dan puisse publier sur votre flux Twitter, il peut s'exécuter en arrière-plan et publier d'autres tweets à votre insu. Vous ne devez accorder à l'application l'accès à vos informations d'identification que si vous lui faites confiance pour ne pas le faire.

Sommaire

Une application disposant de l' autorisation « utiliser les comptes sur l'appareil » peut, une fois installée, vous demander d'accéder à un service en ligne (tel que Google, Facebook ou Twitter) à votre nom. Vous pouvez choisir de le laisser accéder au service ou non. Si vous le laissez accéder au service, les actions qu'il peut entreprendre en votre nom peuvent être limitées par le service (c'est au service), et le service peut vous permettre de révoquer cette autorisation plus tard (généralement via une liste "d'applications connectées"). "sur le site Web du service).

Dan Hulme
la source
0

J'ai trouvé cet exemple dans l'API Android de ce qui peut être fait en utilisant cette autorisation.

D'après ma compréhension en tant que développeur, cela signifie accéder à presque TOUT ce qui est fourni par le compte, sauf changer le mot de passe.

Une fois qu'un utilisateur possède le jeton d'un compte, il peut accéder à tous les services proposés par le compte: publier sur votre mur Facebook, lire votre Gmail - presque TOUT .

AlikElzin-kilaka
la source
Je ne suis pas sûr à 100%, mais je pense qu'il y a un écran "Sélectionner un compte" avant que l'application puisse accéder et utiliser le jeton d'authentification. L'autorisation seule n'est pas suffisante pour accéder à un compte d'utilisateurs.
Débit du
2
Pas tout à fait - ajoutez le mot "presque" devant. Comme le nom du privilège l'indique: il peut utiliser les informations du compte, mais pas les modifier . Quant à ma connaissance, il peut "s'authentifier au nom de l'utilisateur", mais sans connaître les informations d'identification elles-mêmes. Alors oui: il pourrait lire votre courrier, peut-être même le publier sur Facebook. Mais il ne pouvait pas espionner votre mot de passe. Pourtant, c'est un privilège sensible.
Izzy
Cette réponse est incorrecte car vous ne pouvez pas modifier le mot de passe du compte avec ce type d'accès, vous n'avez donc pas accès à "tout".
pzkpfw
@pzkpfw: J'ai mis à jour la réponse pour inclure le monde "presque" parce que pour de nombreux cas d'utilisation malveillants, l'attaquant ne voudrait pas changer le mot de passe, mais abuserait plutôt discrètement du compte.
Dan Dascalescu
-1

L'application n'accède à aucun compte de services. Certaines applications ont besoin de cette autorisation, car elles doivent ouvrir un nouveau compte à partir de leur application.

Kasian Mwagike
la source