GrapheneOS : quel magasin d’applications utiliser ?

Question qui peut paraître surprenante, et qui m’a fait longuement réfléchir ! Avant de passer à GrapheneOS, la réponse était simple : F-Droid pour la plupart des applications que j’utilise, et pour les quelques applications nécessaires que je n’y trouve pas (comme celle de ma banque), j’utilisais Aurora Store avec un compte anonyme.

Ça c’était AVANT ! Avec GrapheneOS, d’une part le Play Store de Google redevient accessible (sans compromettre les données personnelles), et d’autre part l’orientation « sécurité » de cet OS permet d’en apprendre un peu plus sur les différents magasins d’applications disponibles. Et le plus sécurisé n’est pas celui que l’on croit !

Pour bien comprendre cette problématique de sécurité, cet article de Wonderland est parfait, et en français. En gros, une application est initialement signée par son développeur, et c’est la meilleure preuve qu’elle n’ait pas été modifiée. Tout intermédiaire supplémentaire ne fait qu’introduire un risque supplémentaire : the fewer parties, the better.

Ce qui suit est d’ailleurs ce que je retire de l’article, et les choix que j’ai fait : je ne suis pour ma part pas forcément prêt à trop de contraintes pour sacrifier à une sécurité optimale. Un autre critère est important à mes yeux : la mise à jour automatique des applications. Là, on parle de confort et non de sécurité, mais ce n’en est pas moins important à mes yeux.

Habitué à utiliser F-Droid sans avoir jamais rencontré un seul problème d’applications corrompues, vous verrez à la fin de l’article que finalement je vais continuer à l’utiliser, mais uniquement lorsque je ne trouve pas sur Play Store ce que je cherche, et qui devient donc mon magasin par défaut ! 😳

Mais il est intéressant de faire l’inventaire des différents choix possibles, avec leurs avantages et leurs inconvénients. Voyons voir tout cela, avec en tête deux critères : sécurité et mises à jour automatiques.

Mises à jour automatiques

Ce que je souhaite, c’est donc de bénéficier des mises à jour automatiques, c’est un vrai plus en terme de confort, et devoir valider manuellement la mise à jour d’une série d’applications est fastidieux. C’était le cas avec mon précédent smartphone, sous LineageOS avec les Privileged Extension fourni par LineageOS for microG, et revenir en arrière ne m’enchantait pas.

Or une API le permet depuis Android 12, les stores alternatifs ont donc désormais cette possibilité. Hélas, F-Droid ne peut en bénéficier car il utilise un niveau d’API trop ancien. Il faut alors se tourner vers des magasins alternatifs basés sur F-Droid : de ce que j’ai lu, seul Neo-Store s’en approcherait (avec un bouton « Update All » tout de même).

Hormis le Play Store, il n’existe en fait que Accrescent, un tout nouveau projet qui est résolument tourné vers la sécurité et les nouvelles technologies comme la mise à jour automatique. Mais comme on va le voir plus bas, il est encore au stade Alpha.

Les magasins d’applications

F-Droid

Le problème de sécurité que présente F-Droid, c’est qu’il recompile chaque application publiée et la signe avec sa propre clef (une par application). En terme de sécurité, ce n’est pas vraiment top, car en plus de faire confiance au développeur, on doit faire confiance à F-Droid (the fewer the better).

En recompilant, F-Droid retire aussi toute bibliothèque ou service publicitaire propriétaire, ce qui est plutôt bien, mais peut amener le développeur à gérer deux versions différentes, ce qui complique aussi les choses, et notamment les mise à jour, qui sont réputées pour être plus lentes que sur Google Play.

Enfin, pour des problèmes de ressources et de priorité (problématique récurrente du logiciel libre), leur niveau d’API SDK pour la compilation n’est pas à jour : ils utilisent le API level 25 (Android 7.1) alors que l’on en est à l’API level 31 (Android 12). Ce qui fait qu’ils ne peuvent par exemple profiter des nouvelles fonctionnalités, comme le mise à jour automatique des applications (voir-ci-dessus).

Pour toutes ces raisons, GrapheneOS a délaissé F-Droid et ne permet d’intégrer les F-Droid Privileged Extension comme c’est le cas avec microG afin de permettre les mises à jour automatiques. Mais comme je le disais plus haut, cela fait des années que je l’utilise sans avoir jamais rencontré d’applications corrompues.

29/08/2023 : Je suis tombé récemment sur cette info : il existe désormais une version appelée F-Droid Basic réécrite et qui a été mise à jour vers l’API SDK level 33. Ce qui lui permet de gérer les mises à jour automatiques pour les versions d’Android 12 et supérieures ! À terme, cela deviendra le client principal, bien entendu.
On peut récupérer le fichier APK ici, et l’installer en lieu et place du client F-Droid classique. Attention, les fonctions « Nearby share » et « No panic » ne sont pas encore implémentées, il s’agit d’une version alpha v1.17.0.

Sinon, pour une critique sans concession de F-Droid, lire cet article (de Wondefall, mais en anglais).

Neo-Store

Basé sur le dépôt F-Droid, Neo-Store est un client « material design » et promet la mise à jour automatique des applications (via un bouton « Update All »).

C’est donc celui-ci que j’ai installé en premier, puisqu’il cochait mes pré-requis. Hélas, je l’ai vite désinstallé après avoir expérimenté deux bugs en cinq minutes : l’application ne répondait plus quand je tapais dans la zone recherche, et la liste des applis installées était erronée…

Sur les forums, on doutait d’ailleurs que la mise à jour automatique soit vraiment fonctionnelle. Je n’aurai pas eu le temps de le tester. 🙁

Aurora-Store

C’est un client pour le Play Store qui n’a pas besoin des Google Play Services. On peut utiliser son propre compte Gmail, ou y accéder de manière anonyme en utilisant des comptes invités créés par Aurora-Store.

C’est donc à priori une bonne option pour récupérer les applications qui ne sont pas sur F-Droid par exemple, tout cela sans installer les Google Play Services (et donc sans aucun tracking).

Mais en terme de sécurité, utiliser un compte anonyme comporte un risque : on n’a aucune visibilité sur celui-ci, et il peut-être corrompu d’une manière ou d’une autre. De plus, si vous utilisez votre propre compte, Google se réserve le droit de le bannir pour utilisation non conforme. Et on sait comment les GAFAMs peuvent être intransigeants quand ils bannissent un compte.

Enfin il n’y a pas de mises à jour automatiques possibles. Tout compte fait, Aurora Store n’étant qu’un front-end du Play Store, sur GrapheneOS, utiliser le client officiel est beaucoup plus sécurisé ! (source).

Play Store

Et on en arrive au Play Store de Google ! Tout n’y est pas rose, mais… GrapheneOS permet d’installer les Google Play Services sans leur accorder de privilèges particuliers, c’est-à-dire comme n’importe quelle application, grâce à une couche de compatibilité. C’est à la fois élégant et permet de contrôler les permissions accordées.

Auparavant, c’était le développeur qui signait ses applications sur le Play Store, mais depuis août 2021, les nouvelles applications sont signées par Google (Play App Signing). Ce n’est pas une mauvaise chose en soi, mais démontre la volonté de main-mise de Google sur l’écosystème Android… et cela rajoute un intermédiaire (the fewer the better…).

Le Play Store peut aussi être sujet à des retards de mises à jour, Google se réservant le droit de refuser une màj proposée par le développeur sans fournir toujours d’explications. Exemple que j’ai rencontré : Etar, un calendrier open-source. Il semble que le développeur ne soit pas très consciencieux notamment avec les clefs de signature, et c’est pour ça que le Play Store n’a pas mis la version à jour depuis un an. C’est la 1.0.29 que l’on y trouve, alors que c’est la 1.0.34 qui est disponible sur F-Droid.

Par contre, de ce que j’ai lu sur les forums, avec GrapheneOS, en accordant le minimum de permissions au Play Store, tout fonctionne très bien et c’est la solution recommandée en terme de sécurité. En ne leur accordant que la permission réseau, on est certain de ne subir aucune intrusion. Sur ce sujet, vous pouvez lire cette page sur le site de Wonderfall.

Et on bénéficie bien sûr des mises à jour automatiques : GrapheneOS utilise l’API d’Android 12 pour que le Play Store, sans privilèges, conserve cette fonctionnalité.

Accrescent

Même s’il n’est pas lié à GrapheneOS, ce Store a tout pour y être intégré un jour. C’est un beau projet, qui reprend tout à zéro en se basant sur la sécurité et les nouvelles technos possibles. Pour cette raison, il nécessite Android 12.

Hélas, il vient tout juste de passer en version alpha (lire ici), et le magasin est pratiquement vide. Je l’ai tout de même installé, puisqu’il a intégré très récemment Molly, un fork de Signal que j’utilise pour remplacer le client officiel (qui me fatiguait à me demander un don de manière insistante).

Le design d’Accrescent est d’une sobriété exemplaire :

Espérons que les développeurs joueront le jeu et viendront publier leurs applications dans ce magasin prometteur.

GitHub

Et voilà pour finir la solution optimale en terme de sécurité ! Ce n’est pas un magasin, mais un service web d’hébergement et de gestion de développement où l’on trouve la plupart des applications de projets libres (Microsoft l’a racheté en 2018).

Et puisqu’elle intègre un logiciel de gestion de version (Git), il est possible d’être prévenu quand une nouvelle version est disponible, via un simple lecteur RSS. Ainsi, on supprime tout intermédiaire entre le développeur et vous (the fewer parties, the better). Mais les mises à jour dans cette configuration sont évidemment (très) manuelles.

On peut donc utiliser un simple lecteur de flux RSS : aller sur la page web de l’application sur F-Droid, puis cliquer sur « Code source » afin de trouver la page sur Github. Il suffit d’ajouter /releases.atom à la fin de l’adresse au moment de la saisir dans votre lecteur de flux RSS préféré, et vous serez prévenu lors d’une nouvelle version. Mais il faudra alors cliquer sur le lien, descendre à « Assets », télécharger le fichier .apk de l’application, puis l’installer.

Encore faut-il qu’un fichier APK soit fourni directement par le développeur, ce n’est pas toujours le cas !

Il existe aussi une application développée pour ce besoin : Obtainium, dont le but est de faciliter l’utilisation de cette méthode (comme de trouver le flux pour une application donnée). On reçoit une notification lorsqu’une nouvelle version est disponible, et l’installation semble simplifiée.

Cette solution est certes la plus sécurisée, mais c’est aussi la plus contraignante ! 😐 Un peu trop pour moi je dois dire. Peut-être à retenir dans le cas d’une application où l’aspect sécurité sera primordial pour une raison ou pour une autre ?

Conclusion

En fonction de tout ça, j ‘ai commencé avec Neo-Store, qui semblait cocher toutes les cases pour l’essentiel de mes besoins. Mais des bugs et l’absence d’une réelle mise à jour automatique m’a vite dissuader d’utiliser ce store.

Je suis alors passé au Play Store, puisque GrapheneOS me permet de l’utiliser en toute quiétude (même si c’est contre-intuitif !). Et je suis vite tombé sur des applis payantes alors qu’elles sont gratuites sur F-Droid ; dans un premier temps, j’ai acheté DAVx (5 €) que j’utilise depuis longtemps pour synchroniser mes calendriers et contacts, je leur dois bien ça…

Mais pour OSMAnd+, le prix était de 25 €, ce qui m’a paru cher, je l’ai donc installé à partir de F-Droid, où la même version est gratuite. J’ai fait de même pour certaines applis disponibles sur le Play Store mais bridées par rapport à celles sur F-Droid.

Voilà, donc le Play Store d’abord, pour les mises à jour automatiques, et F-Droid quand il le faut, et dans ce cas, il faudra gérer les mises à jour manuellement.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *