Indicateurs de confidentialité

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Les autorisations d'exécution dans Android 6 et versions ultérieures permettent aux utilisateurs de contrôler quand ils autorisent l'enregistrement de l'audio du microphone d'un appareil ou de la vidéo de la caméra d'un appareil. Avant qu'une application puisse enregistrer, un utilisateur doit lui accorder ou lui refuser l'autorisation via une boîte de dialogue présentée par le système.

Android 12 offre aux utilisateurs une transparence en affichant des indicateurs lorsqu'une application utilise une source de données privée via les caméras et les autorisations d'application du microphone. Les opérations d'application enregistrent les accès aux API protégées par des autorisations d'exécution.

App-op suit à la fois l'état de l'activité et le nombre d'appels API individuels, et interagit avec les indicateurs de microphone et de caméra dans Android 12 pour montrer aux utilisateurs quand les applications ont accédé aux données audio et de caméra sur leurs appareils. Lorsque les utilisateurs cliquent sur les indicateurs du microphone ou de la caméra, ils voient quelles applications ont accédé à leurs données. Cette fonctionnalité est obligatoire pour tous les OEM.

Exigences de visibilité des indicateurs

Voici les exigences pour les indicateurs de microphone et de caméra sur les appareils fonctionnant sous Android 12 ou supérieur :

  • Les indicateurs doivent apparaître dans la barre d'état et conserver la priorité visuelle la plus élevée (par exemple, situés à l'extrême droite dans le coin supérieur droit).
  • Les indicateurs doivent toujours être situés dans la même position et ne doivent pas être bloqués par une application lors de son lancement.
  • Les deux indicateurs doivent être de couleur verte (ou une variation de vert).
  • Le fait de cliquer sur l'un ou les deux indicateurs doit générer une notification d'allocation d'attribution d'application qui effectue les actions suivantes :
    • Affiche le nom de l'application qui utilise le microphone et (ou) la caméra
    • Affiche le nom de l'application qui a utilisé le microphone et (ou) la caméra au cours des 15 dernières secondes
    • Amène les utilisateurs à la page d'autorisation de l'application dans les paramètres

Utilisation et fonctionnalités

Dans Android 12, l'interface utilisateur fait la distinction entre les utilisations en cours et les utilisations récentes. Les utilisations sont considérées comme « actives » si elles sont marquées par le système comme « en cours d'exécution » ou si elles datent de moins de 5 secondes.

  • Les icônes de la barre d'état s'affichent chaque fois qu'une application dispose d'un accès permanent au microphone ou à la caméra sensible à l'utilisateur.
  • Les utilisateurs peuvent cliquer sur ces icônes et voir quelles applications accèdent au microphone, à la caméra ou aux deux.

Microphone and camera in-use indicators showing that access is active

Figure 1. Indicateurs d'utilisation du microphone et de la caméra indiquant l'accès actif (coin supérieur droit)

L'accès est considéré comme actif tant que les indicateurs s'affichent. Une icône s'affiche d'abord, puis se transforme en un point qui persiste jusqu'à ce que l'application soit fermée ou fermée.

Lorsqu'un utilisateur appuie sur les indicateurs, une boîte de dialogue se déroule, indiquant qu'une application utilise actuellement la caméra, le microphone ou les deux.

Indicators for both active and recent access, and whether the access was from camera or microphone

Figure 2. Indicateurs d'accès actif et récent

L'image de la figure 2 montre des indicateurs d'accès actifs lorsque des données ont été consultées au cours des 5 dernières secondes par une application en cours d'exécution.

Les indicateurs d'accès récents montrent qu'une application a accédé aux données au cours des 15 secondes précédentes, mais que l'application n'est pas active. Toutes les applications actives s'affichent dans la boîte de dialogue, mais une seule application s'affiche comme source d'accès récent, même lorsque plus d'une application a accédé aux données dans un délai de 15 secondes. La vue d'accès reste figée jusqu'à ce que l'utilisateur ferme la boîte de dialogue de notification.

Livrer et activer

La classe PermissionManager fournit une méthode pour remplir la boîte de dialogue, qui réside dans l'interface utilisateur système.

  • L'interface utilisateur du système réagit à un changement de configuration de l'appareil : privacy/mic_camera_indicators_enabled .
  • Le changement est nécessaire car il y a deux véhicules de livraison distincts, dans cet ordre :
    1. Livrer.
    2. Activer.
  • L'interface utilisateur système ne doit pas se bloquer si la méthode dans PermissionManager ne peut pas fournir les données nécessaires.

Flux de processus

La fonctionnalité d'indicateur d'autorisation comporte trois parties principales :

  • Les applis
  • Les indicateurs (gérés par SystemUI)
  • Un moyen de déterminer quelles applications utilisent les données

Le PermissionController fournit le mécanisme permettant de déterminer quelles applications utilisent des données. SystemUI écoute les applications utilisant des données privées. Le SystemUI affiche une icône dans la barre de navigation supérieure qui correspond aux autorisations utilisées. Le PermissionController affiche des données sur les utilisations lorsqu'un utilisateur clique sur une icône.

Process flow for Permission Indicator functions

Figure 3. Composants système et flux de transitions (UI)

Les transitions numérotées de la figure 3 sont décrites ci-dessous :

1- Une application demande des données privées au système.

2- Le système vérifie les autorisations. Si les autorisations sont autorisées, le système informe le fournisseur de données et note l'utilisation dans les applications d'application

3- Le fournisseur de données fournit des données à l'application.

4-5 L'utilisateur clique sur les icônes. L'interface utilisateur système demande des données au PermissionManager et présente la boîte de dialogue à l'utilisateur.

Détails du processus

  1. Les applications utilisent le microphone et la caméra, en appelant AppOpsManager.startOp , stopOp et (ou) noteOp . Cela crée des enregistrements app-op dans le serveur système.
  2. L'interface utilisateur système écoute les nouvelles opérations d'application à l'aide des AppOpsManager.OnOpActiveChangedInternalListener et OnOpNotedListener . Lorsqu'une nouvelle utilisation arrive (via un appel à startOp ou noteOp ), l'interface utilisateur système vérifie que l'utilisation est effectuée par une application système.
  3. Si l'interface utilisateur système vérifie l'utilisation de l'application système et si l'utilisation concerne le microphone, l'interface utilisateur système vérifie si le microphone est désactivé.
  4. Si l'interface utilisateur système vérifie l'utilisation de l'application non système (et, pour l'utilisation du microphone, que le microphone est activé ; pour l'utilisation de la caméra, que la caméra est activée), elle affiche une icône reflétant cette utilisation.

Si l'interface utilisateur système reçoit un noteOp , qui n'a pas de durée, il affiche l'icône pendant au moins 5 secondes. Sinon, l'icône s'affiche soit jusqu'à ce qu'elle reçoive un stopOp , soit pendant 5 secondes, selon la durée la plus longue. L'utilisateur qui clique sur une icône lance une intention qui va au PermissionController pour démarrer le dialogue.

Le PermissionController charge toutes les utilisations récentes du microphone et de la caméra. Il vérifie si l'un de ceux-ci est en cours d'exécution ou s'il était exécuté dans le délai défini par l'interface utilisateur système. S'il trouve une correspondance, il affiche le nom de l'application qui a utilisé l'autorisation et les autorisations utilisées par l'application.

En raison de ce changement dans Android 12 et versions ultérieures, certaines applications doivent soit modifier leur comportement, soit implémenter un comportement spécial.

La téléphonie doit implémenter l'utilisation des autorisations (pour tenir compte de la pile de microphones séparée utilisée dans les appels téléphoniques), tout en travaillant avec l'application Android Google Search (AGSA) et Google Mobile Services (GMS).