Utilisez les fonctionnalités décrites dans cette section pour rendre les appareils Android que vous développez aussi sécurisés que possible.
Bac à sable d'application
La plate-forme Android profite de la protection basée sur les utilisateurs Linux pour identifier et isoler les ressources des applications. Pour ce faire, Android attribue un identifiant utilisateur unique (UID) à chaque application Android et l'exécute dans son propre processus. Android utilise cet UID pour configurer un App 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 ni d'autorisations compliquées. Chaque application exécutée 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 ainsi qu'un fournisseur de services et des authentificateurs 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 une authentification par 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 une biométrie forte peut s'intégrer à BiometricPrompt
.
Chiffrement
Une fois qu'un appareil est chiffré, toutes les données créées par l'utilisateur sont automatiquement chiffrées avant de les enregistrer sur le disque et toutes les lectures déchiffrent automatiquement les données avant de les renvoyer au processus appelant. Le cryptage garantit que même si une partie non autorisée tente d'accéder aux données, elle ne pourra pas les lire.
Magasin de clés
Android propose un Keystore matériel qui permet 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échiffrement asymétriques avec les modes de remplissage appropriés, et bien plus encore.
Linux à sécurité améliorée
Dans le cadre du modèle de sécurité Android, Android utilise Security-Enhanced Linux (SELinux) pour appliquer un contrôle d'accès obligatoire (MAC) sur tous les processus, même les processus exécutés avec les privilèges root/superutilisateur (capacités Linux).
Environnement d'exécution fiable (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 à la fois par le matériel et par les logiciels.
Démarrage vérifié
Verified Boot s'efforce de garantir que tout le code exécuté provient d'une source fiable (généralement des OEM de périphériques), plutôt que d'un attaquant ou d'une corruption. Il établit une chaîne de confiance complète, depuis une racine de confiance protégée par le matériel jusqu'au chargeur de démarrage, en passant par la partition de démarrage et les autres partitions vérifiées.
,Utilisez les fonctionnalités décrites dans cette section pour rendre les appareils Android que vous développez aussi sécurisés que possible.
Bac à sable d'application
La plate-forme Android profite de la protection basée sur les utilisateurs Linux pour identifier et isoler les ressources des applications. Pour ce faire, Android attribue un identifiant utilisateur unique (UID) à chaque application Android et l'exécute dans son propre processus. Android utilise cet UID pour configurer un App 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 ni d'autorisations compliquées. Chaque application exécutée 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 ainsi qu'un fournisseur de services et des authentificateurs 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 une authentification par 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 une biométrie forte peut s'intégrer à BiometricPrompt
.
Chiffrement
Une fois qu'un appareil est chiffré, toutes les données créées par l'utilisateur sont automatiquement chiffrées avant de les enregistrer sur le disque et toutes les lectures déchiffrent automatiquement les données avant de les renvoyer au processus appelant. Le cryptage garantit que même si une partie non autorisée tente d'accéder aux données, elle ne pourra pas les lire.
Magasin de clés
Android propose un Keystore matériel qui permet 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échiffrement asymétriques avec les modes de remplissage appropriés, et bien plus encore.
Linux à sécurité améliorée
Dans le cadre du modèle de sécurité Android, Android utilise Security-Enhanced Linux (SELinux) pour appliquer un contrôle d'accès obligatoire (MAC) sur tous les processus, même les processus exécutés avec les privilèges root/superutilisateur (capacités Linux).
Environnement d'exécution fiable (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 à la fois par le matériel et par les logiciels.
Démarrage vérifié
Verified Boot s'efforce de garantir que tout le code exécuté provient d'une source fiable (généralement des OEM de périphériques), plutôt que d'un attaquant ou d'une corruption. Il établit une chaîne de confiance complète, depuis une racine de confiance protégée par le matériel jusqu'au chargeur de démarrage, en passant par la partition de démarrage et les autres partitions vérifiées.