Dans le monde post-Snowden, le chiffrement des téléphones est devenu un véritable argument de vente de la part des fabricants. Après un tour d'horizon sur le chiffrement de l'iPhone, c'est au tour de la sécurité du système d'exploitation de Google, Android, d'être au centre de toutes les attentions.

Depuis plusieurs semaines, les débats sur le chiffrement déchaînent les passions et les institutions, sur fond de lutte contre le terrorisme. C’est d’ailleurs dans ce contexte que la justice américaine a ordonné à Apple — qui a fait appel depuis — de fournir une version modifiée de son système d’exploitation mobile (iOS) au FBI, pour lui permettre de travailler au déverrouillage sans risque de l’iPhone 5c utilisé par l’un des tueurs de San Bernardino.

Comment fonctionne le chiffrement des données sur iPhone

Au-delà des problématiques éthiques, Apple a argué qu’il lui est impossible techniquement d’accéder à la demande des autorités. Tout naturellement, la question se pose de savoir si une situation analogue pourrait survenir avec un téléphone fonctionnant avec Android, l’OS mobile de Google. En réalité, la réponse à cette question n’est pas évidente. Elle dépend de divers facteurs et peut donc varier selon les situations.

La fragmentation

En effet, ce constat tient à la nature même d’Android qui, contrairement à iOS, est un système d’exploitation open source. Concrètement, rien n’empêche les constructeurs d’utiliser le code source d’AOSP (pour Android Open Source Project) sans utiliser les services de Google. Et même si la majorité des smartphones Android achetés aujourd’hui en Europe utilisent les outils de la firme de Mountain View, ils demeurent de fait inégaux entre eux, puisque les fabricants n’ont pas les mêmes objectifs.

Ainsi, les seuls smartphones conçus par Google appartiennent à la gamme Nexus, les derniers étant le Nexus 5X de LG et le Nexus 6P de Huawei. Ceux-ci n’ont aucune surcouche logicielle et ont accès très rapidement aux mises à jour apportées à Android, tandis que les autres modèles doivent patienter plusieurs semaines voire quelques mois avant d’avoir quoi que ce soit.

La fragmentation en chiffres
La fragmentation en chiffres

Cela n’est pas neutre. Avec Marshmallow, Android impose le chiffrement du système, mais uniquement sur les nouveaux smartphones qui ont les capacités matérielles pour le faire. De fait, cette décision pose la question de la fragmentation de l’OS mobile et du problème que cela entraîne pour la diffusion d’une nouvelle option de sécurité, comme le chiffrement, auprès du grand public.

En effet, d’après Google, seuls 2,3 % des téléphones sont sous Marshmallow 6.0 début mars. Et dans cette part déjà anecdotique, il est aisé de penser que tous les téléphones ne sont pas suffisamment équipés sur le plan matériel pour supporter le chiffrement par défaut. À titre de comparaison, le taux d’adoption d’iOS 9 pour Apple est de 77 % !

Du côté des constructeurs, pour obtenir un accord de licence avec Google et utiliser les GMS (Google Mobile Services), il est nécessaire de se conformer à une série d’exigences décrites dans la documentation (Android Compatibility Definition Document) et passer des tests de comptabilité (Compatibility Test Suite). Mais tous ces critères ne sont pas obligatoires. Certains sont facultatifs et d’autres ne sont que des recommandations.

La croix et la bannière du chiffrement

Le chiffrement sur Android a fait son apparition avec la version 3.0 de l’OS (Honeycomb), mais il n’a été activé par défaut qu’à partir de la cinquième version (Lollipop). Enfin, c’était avant que Google ne fasse machine arrière en constatant que l’option pesait trop sur les ressources des téléphones. Le chiffrement a depuis été optimisé et introduit de nouveau au sein d’Android 6 (Marshmallow).

Reste la question initiale. Google est-il dans la même situation qu’Apple ? Oui, à en croire un responsable de la sécurité d’Android, Adrian Ludwig qui écrivait en novembre 2015 que la firme américaine « n’a aucun moyen de faciliter le déblocage d’un appareil protégé par un PIN, un mot de passe ou une empreinte ». Ce propos rappelle bien sûr la position défendue par Apple pour ses propres téléphones.

Comment fonctionne le chiffrement sur Android ? Pour le savoir, il faut se tourner vers la dernière version des définitions de compatibilité :

Les données privées des applications stockées sur la partition /data et sur la partition /sdcard (quand celle-ci n’est pas amovible) sont chiffrées en utilisant l’algorithme AES 128-bit (ou supérieur, au choix du constructeur). La clé principale est elle-même chiffrée et, depuis Lollipop, sa signature est gérée matériellement par le SoC dans un TEE (un environnement d’exécution de confiance ou Trusted Execution Environment, comme la technologie TrustZone conçue par ARM). Contrairement aux anciennes versions d’Android, la clé est désormais générée aléatoirement lors du premier démarrage et n’est plus liée au mot de passe de l’écran de déverrouillage.

Pour déchiffrer le contenu, à défaut de connaître le mot de passe de l’utilisateur ou d’avoir accès à son empreinte digitale — dans le cas d’un téléphone qui possède un capteur biométrique –, l’attaquant doit recourir à la force brute. Cette méthode consiste à trouver un mot de passe en essayant toutes les combinaisons possibles, directement sur le téléphone. Cependant, pour compliquer ces attaques, des délais d’attente sont intégrés au niveau logiciel pour espacer dans le temps les tentatives après plusieurs échecs.

Dans le cas de l’affaire de San Bernardino, une mesure spécifique empêche les enquêteurs d’accéder à l’iPhone 5c : il s’agit de l’effacement automatique au bout de plusieurs erreurs sur l’écran de déverrouillage. Dans ce domaine, AOSP ne contient aucune mesure similaire.

Cette fonctionnalité peut toutefois être implantée par les constructeurs ou les opérateurs, voire être installée directement par l’utilisateur avec une application tierce. Cependant, cela rajoute une étape supplémentaire et s’adresse, de fait, aux utilisateurs les plus concernés par la sécurité. Autrement, il est possible d’effacer son téléphone à distance en utilisant le gestionnaire d’appareils Android.

Locker Zygote Labs

En résumé

Dans la plupart des cas, les autorités pourraient débloquer un téléphone sous Android sans l’aide de Google ou des constructeurs, même si celui-ci est chiffré. En effet, sur les téléphones n’ayant pas Lollipop (ou supérieur), la phrase secrète de la clé principale reprend le mot de passe ou le code PIN de l’écran de déverrouillage. Et bien souvent, parce qu’il doit être utilisé plusieurs fois par jour, ce mot de passe est court. De nombreux utilisateurs favorisent des codes PIN à quatre chiffres, qui sont d’excellents candidats à la force brute. Pour certains téléphones sous Android Marshmallow, la tâche sera toutefois bien plus complexe dans la mesure où la clé est secrète et implantée directement dans le silicium.

Mais Android est un écosystème de produits, et la sécurité dépend majoritairement de la manière dont les constructeurs choisissent de l’implémenter. Si Google ne compte pas faciliter la tâche des autorités, d’autres constructeurs pourraient choisir de collaborer, voire négliger inconsciemment la sécurité de leurs téléphones.

Comme pour l’iPhone, si vous disposez d’un smartphone Android disposant du chiffrement par défaut et d’un capteur d’empreintes digitales, nous ne pourrions donc que vous conseiller de sélectionner un mot de passe de déverrouillage fort, et d’éteindre votre appareil si vous êtes amené à en être séparé. En effet, lors du démarrage, et même si vous avez un capteur biométrique, le téléphone demande toujours de rentrer le mot de passe de déverrouillage une première fois — utile quand on sait que les empreintes digitales ne sont pas infaillibles.

Pour savoir comment activer le chiffrement sur votre smartphone Android, rendez-vous sur l’article de nos confrères de FrAndroid.

Partager sur les réseaux sociaux

Articles liés