Tablette-smartphone-logiciel-libre
Bienvenue sur un projet | ||
du groupe de travail Sensibilisation |
Cette page présente une page de suivi en cours de réalisation.
Si vous souhaitez participer, n'hésitez pas à laisser votre avis sur la page de discussion en suivant au mieux ces recommandations.
Introduction
Les smartphones et les tablettes ont aujourd'hui envahi notre environnement que ce soit personnel, professionnel ou collectif :
- D'un point de vu personnel: il existe des milliers de bonnes raisons d'utiliser des smartphones et autres tablettes. Il n'est pas question de remettre en cause cette évolution mais plutôt de s'interroger sur les dangers liés aux différents logiciels utilisés et à la protection des données personnelles;
- D'un point de vu professionnel: si les opportunités existent et les smartphones sont source de gains de productivité palpables, il reste néanmoins de nombreuses zones d'ombre sur l'espionnage industriel, le traitement des données sans permission et les différentes portes dérobées des smartphones.
- D'un point de vue collectif: les collectivités, les structures d'enseignement s'empressent d'intégrer les différentes technologies mobiles. Si cet engouement est légitime, il doit se faire dans avec transparence et objectivité.
Il est dans les missions de l'April de donner aux citoyens et aux décideurs politiques des éléments de réflexions et de sonner l'alarme sur les risques liés à l'usage de ces différentes technologies.
La lecture est complexe car elle renvoie à plusieurs niveaux que ce soit les composants matériels, le système d'exploitation jusqu’au traitement des données. Tous ces éléments doivent être étudiés afin d'apporter une analyse de la situation actuelle mais aussi apporter des solutions pour une informatique mobile plus citoyenne. Dans cette page vous retrouverez une analyse du degré de liberté actuel des smartphones et tablettes au travers différentes domaines :
- Hardware : En amont, choisir le hardware en fonction de l'existence d'un bootloader/d'une amorce non verrouillé(e) et de pilotes libres et, lorsqu'il n'existe pas de pilotes libres pour un composant (cas de la puce GSM), en fonction de son isolation physique du reste des composants afin de limiter son pouvoir.
- Le système d'exploitation
- Les Applications
- Gestionnaire d'applications
- Données
Les différents domaines liés au mobile et problématiques associées (personne référente) :
Hardware & bootloader/amorce (todo:tbe)
- Bootloader/amorce ouvert. Peut on installler l'hypothétique OS de son choix sur son téléphone ? -> conseils d'achat.
Installer un autre système sur son appareil à la place de celui existant :
En dehors des rares cas où vous pourrez acheter un smartphone ou une tablette avec le système libre de votre choix, il vous faudra, comme c'est le cas avec les ordinateurs personnels, « écraser » le système fourni et le remplacer par le système d'exploitation de votre choix.
Cette opération peut se faire suivant deux techniques :
- Soit on reflashe l'appareil en utilisant le bootloader quand le constructeur le permet (c'est-à-dire si le bootloader n'est pas verrouillé),
- Sinon il faudra « rooter » le système de l'appareil (c'est-à-dire obtenir l'accès au compte root grâce au noyau Linux présent dans le système existant).
La possibilité d'installer un autre système est un point à bien examiner lors de l'achat de votre appareil. Attention : cette opération, mal réalisée, peut rendre votre appareil inutilisable.
Hardware & pilotes (todo:tbe)
Pas de maîtrise des composants (ni par le fabricant de téléphone ni par le développeur de l'OS). Pour deux composants des téléphones mobiles/ordiphones en particulier il est complexe de développer des pilotes libres par rétro-ingénierie : la partie graphique (2D, 3D, vidéo) et la partie communication.
Pourquoi des pilotes libres ?
1) Pour savoir ce que fait le pilote, comme tout logiciel (contrôle de la machine).
2) Pour ne pas être empêché de mettre à jour le système (impliquant une mise à jour de composants fondamentaux comme une nouvelle version d'une bibliothèque logicielle du système ou de nouvelles API) au motif qu'un pilote binaire n'aurait pas été adapté (pérénité de la machine et sécurité)
1) Les puces graphiques en présence et leur prise en charge au moyen de pilotes libres
État des lieux en date de mars 2014 :
- ARM Mali : pilote 2D/3D bien avancé mais pas encore intégré dans la pile graphique de Linux (il devrait l'être à relativement court terme probablement).
- Qualcomm Adreno : pilote 2D/3D libre pour A2xx et A3xx intégré dans la pile graphique de Linux (A4xx à suivre à court-moyen terme probablement, étant une évolution des A3xx).
- NVIDIA GeForce ULP (Tegra) : pilote 2D libre intégré dans la pile graphique de Linux pour Tegra 2/3 (pilote 2D pour Tegra 4 à suivre à court terme ; pilote 3D à suivre à court-moyen terme probablement).
- Vivante Corporation Vivante : pilote 2D libre intégré dans la pile graphique de Linux limité aux SoCs Marvell Armada 510 pour l'instant (Armada 610 à suivre à court terme probablement).
- Broadcom VideoCore : rétro-ingénierie complexe, pourtant il existe une initiative de pilote libre mais celle-ci est encore balbutiante. Surprise : en mars 2014 Broadcom a commencé à libérer code et documentation, mais il difficile de prédire l'impact que cela aura sur le développement du pilote libre.
- Imagination Technologies PowerVR Series 5 (SGX) : mieux vaut ne rien attendre côté rétro-ingénierie eu égard à la complexité de la tâche.
- Intel HD Graphics (apparu récemment, encore peu diffusé) : Intel fournit lui-même le pilote libre 2D/3D/vidéo et même temps que la documentation technique :).
=> À noter : L'accélération vidéo n'est pas indispensable car n'empêche pas l'affichage (d'autant que les shaders programmables du GPU peuvent être mis à contribution pour soulager le CPU). Mais ne pas recourir aux unités dédiées à la vidéo du SoC implique une consommation énergétique supérieure et donc une autonomie moindre.
=> Quel cœur graphique privilégier dans l'optique d'un pilote libre ?
Si les cœurs graphiques PowerVR d'Imagination sont à fuir comme la peste, les GeForce ULP (Tegra), Mali (200/400), Adreno et Vivante sont à privilégier pour qui espère un pilote libre à court ou moyen terme (En premier lieu Adreno bénéficie déjà d'un pilote 2D/3D communautaire, Mali n'est pas très loin derrière, et, si le pilote libre pour HD Graphics est directement fourni par Intel, la puce n'est pas encore très répandue dans le monde mobile. En deuxième lieu il sera intéressant de suivre les progrès des pilotes Vivante et Tegra. En troisième lieu il n'est pas interdit d'imaginer un jour un pilote libre pour les VideoCore, mais l'architecture alambiquée de la puce – tout comme celle des PowerVR – incite à la prudence)[1].
2) La partie communication : le problème de l'incontournable (à ce jour) pile GSM propriétaire et son emprise variable
=> État des lieux en date de mars 2014 : Tant que des composants aussi fondamentaux que l'accès au réseau resteront gérés par des pilotes binaires propriétaires, il sera difficile de s'assurer que la vie privée de l'utilisateur sera bien respectée. Hélas ! Il n'existe pas aujourd'hui de pilote libre pour la partie modem des téléphones (feature phone ou smartphone) (il y a bien le projet OsmocomBB, mais peu de téléphones sont supportés – et aucun smartphone – et ce n'est pas encore utilisable).
=> Que faire en attendant ? Dans la mesure où aucune solution matérielle actuelle n'offre une partie réseau libre, le cloisonnement du modem limite le risque d'espionnage de l'utilisateur. Ainsi les modèles sur lesquels le système d'exploitation libre Replicant est porté sont choisis dorénavant notamment en fonction de l'isolation du modem : Il s'agit des plate-formes Exynos de Samsung, ou encore de la plateforme OMAP de Texas Instruments (qui équipe notamment le smartphone GTA04 et dont le modem est un CPU distinct exécutant son propre système d'exploitation (suggestion : évaluer la taille du « pilote » – en fait un miniOS – pour rendre l'argument significatif. NB : dans leRaspberry Pi par exemple, c'est le cœur graphique, au pilote privateur, qui initialise les autres composants du SoC : on voit bien qu'il est le véritable coeur du SoC), certes non-libre, mais dialoguant avec le reste du matériel au moyen de logiciels libres dans le cas de Replicant ce qui permet de limiter son action à sa fonction de modem). À l'inverse le SoC Qualcomm QSD qui a le modem embarqué dans le SoC, lequel modem a accès à la mémoire etc. est à éviter. Hélas les SoC Qualcomm QSD sont ceux choisis pour faire tourner les smartphones Firefox OS pour le moment. De même le SoC choisi par Fairphone a le modem inclus sur le SoC ce qui ne permet pas de contrôler son activité[2] ).
En cliquant sur la page dédiée du wiki Replicant de chaque appareil supporté par cet OS, on a le diagnostic de l'emprise du modem sur le reste des composants http://redmine.replicant.us/projects/replicant/wiki#Technical-infos-on-the-devices. Par exemple pour les Samsung Galaxy S2 et S3 le risque est "limité" à "Modem could access GPS" (en sachant que par ailleurs l'opérateur localise son client par triangulation) alors que le GTA04 profite de l'isolation complète du modem. Comparer avec les HTC Dream/HTC Magic construits sur un SoC Qualcomm : "The modem controls sound, GPS, main CPU memory (read/write)"... effrayant, non ?
Lire à ce sujet : Entretien avec Paul Kocialkowski, développeur Replicant
Systèmes d'exploitation (todo:fpo)
Système d'exploitation[3].
- 4 libertés ?
- problèmes des pilotes (pas de pilotes)
- + logiciels, services de base
- forks privateurs (samsung va "personnaliser" son android, Orange va ajouter des applications et des réglages imposés, etc.)
- API (-> libre -> gouvernance -> publique -> patent free ... sous ensembles des problématiques d'interop)
Android et dérivés
Android Open Source Project (AOSP) est un système d'exploitation open source, développé de façon faiblement communautaire par Google sur la base du noyau Linux, à la base de la distribution Android que l'on retrouve dans les téléphones de différentes marques certifiés par Google, mais aussi à la base de CyanogenMod, de Replicant (qui est soutenu par la Free Software Foundation), de Fire OS (qui équipe les tablettes Kindle Fire d'Amazon) ou encore de Nokia X Software Platform (qui équipe les téléphones Nokia X).
Voici un tableau pour illustrer les différences entre ces versions :
Système | Identification requise auprès d'une autre entité que l'opérateur télécom pour certaines fonctions ? | Magasin(s) d'applications ou de contenus | Possibilité d'installer d'autres magasins ? | Possibilité d'installer des applications sans passer par un magasin ? | Jeu d'applications intégrées | Caractéristiques/problèmes identifiés |
Android pré-installé et certifié par Google | Oui : auprès de Google, pour accéder au Play Store | Magasin non-libre de Google : Google Play Store | Oui | Oui | « Google Mobile Services » requis en complément d'AOSP : il s'agit d'un jeu d'applications et de services non-libres de Google (« Google Apps » : : Gmail, Maps, Hangouts, YouTube, Drive... sans oublier le Google Play Store lui-même) accompagnés d'API propriétaires à disposition des développeurs tiers dans le but, pour Google, de forcer le passage d'un écosystème d'applications Android à un écosystème d'applications dépendantes de Google et donc de ses conditions contractuelles http://arstechnica.com/gadgets/2013/10/googles-iron-grip-on-android-controlling-open-source-by-any-means-necessary/4/. Auxquelles il faut ajouter les applications et surcouches graphiques non-libres des constructeurs. | Système non-libre. Anti-fonctionnalités inhérentes aux applications non-libres (notamment : Google Play Store possède une porte dérobée par laquelle Google peut installer ou désinstaller des applications ; certains constructeurs modifient les applications pour espionner les utilisateurs http://www.beneaththewaves.net/Projects/Motorola_Is_Listening.html ; parmi les applications qu'ajoutent certains constructeurs se trouvent des applications permettant l'espionnage intégral des actions de l'utilisateur http://ecrans.liberation.fr/ecrans/2011/11/30/carrier-iq-le-mouchard-de-poche-d-android_954914) ; l'utilisateur n'a pas non plus la main sur le système lui-même (difficulté/impossibilité de supprimer les Google Apps pour qui souhaite ne garder que des applications libres). Un certain nombre d'appareils ont un chargeur de démarrage verrouillé et/ou ne peuvent être « rootés » par l'utilisateur. Côté développement, le SDK de Google exige de signer un contrat de licence privatrice (a contrario le SDK de Replicant est libre http://code.paulk.fr/article0008/what-s-up-with-the-android-sdk) |
Android Open Source Project (AOSP) | Non | Aucun | Oui | Oui | Jeu d'applications libres que Google laisse péricliter au profit de ses variantes non-libres http://arstechnica.com/gadgets/2013/10/googles-iron-grip-on-android-controlling-open-source-by-any-means-necessary/ Idem probablement pour les API d'Android indépendantes des services Google que ce dernier commence à remplacer par des versions non-libres, telle l'API de géolocalisation http://arstechnica.com/gadgets/2013/10/googles-iron-grip-on-android-controlling-open-source-by-any-means-necessary/4/ | Système libre (à part quelques firmwares cf https://linuxfr.org/nodes/89719/comments/1450809) mais qui n'inclut pas les pilotes nécessaires pour pouvoir fonctionner sur un appareil mobile. |
Fire OS | ? | Magasins non-libres d'Amazon : Amazon Appstore, Kindle Store, Amazon Instant Video, Amazon MP3 | ? | ? | Jeu d'applications et de services non-libres alternatifs : Nokia's Here Maps, navigateur Amazon Silk, Amazon Cloud Drive... | Système non-libre. |
Nokia X Software Platform | ? | Magasin non-libre de Nokia : Nokia Store | ? | ? | Jeu d'applications et de services non-libres alternatifs : Nokia's Here Maps, Nokia Xpress Browser, MixRadio, Skype, Outlook, OneDrive... | Système non-libre. |
CyanogenMod | ? | ? | ? | ? | ? | Système non-libre ? |
Replicant | Non | Magasin libre F-Droid | ? | ? | Jeu d'applications libres (celui de l'Android Open Source Project ?) | Système libre (à part quelques firmwares et pilotes ?). Côté développement, le SDK est libre aussi. |
Firefox OS
Firefox OS est un système d'exploitation open source, développé de façon communautaire sous la direction de la fondation à but non-lucratif Mozilla sur la base du noyau Linux et en s'appuyant sur les pilotes (pour la plupart non-libres) conçus pour Android. Toutes les applications sont écrites en langages Web et sont donc théoriquement indépendantes de la plate-forme.
Système | Identification requise auprès d'une autre entité que l'opérateur télécom pour certaines fonctions ? | Magasin(s) d'applications ou de contenus | Possibilité d'installer d'autres magasins ? | Possibilité d'installer des applications sans passer par un magasin ? | Jeu d'applications intégrées | Caractéristiques/problèmes identifiés |
Version téléchargeable sur le site du projet | Non ? | Non | Oui | Oui | ? | S'appuie sur des API Web (WebAPI) libres. N'inclut pas les pilotes nécessaires pour pouvoir fonctionner sur un appareil mobile. |
Version pré-installée et certifiée par Mozilla (« Powered by Firefox OS ») | Non ? | Firefox Marketplace (qui n'est autre qu'un site Web open source : zamboni), et éventuellement d'autres (au choix du fabricant) | Oui | Oui | ? | S'appuie sur des API Web (WebAPI) libres. Recourt aux pilotes Android généralement non-libres pour la plupart. |
Tizen
Tizen est un système d'exploitation open source, développé de façon communautaire notamment avec le concours de Samsung et Intel, sur la base du noyau Linux et en s'appuyant sur des pilotes compatibles avec les distributions GNU/Linux. Pour les applications qui sont écrites en langages Web, celles-ci sont théoriquement indépendantes de la plate-forme.
Système | Identification requise auprès d'une autre entité que l'opérateur télécom pour certaines fonctions ? | Magasin(s) d'applications ou de contenus | Possibilité d'installer d'autres magasins ? | Possibilité d'installer des applications sans passer par un magasin ? | Jeu d'applications intégrées | Caractéristiques/problèmes identifiés |
Version téléchargeable sur le site du projet | ? | ? | ? | ? | ? | S'appuie sur des API Web libres (d'autres API possibles en sus). Le SDK complet n'est pas libre https://developer.tizen.org/tizen-sdk-license-agreement bien que s'appuyant sur des briques libres https://developer.tizen.org/sites/default/files/page/sdk_opensource_license_announcement.pdf |
Version pré-installée sur les appareils mobiles | ? | ? | ? | ? | ? | S'appuie sur des API Web libres (d'autres API possibles en sus). Le SDK complet n'est pas libre https://developer.tizen.org/tizen-sdk-license-agreement bien que s'appuyant sur des briques libres https://developer.tizen.org/sites/default/files/page/sdk_opensource_license_announcement.pdf |
Applications (todo: jollfr)
- Variante: personnalisation, privatisation (4 libertés), choix par défaut, backdoor, bundling
- Langage: framework, SDK, Javascript
- Application: 4 libertés, cross-platform
- Sandboxing
Gestionnaire d'applications (todo:fpo)
- Gestion/contrôle des applications : puis-je installer ou supprimer les logiciels de mon choix ? Les partager ? Les étudier/modifier ?
- Choix du magasin : puis-je choisir l'origine de mes programmes ? Exemple : application RATP Androïd accessible uniquement dans le Playstore. L'appli est gratuite (et non libre) mais impose qu'on se vende à Google.
- Politique de gestion de contenus via les applicatifs
Données (todo: jollfr)
- Choix des données par défaut
- Accès aux données : qui à accès à quoi ? Comment ? ai-je le contrôle là dessus ?
- Informations liées au traitement des données : suis-je informé de ce qui est fait de mes données ?
- Localisation des données: Device (ou est-ce ? Chez moi ? chez un ami ? chez un inconnu ?), Fournisseurs (qui contrôle ?), données sur serveurs physiques (juridiction impliquée)
- Point à approfondir : La différence avec les PC. Quels spécificités posent les mobiles sur le pb des datas.
Terminologie
- SoC : « System on Chip », ou système sur puce : Tous les composants sont réunis sur une même puce conçue à la manière de légos : un coeur graphique 2D de chez X, un coeur 3D de chez Y, un coeur vidéo de chez Z...
- ARM : jeu d'instructions qui domine l'embarqué, concurrent du jeu d'instructions x86 (processeurs Intel Atom et Core, AMD A et FX) qui domine le desktop
- GPU : « Graphics Processing Unit », ou processeur graphique (par oposition au CPU qui est un processeur généraliste)
- feature phone : téléphone simple sans les fonctions d'un ordinateur (à l'inverse d'un smartphone qui est un ordinateur avec fonction téléphone)
- smartphone : Benjamin Bayart parle d' « ordinateur de poche » avec téléphone et appareil photo comme périphériques (source : http://data.confs.fr/enjeux_bayart/360p/), je trouve ça bien trouvé car ça situe bien les enjeux en faisant appel à toutes les questions déjà soulevées dans le domaine des ordinateurs « de bureau ».
Références
La première version de ce document a été mis au point sur le pad : http://pad.april.org/p/mobile-april
Liens
- Le rêve de Staline ou le cauchemar de Stallman
- Téléphones libres
- Android sans Google - Liberez votre Smartphone !
- Système d'exploitation mobile
- prism-break.org
- Le piège JavaScript
- Est ce que Cyanogen contribue aux tracking de ses utilisateurs? http://tuxicoman.jesuislibre.net/2013/12/est-ce-que-cyanogen-contribue-aux-tracking-de-ses-utilisateurs.html
- Vie privée : Google annule des réglages très utiles sur Android. "Avec Android 4.3, Google a donné la possibilité à l'usager de régler très précisément les autorisations d'accès pour chaque application. Or, la firme de Mountain View affirme qu'il n'était pas prévu de donner ce contrôle à l'usager, le groupe évoquant une expérimentation. Avec Android 4.4.2, ces réglages ont été retirés, Google pointant une instabilité logicielle." http://www.numerama.com/magazine/27827-vie-privee-google-annule-des-reglages-tres-utiles-sur-android.html
- Et côté DRM au sens large (contrôle des actions de l'utlisateur, en fait): Silencieusement, Google retire l'upload des PDF de Play Livres pour Android: "Google vient de pousser une nouvelle mise à jour pour son application Play Livres sous Android. Si la note de version n'indique aucun changement, il y en a pourtant un : il est désormais impossible d'uploader un PDF depuis son terminal mobile". Google a précisé que « cette fonctionnalité n'était présente qu'à titre expérimental et elle fera son retour plus tard »: http://www.pcinpact.com/news/85046-silencieusement-google-retire-upload-pdf-play-livres-pour-android.htm
- Intéressante illustration des probèmess de vie privée sur smartphones car mettant en jeu une application aussi "bête" que celle d'une lampe torche, utilisée pour collecter et revendre des informations sur l'utilisateur... https://linuxfr.org/users/benbben/journaux/informatique-de-confiance-et-android
- Google veut-il signer la fin du ROOT sur Android ?
- The second operating system hiding in every mobile phone
- Android et la liberté des utilisateurs