vendredi 6 mars 2015

Flicage-brouillon - Partie 3 chapitre 24 - Le recours à la cryptographie

La cryptographie est une des pierres angulaires du contrôle de nos données. Elle permet, en utilisant un secret appelé clé (généralement un mot de passe), d’assurer la confidentialité, l’authenticité et l’intégrité de données, qu’il s’agisse de fichiers ou de messages.

La cryptographie est essentielle aujourd’hui, car nos différents appareils (PC, smartphone, tablette, serveur) communiquent entre eux via des réseaux interconnectés sur lesquels nous n’avons pas le contrôle : il est possible qu’un tiers écoute nos données pendant qu’elles transitent et cherche à en récupérer une copie, souhaite modifier nos messages ou veule se faire passer pour quelqu’un qu’il n’est pas.

Un peu de vocabulaire

  • Chiffrer : transformer un contenu en clair à l’aide d’une clé (le mot de passe) en un contenu incompréhensible, le contenu chiffré.
  • Déchiffrer : transformer un contenu chiffré (donc incompréhensible) en contenu en clair à l’aide de la clé.
  • Décrypter : retrouver le contenu en clair à partir du contenu chiffré sans avoir la clé.
  • Crypter : ce verbe n’existe pas et ne devrait donc pas être utiliser en français (mais nos amis québécois l’utilisent à la place de chiffrer).

Mot de passe et cryptographie symétrique

L’utilisation d’un mot de passe relève de ce qu’on appelle le chiffrement symétrique. Le mot de passe permet de chiffrer un contenu, et le même mot de passe sera utilisé pour déchiffré le contenu chiffrer pour retrouver le contenu en clair. Le chiffrement symétrique est très pratique dans certains cas (chiffrer ses fichiers sur son disque dur, par exemple), mais peu pratiques dans d’autres cas, par exemple pour envoyer un message à des correspondants. En effet, il faudrait aussi envoyer le mot de passe en clair pour qu’ils puissent déchiffrer ce que je leur envoie. Ensuite, à l’usage, mon mot de passe serait connu de plus en plus de gens, ce qui, par définition, le rendrait de moins en moins secret et de plus en plus inefficace.

Cryptographie asymétrique : clé privée et clé publique

La cryptographie asymétrique, aussi appelée aussi cryptographie à clé publique a été inventée à la fin du 20e siècle pour répondre aux limitations de la cryptographie symétrique (à mot de passe) expliquée ci-dessus.

Le principe repose sur l’existence de deux clés complémentaires. L’une est publique, connue de tout le monde. l’autre clé est secrète, connue seulement de son propriétaire.

Le contenu chiffré avec une clé peut être déchiffré avec l’autre, c’est ce qui donne le caractère asymétrique à ce genre de cryptographie et le rend très utile, en particulier dès qu’il s’agit d’envoyer des messages secrets à des tiers.

Ainsi, si Alice veut envoyer un message à Bob, elle prend la clé publique de Bob, qui peut être publié sur le site Web de Bob, par exemple, et chiffre le message avec. Seul Bob, détenteur de la clé privée correspondante, peut déchiffrer le message. Cela permet de préserver la confidentialité du message.

A l’inverse, si Bob chiffre un message avec sa clé privée, il pourra être déchiffré par tout ceux qui ont sa clé publique (qui est facile à trouver). On sera donc sûr que ce message a bien été envoyé par Bob. C’est un mécanisme de signature numérique qui permet d’assurer l’authenticité du message.

Le diable est dans les détails

L’obsolescence des algorithmes de chiffrement

Il existe de nombreux algorithmes de chiffrement, qui sont autant de méthodes possibles pour chiffrer et déchiffrer des contenus. Certaines de ces méthodes sont moins sûres que d’autres : le chiffrement repose sur les mathématiques et les chercheurs de cette science font des progrès réguliers, ce qui fait que certains algorithmes autrefois sûr ne le sont plus aujourd’hui, mais on découvre de nouveaux algorithmes qui sont encore plus solides. Comme les serrures du monde réel, la technologie progresse et ce qui était sûr hier ne l’est plus autant aujourd’hui.

Chiffrer le contenu ou le tuyau ?

Quand on veut transmettre un message secrètement d’un endroit à l’autre, il y a en gros deux méthodes :

  1. On chiffre le message lui-même, ce qui le rend illisible, et on l’envoie à son destinataire. Peut importe que d’autres le lisent en court de route, le contenu est incompréhensible. C’est le chiffrement de bout en bout.
  2. On ne chiffre pas le message, mais on le transmet par un moyen qui est sécurisé. On peut en effet créer un genre de « tunnel » sécurisé entre un ordinateur et un autre (c’est ce que signifie l’icône du cadenas et le S de HTTPS dans le navigateur Web). C’est le chiffrement de point à point.

Cette distinction entre chiffrement de bout en bout et point à point peut sembler minime, mais elle ne l’est pas. Prenons l’exemple du stockage de mes fichiers dans un service de « cloud ». Si le logiciel que j’utilise chiffre ces données localement avec une clé connue de moi seul, avant d’envoyer ces fichiers sur un serveur distant, je suis le seul à pouvoir lire mes données. Même si un pirate arrive à pénétrer dans le serveur en question ou si les autorités de police en font la demande au service, mes données sont illisibles car chiffrées.

Il arrive que des services de cloud promettent la main sur le coeur que nos données sont protégées car chiffrées. Mais en regardant d’un peu plus près, on découvrent que seul le transport de ces données est chiffré. En effet, mes fichiers transitent par un « tunnel sécurisé » entre mon ordinateur (ou mon smartphone) et le serveur distant. Mais elles y sont stockées en clair. Autrement dit, les services de polices et les éventuels pirates peuvent y accéder sans aucun problème. Et bien sûr, mes données peuvent être analysées par le service de cloud pour construire un profil de mes activités.

C’est pour cela qu’il faut bien se renseigner avant de choisir de tels services.

Dans le même genre, le très populaire service DropBox de partage de fichier est particulièrement fier de son système : les données sont chiffrées sur mon ordinateur, transitent aussi de façon chiffrées et sont stockées chiffrées sur les serveurs. Pourtant, certaines personnes dont Edward Snowden (le lanceur d’alerte de la NSA) est très clair : « il faut abandonner Dropbox ». La raison est toute simple : Dropbox chiffre nos données avec un mot de passe qu’elle conserve. Elle peut donc déchiffrer ces données sans qu’on en soit prévenu.

Conclusion

La cryptographie peut sembler complexe de prime abord, mais elle est essentielle pour protéger notre vie privée et contrer la surveillance de masse.

jeudi 5 mars 2015

Flicage-brouillon - Partie 3 chapitre 23 - La maîtrise du serveur

Comment est-il possible d’avoir les fonctionnalités offertes par le Cloud, avec des applications disponibles en permanence, avec nos données, sans pour autant laisser nos données à des tiers qui veulent les récupérer ?

C’est tout à fait possible, à condition d’avoir la maîtrise du serveur sur lequel tournent ces applications et où sont hébergées nos données.

L’auto-hébergement

On peut imaginer dès aujourd’hui qu’au lieu de mettre toutes nos données chez Google ou des services comme Dropbox.com (stockage de fichiers), Evernote.com (stockage de notes), Flickr.com (partage de photos), on les mette sur des serveurs qui seraient physiquement chez soi, directement connectés à l’ADSL. Comme il s’agit d’un usage individuel, l’ordinateur n’a pas besoin d’être surpuissant, ce qui permet d’avoir recours à des machines à bas coût consommant très peu d’électricité et ne chauffant quasiment pas. Par exemple, il existe des machines comme le Raspberry Pi qui sont de la taille d’une carte de crédit, valent une quarantaine d’euros et ne consomment que quelques Watts (compter 70 euros environ pour un kit complet avec boitier et alimentation). En connectant une telle machine à un disque dur USB, il est possible de disposer d’un serveur personnel à un prix ridiculement bas.

Par ailleurs, il existe d’ores et déjà dans le commerce une catégorie de produits appelés NAS (Network-Attached Storage). Ce sont des boitiers pouvant accueillir plusieurs disques durs associés à un petit processeur permettant de faire tourner un système d’exploitation et des applications. Certains de ces systèmes font tourner des logiciels libres.

Les limites de l’auto-hébergement

le A d’ADSL

L’accès Internet haut débit se fait très souvent avec une technologie appelée ADSL, qui signifie « Asymmetric Digital Subscriber Line ». Le souci, c’est le A d’ADSL, qui signifie que le débit des données est asymétrique : les données arrivent vers l’abonné plus vite qu’elles n’en partent. On dit alors que le débit sortant est inférieur au débit entrant. Cela peut-être avantageux dans le cas où on reçoit plus de données qu’on n’en émet, mais c’est un handicap quand il s’agit d’avoir son propre serveur à la maison, qui émet plus qu’il ne reçoit.

Par ailleurs, les fournisseurs d’accès Internet ont le plus souvent dans le contrat qui les lie à leurs abonnés spécifié qu’il était interdit d’héberger un serveur à la maison. À la lumière de ces clauses, on imagine sans peine que le choix de la technologie asymétrique ADSL ne relève pas du hasard et vise plutôt à verrouiller le client dans une position de consommateur.

Cela dit, la fibre optique, technologie bien plus rapide que l’ADSL, commence à se répandre. Et même si elle est aussi asymétrique, on arrive à avoir des débits sortants qui sont tellement importants que cela n’est plus un problème.

L’alimentation électrique

Il est des régions où le courant est moins stable qu’ailleurs. Cela peut être gênant dans la mesure où cela affecte la disponibilité du serveur et de l’équipement réseau.

La sauvegarde des données.

Chaque installation serveur doit disposer d’une procédure de sauvegarde. On peut imaginer une sauvegarde chiffrée envoyée à d’autres systèmes de façon réciproque, chacun ayant une copie chiffrée. De tels systèmes distribués existent, comme par exemple MaidSafe.

L’administration du serveur

Les utilisateurs de Cloud sont habitués à ce que le sytème fonctionne directement et sans maintenance. En cas de problème, les équipes gérant le cloud résolvent le problème. C’est un défi que les solutions libres et décentralisées vont devoir relever : de telles solutions doivent être triviales à administrer pour qu’une grande partie des utilisateurs puisse s’en charger. Cela peut sembler utopique pour l’instant, mais cela n’est pas impossible à réaliser.

mercredi 4 mars 2015

Flicage-brouillon - Partie 3 chapitre 22 - Le logiciel libre

Le logiciel libre est une condition nécessaire (mais pas suffisante) pour avoir le contrôle et la maîtrise de l’informatique que nous utilisons. En effet, il est possible d’accéder au code du logiciel libre pour l’analyser, l’auditer, comprendre son fonctionnement et finalement se l’approprier en le modifiant si nécessaire. Cette transparence du logiciel libre est garante de la confiance que l’on pourra lui accorder.

À l’inverse, le logiciel propriétaire est une boite noire : on ne sait pas exactement ce qui est fait par ce logiciel. L’utilisateur en est réduit à croire sur parole le fournisseur du logiciel, lequel, pour différentes raisons, peut avoir introduit dans le produit fourni des portes dérobées, soit pour des raisons mercantiles, soit sous la pression de services de renseignements, soi à son insu.

Si le logiciel libre est infiniment supérieur au logiciel propriétaire pour ce qui est de la transparence, il a d’autre défis à relever, en particulier autour de l’ergonomie et du modèle commercial.

l’expérience utilisateur

Bien trop souvent, les logiciels libres souffrent d’un déficit d’ergonomie. Dans le jargon informatique, on parle d’« expérience utilisateur » (UX, User Experience) imparfaite. Ca n’est pas simplement un problème d’esthétique, mais plutôt de simplicité et d’intuition quand il s’agit d’accomplir une tâche avec le logiciel en question. Ce sont des questions qui touchent à la facilité d’usage, à l’évidence de l’interface, au fait que l’utilisateur n’a pas à réfléchir (ou le moins possible) pour se servir de l’outil.

C’est un sujet difficile à aborder pour la plupart des projets de logiciels libres, et ce pour plusieurs raisons.

D’une part, les développeurs de logiciels ont tendance à avoir internalisé le fonctionnement du logiciel sur lequel ils travaillent. Du coup, pour eux, il est évident qu’il faut passer par l’étape 1 avec de faire l’étape 2 puis la 3. C’est normal, ils ont eux-même conçu le logiciel. Ils connaissent son fonctionnement de l’intérieur.

Par contre, l’utilisateur final n’a pas cette connaissance intime du produit et de son architecture. Il a donc besoin d’être guidé autant que possible, besoin qu’on ne lui offre pas trop d’options inutiles à cette étape du processus.

Par ailleurs, les développeurs ont souvent un parti-pris pour des approches qui sont très efficaces mais qui peuvent rebuter l’utilisateur final. Je prends un exemple : la ligne de commande, ce mode d’interaction avec l’ordinateur qui consiste à taper des commandes dans un « terminal » au lieu de cliquer sur des boutons avec une souris. La ligne de commande peut-être formidable de puissance par sa concision. Elle peut aussi être reproduite facilement et programmée dans des « scripts ». Pour toutes ces raisons, elle est souvent très appréciée des développeurs. Mais voilà, elle rebute l’immense majorité des utilisateurs. C’est une parfaite illustration de ce fossé qu’il faut combler entre développeurs et utilisateurs, faute de quoi l’investissement réalisé par le projet libre pour créer une bonne technologie ne deviendra pas un bon produit capable de concurrencer des logiciels propriétaires.

Pour cela, il faut avoir que l’expérience utilisateur soit une préoccupation permanente au sein du projet de logiciel libre, et ce dès le début de ce projet.

Imaginer de voir travailler des développeurs et des UX designers ensemble pour faire du logiciel libre n’est pas quelques chose d’impossible. L’expérience utilisateur a été un grand facteur de différenciation pour le navigateur Web Firefox, ce qui lui a permis de concurrencer Internet Explorer. La distribution GNU/Linux Ubuntu a fait de l’ergonomie son cheval de bataille et a permis son adoption par des personnes qui n’auraient pas pu, auparavant, utiliser Linux.

Des applications Web libres comme l’outil de blog Dotclear et plus récemment, Known ont brillamment démontré que libre et ergonomie n’étaient pas antinomiques. Dans les deux cas, cela a été rendu possible par la collaboration de UX designers et de développeurs.

L’épineux problème du business model

L’utilisation de logiciels libres implique une (petite) contrainte pour l’utilisateur : comprendre comment le logiciel en question est financé. Puisqu’a priori ça n’est pas via la collecte de données personnelles, comment le projet peut-il vivre ? Certains projets, comme Dotclear, cité plus haut, sont 100% non-lucratif et reposent sur le travail de bénévoles. Cela peut permettre à un tel projet de survivre, pour peu que l’équipe soit motivée. Malgré quelques aléas, Dotclear va bientôt fêter ses 12 ans.

A l’inverse, le projet Wikipédia, qui est un projet libre (d’encyclopédie plutôt que logiciel), a besoin de revenus pour payer l’infrastructure (serveurs, location de data-center, connexion à Internet) et ses permanents. Pour cela, Wikipédia fait régulièrement des appels aux dons. Cela en fait une encyclopédie gratuite… pour laquelle il faut faire des dons.

De nombreux projets de logiciels libres reposent sur les dons, et il appartient aux utilisateurs de ces logiciels de donner régulièrement pour que les projets soient pérennes. Pour ma part, je donne quelques dizaines d’euros par mois à ces projets. C’est toujours moins que mon abonnement Internet, et tout aussi important. Je vous encourage à donner en fonction de vos moyens, mais si tout le monde donnait 3 EUR par mois, nos logiciels seraient bien meilleurs !

mardi 3 mars 2015

Flicage-brouillon - Partie 3 chapitre 21 - 7 principes pour reprendre le contrôle

Pour reprendre la main sur l’informatique, il faut inventer des systèmes informatiques contrôlables par l’utilisateur et seulement par lui. Appelons ces systèmes des SIRCUS (Systèmes Informatiques Redonnant le Contrôle aux UtilisateurS[1].

Pour qu’un SIRCUS puisse exister, il faut reprendre la main autant que possible sur chacun des composants : le matériel, le logiciel et les réseaux qui relie les différents composants.

J’établis là quelques grands principes qui faut explorer pour parvenir à une solution idéale. Notons qu’il n’est pas nécessaire d’avoir une solution parfaite pour commencer à avancer dans cette direction.

Trois principes de base : le fondement technologique

1 - Du logiciel libre

Commençons par l’essentiel : le logiciel. Pour que l’utilisateur sache ce qu’il fait (transparence), pour pouvoir le modifier si nécessaire, pour que nous en ayons le contrôle, le logiciel doit impérativement être un logiciel libre.

2 - Le contrôle du serveur

Ensuite, il faut contrôler le matériel sur lequel tourne le logiciel. Pour le PC et le téléphone, cela semble aller de soi. Mais si on veut disposer des fonctionnalités de type Cloud, avec des données accessibles en permanence depuis plusieurs appareils, il faut un serveur, une machine constamment connectée à Internet. La solution consiste idéalement à héberger soi-même son propre serveur. C’est ce qu’on appelle l’auto-hébergement.

3 - Du chiffrement, encore du chiffrement !

Enfin, puisque des données vont transiter entre notre serveur et nos appareils (PC, smartphone, tablette), il faut qu’elles soient protégées des oreilles indiscrètes. Pour cela, il faut utiliser du chiffrement (parfois appelée « cryptographie »), qui permet de rendre les données incompréhensibles pour les personnes non autorisées, soit quand elles sont stockées, soit quand elles transitent sur le réseau.

4 - Éliminer le problème de fond : le profilage nécessaire à la publicité ciblée

La publicité ciblée est la source du profilage de tous les internautes. Comme le dit Bruce Schneier, chercheur en sécurité, « La surveillance est le modèle commercial de l’Internet. Nous construisons des systèmes qui espionnent les gens en échanges de services. C’est ce que les entreprises appellent du marketing ». Il faut trouver un modèle économique pour l’Internet qui ne repose pas sur le profilage des utilisateurs qui échappe à leur contrôle.

Aller plus loin que les solutions existantes

Pour être adoptés, les futurs outils respectueux de la vie privée devront satisfaire à 3 conditions (respectivement les 5e, 6e et 7e principes) :

  • 5 - Proposer une ergonomie parfaite, qui intègre les contraintes de la cryptographie
  • 6 - Être compatible avec les systèmes existants et à venir
  • 7 - Apporter un plus produit concret et visible immédiatement qui les différenciera des offres actuelles.

Je vous propose d’explorer, dans les chapitres qui suivent, ces grands principes que nous tous, que nous soyons citoyens, développeurs, start-ups ou politiques, devrons explorer pour construire une informatique où l’utilisateur a le contrôle de ses données et où la technologie est au service de l’humain.

Note

[1] On me pardonnera le côté capillotracté de l’acronyme, que j’ai voulu facile à retenir.

samedi 28 février 2015

Flicage-brouillon - Partie 2 chapitre 20 - Les services de renseignements

Les services de renseignements existent depuis longtemps, et l’on peut comprendre l’importance de leur mission qui participe à la sécurité nationale. Le code de la Défense précise qu’ils doivent « identifier l’ensemble des menaces et des risques susceptibles d’affecter la vie de la Nation, notamment en ce qui concerne la protection de la population, l’intégrité du territoire et la permanence des institutions de la République ».

Cette mission est respectable et nécessaire dans le cadre démocratique, dans la mesure où elle est légale et ciblée.

La surveillance de masse, comme expliqué au chapitre 8 ( « la vie privée dans la loi ») du présent ouvrage, est illégale et contraire à l’éthique.

Pourtant, la tentation de la surveillance de masse est grande, comme le fantasme de surveiller tout le monde, tout le temps, pour arriver au risque zéro et prévenir les problèmes avant qu’ils n’arrivent.

Mais le risque zéro, c’est surtout zéro liberté. C’est un état policier.

La surveillance de masse est-elle efficace ?

Il semblerait que surveiller toute la population ne soit pas la solution au problème du terrorisme, prétexte évoqué pour justifier la surveillance de masse. Ainsi, en décembre 2013, un membre de la Maison Blanche avouait que les milliards de dollars investis par la NSA dans l’écoute des américains n’avait pas empêché le moindre acte terroriste.

Plus récemment, en France, lors des attentats islamistes de janvier 2015, il est apparu que deux des trois djihadistes avaient été surveillés par la police pendant plusieurs années. D’aucuns, pour excuser l’inefficacité des services pour empêcher ces attentats, expliquent qu’il y a trop de monde à surveiller, que c’est comme chercher une aiguille dans une botte de foin. Mais avec la surveillance généralisée, on espère que multiplier la quantité de foin va faciliter la recherche de l’aiguille ?

La centralisation des données favorise la surveillance de masse

Pour un état, il est impossible car trop coûteux de surveiller chaque individu : il faudrait mettre des micros, des caméras, des capteurs partout, puis centraliser les données pour enfin les analyser.

Pourtant, cette tache titanesque est rendue possible par la coopération active de presque tout le monde : en nous équipant nous-mêmes de capteurs (smartphones et autres), en mettant les données générées dans quelques grands silos qui sont économiquement rentables (Google, Facebook, FitBit, opérateurs télécom et autres), nous rendons économiquement possible la surveillance de masse en abaissant son coût. Au lieu d’organiser la collecte de données, ce qui serait trop coûteux, les services de renseignement peuvent se contenter de parasiter un système auquel nous participons et que nous finançons sans mesurer les conséquences.

La situation en France

Depuis les révélations Snowden, on en sait infiniment plus sur la surveillance de masse dans les pays anglo-saxons, USA (avec la NSA) et le Royaume-Uni (avec le GCHQ) et leurs alliés (Australie, Canada et Nouvelle-Zélande), mais qu’en est-il en France ?

Il est difficile de le dire, compte tenu du peu d’information disponible publiquement.

On sait toutefois que la tentation de généraliser les écoutes est grande, comme partout dans le monde, même si la France n’a pas les budgets comparables à ceux des USA. A défaut de reprendre le budget, pourquoi ne pas s’inspirer des idées américaines ?

Ainsi, aux USA, la NSA n’a en théorie pas le droit d’espionner les citoyens américains. Pour contourner le problème, elle utilise plusieurs stratagèmes :

  • La NSA fait changer les lois pour permettre d’étendre la surveillance. La France suit déjà l’exemple de la NSA avec la récente Loi de Programmation Militaire, qui étend les pouvoirs de censure administrative.
  • La NSA demande à son allié, le Royaume-Uni, d’utiliser les ressources de son agence le GCHQ pour espionner les citoyens américains là où la NSA ne peut pas le faire. La France fait-elle de même avec l’Allemagne ou le Royaume-Uni ? On l’ignore, mais c’est très probable.
  • Il arrive aussi que la NSA ignore la loi tout en affirmant ne pas la violer. En France, on sait que c’est déjà le cas. Par exemple, on apprend dans un article du Canard Enchaîné qu’une douzaine d’équipements appelés IMSI-Catchers sont utilisés pour écouter toutes les conversations téléphoniques mobiles aux alentours, y compris les SMS et le trafic Internet. Comme le précise le Canard, « L’IMSI-Catcher n’a jamais été autorisé pour les écoutes administratives car ce système est jugé bien plus attentatoire aux libertés qu’une interception téléphonique classique[1] ». La CNCIS (Commission Nationale de Contrôle des Interceptions de Sécurité) « s’est émue mezza voce de ces violations de la loi ».

Que faire face à la surveillance de masse ?

Pour empêcher la surveillance de masse, deux approches complémentaires doivent être utilisées.

Politique et institutions

Ici, la démarche est celle d’un citoyen informé et acteur de la vie politique : il faut se tenir informé (si vous lisez cet ouvrage, c’est que vous avez probablement déjà cette démarche !), ne pas succomber aux discours sécuritaires qui, jouant sur l’émotion, mènent à des lois liberticides. Il faut s’assurer que les institutions fonctionnent bien.

Je ne vais pas m’étendre sur ce sujet, qui dépasse le thème de cet ouvrage, mais je suggère juste de se rapprocher d’une association appelée la Quadrature du Net, qui fait un travail remarquable d’information et d’action sur le sujet. Au passage, j’encourage mes lecteurs à donner à la Quadrature du Net pour qu’elle puisse continuer son action dans le temps avec encore plus de force.

Construire des systèmes résilients qui nous protègent

Au delà de la loi et de la politique, il est possible d’imaginer des systèmes informatiques qui rendraient très difficiles la surveillance de masse. C’est ce que je vous propose d’aborder dans la troisième partie de ce livre.

Note

[1] Numéro du 4 février 2015, page 3 : “La loi sur les écoutes court-circuitée par un drôle de gadget”.

- page 3 de 8 -