microG, vu de l'intérieur

Tous les sujets qui touchent à la protection de nos données personnelles tant sur PC que sur smartphone
Avatar du membre
Glenic
Messages : 171
Enregistré le : 14 déc. 2020 19:48
Localisation : Indre (36)

microG, vu de l'intérieur

Message non lu par Glenic »

MicroG : Ce que vous avez besoin de savoir,
Une conversation avec son développeur : Marvin Wißfeld

(traduction d'un article paru en novembre 2020 sur le forum / e / )
Source (en anglais) : https://community.e.foundation/t/microg ... feld/22700

NDLA : le post qui va suivre est un peu long mais dévoile certaines informations qui peuvent vous aider à vous faire votre propre opinion sur microG

Des milliards de personnes dans le monde utilisent quotidiennement un « smartphone »
Et sur cet ensemble Android est devenu le leader incontesté des systèmes d'exploitation pour téléphones portables avec plus de 75 % de parts de marché.

Source :
https://fr.statista.com/statistiques/57 ... nde--2019/
NDLR : cet article est un peu ancien (2016) mais donne bien l’orientation générale de ce secteur.

Bien qu'Android ait un noyau basé sur des logiciels Open Source, la version conventionnelle qu'on en trouve sur la plupart des smartphones comprend également un ensemble de bibliothèques et d'interfaces de programmation d’applications propriétaires (API = Application Programming Interface) qui sont utilisées par de nombreuses applications mobiles.
Cela enferme les utilisateurs dans l'écosystème Google.
Même si vous n'utilisez pas ces applications sur votre téléphone Android ou si vous renoncez à ouvrir un compte Google, votre appareil utilise toujours, à votre insu, un grand nombre de ces services et fonctionnalités Google pour fonctionner correctement.
La plupart de ces services sont intégrés aux applications que vous utilisez quotidiennement dès la phase de développement. Qu'il s'agisse de recevoir une notification de votre application bancaire ou d'essayer de localiser un taxi à héler pour une course, la dépendance à l'égard de Google domine l'expérience utilisateur.

La suppression du Play Store de Google peut avoir pour conséquence que les principales fonctionnalités du téléphone ne fonctionnent pas.
NDLA : Le Google Play Store est un magasin qu'on peut utiliser ou pas ? n'est-ce pas plutôt l'arrêt ou la désactivation du Google Services Framework qui peut provoquer des perturbations dans un smartphone Android "standard" ?
Cela empêcherait les applications les plus utilisées de fonctionner. Vous pouvez légitimement choisir de vous passer des services de Google, par exemple avec un téléphone Linux (NDLA « y-a-t-il des exemples de téléphones Linux ? »). L'inconvénient est de se retrouver sans aucune application. Une autre option est d'utiliser une ROM (système d’exploitation) personnalisée avec un magasin alternatif d'applications comme F-droid qui distribue uniquement des applications gratuites et open source, mais vous serez limité en termes de choix d'applications.
microG est une ré-implémentation en logiciel libre et open source des bibliothèques propriétaires de Google.

Nous avons invité son créateur et développeur, Marvin Wißfeld, à nous en dire plus sur les concepts clés de la mise en œuvre de microG.

Question : Pouvez-vous nous en dire un peu plus sur vous et votre parcours ?

Réponse : J'ai commencé à programmer lorsque j'avais tout juste 12 ans. Je contribue à des projets open-source depuis 2010. J'ai terminé mon master en informatique il y a tout juste deux ans. J'aime beaucoup bricoler avec le système d'exploitation Android mais je suis également impliqué dans les développements autour de la norme ouverte IETF pour la messagerie instantanée XMPP.


Q : Comment le projet microG a-t-il commencé ?

J'ai supprimé les applications et services Google de mon premier smartphone en 2012. Mon principal problème avec CyanogenMod (NDLA : système d’exploitation pour smartphones basé sur Android) sans les services Google a été que le GPS était extrêmement lent, mangeant facilement 2 à 3 % du temps de la batterie avant de pouvoir fixer un emplacement. Pour résoudre ce problème, j'ai développé une alternative au composant de localisation basé sur le réseau de Google. Quelques mois plus tard, je voulais désespérément jouer à un jeu qui nécessitait de se connecter avec un compte Google. Cela m'a « obligé » à développer un composant alternatif de gestion de compte Google. Ces travaux ont jeté les bases de ce qu'est microG aujourd'hui, bien qu'il soit devenu un projet beaucoup plus vaste lorsque Google a commencé à fournir les Play Services, une collection toujours plus grande de services propriétaires.


Q : Travaillez-vous seul ou avez-vous d'autres développeurs sur le projet ?

J'ai fondé microG comme un projet open-source, acceptant les contributions de tout développeur intéressé. Plus de 50 personnes ont contribué au code ou aux traductions.
Cependant, plus de 90% du code actuel est écrit par moi-même.


Q : Pouvez-vous expliquer en termes simples comment microG est capable de simuler les services Google et de faire fonctionner des applications sur les smartphones Android ?

Le système d'exploitation Android permet aux développeurs de créer des applications qui ne sont pas visibles pour les utilisateurs finaux, mais qui agissent uniquement comme un service auquel d'autres applications ont accès.
Les différents services Google sont fournis par le biais de ces applications de service. Lorsqu'elles accèdent à ces applications de service, les applications des utilisateurs finaux le font via un langage spécial qui a été prédéfini pour cette communication. microG ressemble et se comporte exactement comme les applications de service Google originales et comprend le langage qui est parlé dans cette communication. Ainsi, il est impossible pour les applications de savoir si elles fonctionnent dans une infrastructure Google ou sur un système utilisant microG.

L'un des éléments clés du "look like Google" est l'usurpation de signature (signature spoofing). Toutes les applications Android sont signées de manière cryptographique à l'aide de la clé privée de leur développeur. Étant donné que la signature de la clé privée des services Google est uniquement entre leurs mains, microG ne peut pas créer une signature qui ressemble à celle de Google.

Heureusement, les applications ne sont pas censées vérifier elles-mêmes la signature cryptographique, mais seulement demander au système d'exploitation de le faire. Ainsi, les systèmes d'exploitation qui supportent une telle usurpation de signature, comme /e/OS, peuvent dire aux applications qu'ils ont vérifié que microG est correctement signé avec une clé privée de Google, même si ce n'est pas le cas.


Q : Récemment, microG a ajouté une option pour les applications de recherche de contacts COVID-19. Pouvez-vous nous donner des détails sur le fonctionnement de ces applications ?

L'API des notifications d'exposition utilisée par les applications de recherche de contacts COVID-19 offre quatre fonctionnalités à ces applications :
- Recherche Bluetooth : votre téléphone diffuse en permanence un identifiant de proximité mobile (RPI = Rolling Proximity Identifier) via Bluetooth. Toutes les 10 minutes, votre appareil génère un nouveau RPI à publier, afin qu'il soit impossible de vous suivre. Les RPI sont dérivés d'une clé privée qui est générée de manière aléatoire une fois par jour par votre appareil. Cette dérivation garantit de manière cryptographique que les RPI ne peuvent pas être liés les uns aux autres, sauf si vous avez partagé la clé privée.
- Analyse Bluetooth : toutes les 5 minutes environ, votre téléphone recherche les dispositifs Bluetooth à proximité qui diffusent des RPI et stocke le RPI avec un horodatage dans une base de données locale, c’est à dire sur le téléphone lui-même.
- Partage des clés : si vous avez été testé positif au COVID-19, vous pouvez demander à votre téléphone de partager vos clés privées des 14 derniers jours avec l'application de recherche des contacts COVID-19. Ce n'est qu'avec cette clé privée que d'autres personnes pourront voir si elles ont été en contact avec vous pendant plus de 10 minutes. La mise en œuvre de microG permettra de s'assurer que ce partage de clé ne se fasse pas sans le consentement explicite de l'utilisateur.
- Calcul du risque : sur la base de la liste des clés privées partagées par l'application compagnon (telle que « tous anti-Covid ») et de la liste des RPI collectés au cours des 14 derniers jours, votre téléphone vérifie si vous avez été en contact étroit avec une personne qui aurait été testée positive. Votre téléphone calcule un score de risque total et fournit à l'application compagnon des informations sur la date et l'heure, la durée du contact et l'intensité du signal de l'exposition.

L'application compagnon n'apprendra pas quelles clés ou quelles personnes ont été en contact étroit, et n'obtiendra aucune information sur le lieu du contact.

Avant d'activer ces fonctions, microG demande à l'utilisateur son consentement explicite. Tout cela se passe localement sur l'appareil et aucune interaction avec les serveurs de Google ou d'Apple n'est nécessaire. En outre, la plupart des gouvernements ont accepté de rendre leur application compagnon open-source afin qu'elle puisse être examinée par le public et qu'elle n'inclue aucune transmission de données non désirée en dehors du partage de clés décrit ci-dessus.


Q : Plusieurs utilisateurs du forum /e/ ne cessent de nous demander si microG est sûr car ils voient des références à Google dans le code ou les noms de fichiers. Comment répondriez-vous à cette question ?

Il y a principalement deux raisons pour lesquelles Google apparaît dans le code source de microG :

1) comme je l'ai décrit plus haut, microG doit parler un langage spécial avec les applications qui utilisent les services qu'elle fournit. Ce langage contient souvent le mot Google. Si microG n'incluait pas ces mots dans le langage, la communication ne serait pas possible.

2) certains services de microG nécessitent que votre appareil se connecte à un serveur de Google. Le plus important de ces services est le service de notification « push ». Ce service serait totalement impossible si votre appareil ne recevait pas de notifications push de Google, et votre appareil doit donc communiquer avec les serveurs de Google. Cependant, tous les services de microG qui nécessitent une connexion aux services Google sont facultatifs et peuvent être désactivés sans problème pour les services qui n'ont pas besoin de se connecter à Google. Il est important de noter que tant que vous n'êtes pas connecté à un compte Google avec microG, ces connexions aux serveurs restent anonymes.


Q : Avez-vous des plans de modifications et d'améliorations futures pour microG ?
microG a encore beaucoup de choses à faire pour ajouter des fonctionnalités supplémentaires et améliorer celles qui existent déjà.
Actuellement, je me concentre sur l'ajout d'un support complet pour un service appelé "Firebase Authentication" qui est utilisé dans de nombreuses applications au cours du processus de connexion ou d'enregistrement - et donc s'il est absent, ces applications échouent lorsqu'elles essaient de vous connecter.
Le travail sur microG n'est de toute façon jamais terminé : Google ajoute de nouveaux services propriétaires à Android tous les quelques mois.

Plus d’informations sur le projet microG : https://microg.org/
JLG
actuellement en service : Acer 7630 + LinuxMint 19.3
à venir HP Probook + Fedora 39
Répondre