Différences entre les versions de « Replicant : appareils mobiles, logiciels libres et vie privée - Paul Kocialkowski - PSESHSF 2016 »

De April MediaWiki
Aller à la navigationAller à la recherche
(Page créée avec « Catégorie:Transcriptions '''Titre :''' Replicant : appareils mobiles, logiciels libres et vie privée '''Intervenant :''' Paul Kocialkowski '''Lieu :''' PSESHSF ... »)
 
Ligne 12 : Ligne 12 :
 
'''Durée :''' 50 min 15
 
'''Durée :''' 50 min 15
  
'''[https://www.youtube.com/watch?v=sCz4PttwnLY Pour visionner la vidéo]'''
+
'''[http://data.passageenseine.org/2016/mp4/PSESHSF-2016%20-%20Paul%20Kocialkowski%20-%20Replicant%20:%20appareils%20mobiles,%20logiciels%20libres%20et%20vie%20priv%C3%A9e.mp4 Pour visionner la vidéo]'''
  
 
'''[http://data.passageenseine.org/2016/slides/replicant.pdf Pour télécharger la présentation]'''
 
'''[http://data.passageenseine.org/2016/slides/replicant.pdf Pour télécharger la présentation]'''

Version du 28 juillet 2016 à 15:35


Titre : Replicant : appareils mobiles, logiciels libres et vie privée

Intervenant : Paul Kocialkowski

Lieu : PSESHSF - Pas Sage En Seine Hacker Space festival

Date : Juillet 2016

Durée : 50 min 15

Pour visionner la vidéo

Pour télécharger la présentation

Statut : Transcription MO

Description

Cet exposé présentera Replicant dans le cadre de l'initiative visant à libérer les appareils mobiles.

En premier lieu, les problèmes majeurs liés à la liberté sur ces appareils seront abordés. Il s'agira de détailler la situation pour chaque composant et à chaque niveau, en proposant ainsi un aperçu complet. Ainsi, de nombreuses considérations sur différents aspects seront présentées, allant de la liberté du matériel jusqu'au système d'exploitation, en passer par les micrologiciels.

Après avoir dressé un bilan de la situation, les remédiations possibles à plus ou moins court terme seront présentées. C'est dans ce cadre que s'inscrit le projet Replicant, distribution entièrement libre d'Android pour plusieurs appareils, un système mobile libre mettant l'accent sur la liberté et la vie privée/sécurité.

L'état du projet ainsi que les différents challenges et objectifs futurs seront ainsi présentés.

Transcription

00'

Je m'appelle Paul Kocialkowski. Je suis développeur Replicant et je vais vous parler un petit peu d’appareils mobiles, et de vie privée et de sécurité et de logiciels libres.

Tout d'abord je vais vous présenter ce que sont ces appareils mobiles du point de vue de leurs composants, mais aussi des problématiques que tout cela implique du point de vue de la liberté, de la vie privée et de la sécurité.

Pour commencer, un appareil mobile c'est avant tout composé d'un processeur. Mais en fait il n'y en a pas qu'un seul, il y a plusieurs processeurs à l'intérieur. On a un processeur principal qui exécute le système d'exploitation qu'on connaît, mais on a aussi des processeurs auxiliaires de calcul qui vont traiter différentes tâches. C'est par exemple le cas du GPU qui va traiter les tâches liées au graphique ou d'autres processeurs, par exemple d'accélération pour le décodage ou l'encodage multimédia. Et on trouve enfin un processeur de communication, qu'on appelle aussi le modem, et qui va permettre de communiquer avec le réseau téléphonique, le réseau GSM. En fait on en trouve plusieurs. On peut aussi catégoriser les processeurs pour le Wi-fi ou le Bluetooth de cette manière. Et on trouve également des contrôleurs et des périphériques.

Ces contrôleurs et ces périphériques vont servir à gérer tout ce qui est en fait les entrées-sorties, donc 'écran tactile, tous les capteurs qu'on va trouver, l'écran même du téléphone, tout un tas de choses en fait.

Et finalement, ces composants-là sont implémentés de plusieurs manières différentes. On a tout d'abord un aspect matériel qu'on va traduire sous la forme d'un design matériel puisque le matériel c'est quelque chose de physique et le design c'est sa représentation immatérielle qui caractérise, en fait, le fonctionnement du composant. Donc on va parler vraiment de design matériel, et on a le côté logiciel qui s’exécute sur ce matériel.

Si on regarde un petit peu la situation actuelle au niveau de ces composants, on trouve que le nombre de composants programmés, donc le nombre de composants qui vont exécuter du logiciel n'a fait qu'augmenter au fur et à mesure du temps. Et qu'en fait le traitement des informations et des données a été de plus en plus délocalisé dans, en particulier, les processeurs auxiliaires.

On constate également que tous ces composants ont de plus en plus accès à nos communications personnelles, en particulier pour les appareils mobiles : on s'en sert pour téléphoner, pour communiquer avec tout le monde et on stocke énormément de données auxquelles ces composants ont également accès. Ça sera des données plus ou moins personnelles, mais il y en a une grande quantité.

Ça pose donc un certain nombre de problématiques. Tout d’abord on peut se demander est-ce qu'on peut avoir confiance en cette technologie puisque finalement on lui donne quand même beaucoup d’informations à propos de nous ? Est-ce qu'on peut avoir confiance ? Et pour avoir confiance, il faut contrôler cette technologie, il faut contrôler ces appareils. Est-ce qu'on peut vraiment les contrôler ? Et puis on peut aussi s'intéresser à leur fonctionnement ? On a envie de comprendre comment ces appareils fonctionnent et on a envie de préserver ce savoir, qu'il ne soit pas juste la propriété de certaines entreprises, mais que ce savoir soit un bien commun et qu'il soit possible pour tout le monde de comprendre comment fonctionne son appareil mobile ou son ordinateur en général, parce que, après tout, ça peut en intéresser certains parmi nous.

Tout ça, en fait, c’est pondéré par le degré de complexité de ces puces. Si ces puces sont très puissantes et qu'elles ont une capacité de calcul très élevée, on peut supposer que les problèmes de confiance et de contrôle vont être amplifiés. Si la puce est capable de faire beaucoup de choses avec nos données, on a beaucoup plus de risques concernant nos données elles-mêmes.

Pour garantir ces questions de contrôle et ces questions de confiance, on a ces libertés fondamentales que Richard Stallman a énoncé dans les années 80. Il s'agit de pouvoir utiliser le logiciel ou la technologie, de manière plus générale, pour tous les usages, de pouvoir l'étudier, le modifier, mais également de redistribuer cette technologie, donc sous forme immatérielle, il s'agit des design ,encore une fois, et de pouvoir les redistribuer, modifiés ou non. Effectivement ces libertés s'appliquent aux deux aspects qui composent les appareils mobiles, mais c'est vrai pour l'informatique en général, c’est-à-dire à la fois le design matériel et le logiciel.

Je vais maintenant caractériser un petit peu cet aspect du design matériel qui est, je l'avouerai, pas très souvent explicité.

On trouve, à ce niveau-là, deux technologies bien distinctes. La première ce sont les circuits imprimés. Ce sont donc les cartes sur lesquelles on va poser tous les différents composants et les relier entre eux avec différents autres composants, actifs ou passifs, des résistances, des condensateurs, des diodes, tout ce que vous voulez.

Et puis on a les circuits intégrés qui sont vraiment les puces dans lesquelles il y a la logique elle-même, où le vrai traitement est effectué. On en a de deux types. On va avoir des puces analogiques ou numériques. Et donc les puces analogiques vont utiliser des tensions continues. Les puces numériques vont utiliser des tensions discrètes, qui vont représenter des 1 et des 0 et une sous-catégorie de puces numériques ce seront les processeurs qu'on peut programmer. C’est-à-dire on peut leur donner des instructions et ils vont adapter leur fonctionnement en fonction de ces instructions, c’est-à-dire qu'ils n'ont pas, en fait, un fonctionnement fixe. C'est bien comme ça qu'on définit un processeur et qu'on définit ce que c'est que du logiciel : c'est une série d'instructions pour dire au circuit ce qu'il doit faire.

Si on s'intéresse à la question de libérer le matériel, de quoi il s'agit ? Eh bien si on reprend les libertés fondamentales que j'ai énoncées, il s'agit de pouvoir modifier le matériel. Pour ça on a besoin d'accéder à ce qu'on appelle le code source, donc la recette qui caractérise le fonctionnement de ce matériel. Pour le matériel on va appeler ça le design matériel, ce qui est donc l'équivalent du code source pour le logiciel, et c'est ça qu'on va chercher à vouloir modifier. Et ce design matériel est représenté sous un format particulier, un format numérique, parce que le matériel aujourd'hui est créé par des ordinateurs, plus personne ne crée de puce à la main en dessinant les calques qu'il faut pour créer les transistors. Tout ça est au format numérique, donc il y a des questions de formats de fichiers qui se posent, également de chaînes d'outils. Est-ce que les formats qu'on utilise pour représenter ce matériel sont compréhensibles, est-ce qu'il y a de la documentation sur la manière dont ce design est représenté ? Et est-ce que les outils qui permettent de le modifier mais aussi de recréer de nouvelles puces, sont des outils libres ou pas ? Donc ce sont là aussi des questions qui se posent.

Et enfin si on s'intéresse au matériel, il y a une vraie question de coût et de dimension qu'on ne retrouve pas avec l'aspect logiciel. C'est-à-dire que si on essaie de produire une nouvelle carte, un circuit imprimé typiquement, on a besoin d'une certaine infrastructure. Il faut des machines assez complexes qui sont capables de créer des pistes de circuits imprimés, les mettre toutes ensemble et créer une nouvelle carte. Ça, ça demande donc une grosse infrastructure et généralement ça coûte cher et on ne peut pas vraiment faire ça tout seul chez soi.

Et finalement, si on s'intéresse aux circuits intégrés, donc aux puces en silicone (silicium, NdT) elles-mêmes, là les coûts sont complètement astronomiques. Il faut des usines entières qui coûtent des milliards d'euros à construire. Donc finalement on a vraiment une question de confiance si on souhaite réaliser nous-mêmes nos circuits, parce qu'on ne va pas vraiment pouvoir les réaliser nous-mêmes ! On va devoir faire appel à un tiers qui contrôle les machines et la grosse usine pour fabriquer ces choses-là. Et donc, là aussi, on a une question de confiance. On n'a plus le contrôle sur toute la chaîne de production, mais on doit déléguer à un tiers. Donc potentiellement un tiers qui pourra modifier le circuit sans nous le dire et on aura peu de moyens de vérifier.

Donc si on regarde la situation actuelle, on dirait que c'est possible à certains niveaux parce que, finalement, créer des circuits imprimés, donc juste les cartes elles-mêmes, il y a quand même beaucoup de fabricants qui le font, ce ne sont pas des coûts exorbitants, ça peut rester en dessous du millier d'euros, donc ça reste raisonnable, en tout cas pour certaines bourses.

On trouve au niveau des circuits intégrés beaucoup moins de possibilités pour les individus, cependant plusieurs initiatives de circuits intégrés libres. Donc il s'agit de leur design encore fois. Plusieurs telles initiatives existent, donc OpenSPARC, OpenRISC, LEON, LM32, lowRISC, tout ça ce sont en fait des designs de processeurs dont le design est disponible soit dans le domaine public ou soit sous une licence libre. Donc ça existe mais concrètement c'est très compliqué de créer soi-même des puces à partir de ces designsparce que ça coûte très cher.

On a la même chose pour les circuits imprimés. L'Arduino est un exemple connu avec un design de circuit imprimé libre. Il y en d'autres, des choses un peu plus complexes : l'USB armory, Novena, sont deux ordinateurs beaucoup plus puissants qu'un Arduino et qui ont également un design de circuit imprimé libre. Et on trouve souvent une certaine confusion par rapport à ce qu'on appelle le mouvement open hardware qui caractérise de manière assez floue plusieurs aspects, notamment la documentation du matériel. On va avoir tendance à qualifier d'open hardware des choses qui, en fait, ont simplement un matériel documenté dans le sens où les schémas sont mis à disposition mais les schémas ne sont pas une forme modifiable du design matériel. Donc finalement tout ce qui est open hardware, n'est pas forcément du matériel libre et la distinction est en fait assez floue.


09' 15

Je parle de ça de manière très générale,