On dirait que Google est d'accord avec vous et élimine progressivement le cryptage complet du disque :
Attention : La prise en charge du cryptage intégral du disque disparaît. Si vous créez un nouveau périphérique, vous devez utiliser le cryptage basé sur les fichiers.
Le chiffrement intégral du disque était considéré comme assez solide jusqu'en 2016, en raison de l'environnement d'exécution de confiance soutenu par le matériel. Selon la façon dont l'équipementier met en œuvre l'environnement d'exécution sécurisé et s'il utilise la technologie Android keystore système. Il offre un degré variable de sécurité. Si, au contraire, il s'agit d'un logiciel, ce n'est pas le cas.
Les clés de chiffrement ne se trouvent pas simplement dans une partition non chiffrée. La clé de cryptage est stockée dans les métadonnées de cryptage. les métadonnées de cryptage. Le matériel a soutenu la capacité de signature de l'environnement d'exécution de confiance et si le système de keystore d'Android est mis en œuvre, l'appareil Android dans son ensemble et même le noyau Android n'ont pas accès au keymaster dans l'environnement sécurisé de confiance. Le système keystore est très intéressant mais expliquer la sécurité et les opérations derrière lui implique une explication de plusieurs pages qui serait mieux répondue par sa propre question.
Les appareils Android qui prennent en charge un écran de verrouillage et qui sont livrés avec Android 7.0 ou une version ultérieure disposent d'un environnement secondaire isolé appelé "Trusted Execution Environment". Cela permet une séparation supplémentaire de tout code non fiable. Cette capacité est généralement mise en œuvre à l'aide de matériel sécurisé.
Voici quelques exemples de la manière dont un environnement d'exécution de confiance peut être mis en place :
Une machine virtuelle distincte, un hyperviseur ou un environnement d'exécution sécurisé spécialement conçu, comme ARM TrustZone. L'environnement isolé doit assurer une séparation complète avec le noyau Android et l'espace utilisateur (monde non sécurisé). Cette séparation est telle que rien de ce qui est exécuté dans le monde non sécurisé ne peut observer ou manipuler les résultats d'un calcul dans l'environnement isolé.
Android 9.0 a introduit un environnement d'exécution de confiance soutenu par le matériel, appelé "strongbox". La strongbox est une unité centrale de traitement sécurisée complètement séparée, conçue et certifiée. Les exemples de dispositifs StrongBox sont les éléments sécurisés intégrés (eSE) ou les unités de traitement sécurisées on-SoC.
Un environnement sécurisé de confiance adossé au matériel qui utilise le système de keystore d'Android peut servir de protection solide pour la clé de chiffrement. À moins qu'une tierce partie comme Qualcomm (2016) ne fasse une erreur de conception dans l'implémentation du système de cryptage Android, la clé de cryptage ne sera pas protégée. keymaster .