Sécurité : iOS remporte le match du chiffrement face à Android
Spécialiste de la cryptographie, Matthew Green estime qu’Android « fait des progrès » sur la question du chiffrement, sans arriver au niveau d’iOS.
Malgré des techniques de chiffrement mises à jour avec la version Nougat, Android n’arrive toujours pas au niveau d’iOS en matière de sécurité.
C’est ce qu’affirme Matthew Green, spécialiste reconnu de la cryptographie et enseignant à l’université John Hopkins de Baltimore.
À l’en croire, Google va « clairement dans la bonne direction », mais commet une « erreur de jugement » sur le long terme en continuant à considérer le chiffrement comme une priorité relativement secondaire.
Pour bien comprendre ce point de vue, il faut examiner l’architecture même des systèmes de chiffrement.
Les deux principaux modèles s’appliquent respectivement au niveau du disque (il concerne alors tous les secteurs du support de stockage, à l’image TrueCrypt et BitLocker) et des fichiers, ce qui fournit un contrôle plus granulaire de l’information protégée, mais nécessite une modification du système de fichiers.
Dans ses versions 4.4 « KitKat » et 6.0 « Marshmallow », Android reposait sur un système de chiffrement au niveau disque, en vogue sur les PC, mais qui n’est, d’après Matthew Green, pas vraiment adapté aux smartphones.
La raison ? Ces appareils sont rarement éteints. Du coup, la clé de chiffrement reste en mémoire vive, y compris en veille. Un tiers peut donc y accéder aussi longtemps que le terminal est déverrouillé.
Il était tout à fait envisageable, techniquement parlant, de ne pas conserver les données en RAM et de recréer les clés au déverrouillage. Mais Google n’a pas suivi ce schéma pour des questions de confort d’usage (le système perdrait l’accès à toutes les données en veille).
Où sont les clés ?
Avec la mouture 7.0 « Nougat », une mutation vers le chiffrement par fichier s’est amorcée, au travers du mécanisme Direct boot, qui gère les données en fonction de leur criticité et de leur usage.
Les développeurs qui veulent implémenter le dispositif ont deux options : soit les données sont chiffrées tant que le code de déverrouillage n’est pas saisi… soit elles ne le sont pas, pour permettre l’utilisation de certaines fonctionnalités sur un téléphone en veille.
iOS conserve néanmoins, selon Matthew Green, une longueur d’avance : Apple ne propose pas deux, mais quatre classes de chiffrement, dont un mode « protection complète » dans lequel la clé est retirée de la RAM quelques secondes après le verrouillage de l’appareil.
S’y ajoute une approche permettant de créer des fichiers chiffrés même quand la clé a été effacée de la mémoire vive. Ce qui permet par exemple à l’iPhone de prendre des photos de façon sécurisée même quand le terminal est verrouillé.
Pour l’enseignant-chercheur, c’est précisément l’absence de ces deux catégories – et particulièrement de la première – qui est la source des insuffisances d’Android. D’autant que Google ne fournit ni directive aux développeurs pour retirer les clefs de la mémoire vive au verrouillage, ni même d’instruction claire indiquant aux applications que le système a été verrouillé.
Reste, pour les assaillants, un obstacle majeur pour accéder aux fichiers : passer outre l’écran de verrouillage.
Pour y parvenir, la solution la plus sûre réside probablement, comme le suggère Silicon.fr, dans une attaque matérielle nécessitant un accès physique au terminal.
Une attaque logicielle semble plus difficile à mettre en oeuvre. Sauf peut-être à s’appuyer sur ce choix étonnant de la part de Google : ne pas stocker les clés dans le noyau, mais dans un démon qui tourne comme un utilisateur standard du système…