Fonctionnalités de sécurité Android

Utilisez les fonctionnalités décrites dans cette section pour sécuriser au maximum les appareils Android que vous développez.

Bac à sable d'application

La plate-forme Android tire parti de la protection basée sur l'utilisateur Linux pour identifier et isoler les ressources de l'application. Pour ce faire, Android attribue un ID utilisateur (UID) unique à chaque application Android et l'exécute dans son propre processus. Android utilise cet UID pour configurer une application Sandbox au niveau du noyau.

Signature d'application

La signature d'application permet aux développeurs d'identifier l'auteur de l'application et de mettre à jour leur application sans créer d'interfaces et d'autorisations compliquées. Chaque application qui s'exécute sur la plate-forme Android doit être signée par le développeur.

Authentification

Android utilise le concept de clés cryptographiques sécurisées par l'authentification de l'utilisateur qui nécessite un stockage de clés cryptographiques et des authentificateurs de fournisseur de services et d'utilisateurs.

Sur les appareils dotés d'un capteur d'empreintes digitales, les utilisateurs peuvent enregistrer une ou plusieurs empreintes digitales et utiliser ces empreintes digitales pour déverrouiller l'appareil et effectuer d'autres tâches. Le sous-système Gatekeeper effectue l'authentification du modèle de périphérique/mot de passe dans un environnement d'exécution sécurisé (TEE).

Android 9 et versions ultérieures incluent la confirmation protégée, qui permet aux utilisateurs de confirmer formellement les transactions critiques, telles que les paiements.

Biométrie

Android 9 et versions ultérieures incluent une API BiometricPrompt que les développeurs d'applications peuvent utiliser pour intégrer l'authentification biométrique dans leurs applications d'une manière indépendante de l'appareil et de la modalité. Seule la biométrie fortes peuvent intégrer BiometricPrompt .

Chiffrement

Une fois qu'un appareil est crypté, toutes les données créées par l'utilisateur sont automatiquement cryptées avant de les enregistrer sur le disque et toutes les lectures décryptent automatiquement les données avant de les renvoyer au processus d'appel. Le cryptage garantit que même si une partie non autorisée essaie d'accéder aux données, elle ne pourra pas les lire.

Magasin de clés

Android propose un magasin de clés basé sur le matériel qui fournit la génération de clés, l'importation et l'exportation de clés asymétriques, l'importation de clés symétriques brutes, le cryptage et le décryptage asymétriques avec des modes de remplissage appropriés, et plus encore.

Linux à sécurité renforcée

Dans le cadre du modèle de sécurité Android, Android utilise Security-Enhanced Linux (SELinux) pour appliquer le contrôle d'accès obligatoire (MAC) sur tous les processus, même les processus exécutés avec des privilèges root/superuser (capacités Linux).

Trusty Trusted Execution Environment (TEE)

Trusty est un système d'exploitation (OS) sécurisé qui fournit un environnement d'exécution sécurisé (TEE) pour Android. Le système d'exploitation Trusty fonctionne sur le même processeur que le système d'exploitation Android, mais Trusty est isolé du reste du système par le matériel et les logiciels.

Démarrage vérifié

Verified Boot s'efforce de s'assurer que tout le code exécuté provient d'une source de confiance (généralement des OEM de l'appareil), plutôt que d'un attaquant ou d'une corruption. Il établit une chaîne de confiance complète, à partir d'une racine de confiance protégée par le matériel jusqu'au chargeur de démarrage, jusqu'à la partition de démarrage et d'autres partitions vérifiées.