23 Prairial

On verra si j’arrive à me discipliner pour publier chaque jour quelques brèves…

Vomir

Fanta a trois ans et demi, elle vit en Côte d’Ivoire. Son père réside légalement en Italie. Pour la protéger de graves mutilations (excision), il a décidé de la faire venir à ses côtés. Les vaillants gardiens qui protègent nos frontières ont immédiatement découvert que cette enfant était illégale. Et l’ont enfermée cinq jours dans un centre de rétention. Toute seule comme une grande. Avant qu’elle comparaisse devant un juge, qui l’a rendue à ses parents. (comment une grande). « Je veux prendre l’engagement, si je suis élu à la présidence de la République, à mettre fin dès mai 2012 à la rétention des enfants » (François Hollande, dans une lettre au Réseau éducation sans frontières en mars 2012).

Modèle de menace

Héberger les services Internet de ses proches sur un serveur qu’on administre peut sembler une bonne idée pour un technophile. Cela permet tout à la fois de les émanciper de la curiosité des géants des services prétendument gratuits, et de protéger sa propre vie privée, puisque les messages qu’on échange avec eux ne finiront pas indexés par Gmail, Outlook ou Yahoo. Scénario idyllique tant que tout va bien. Mais qui devient soudain très inconfortable dès que des soupçons s’immiscent dans les relations. Quels rapports entretient réellement ma chérie avec son ex ? Mon frère ne serait-il pas en train de magouiller pour s’accaparer l’héritage de tante Ursule ? Est-ce que mon fils ne dépasse pas les limites de la décence dans ses échanges avec son petit ami ? L’inconvénient, c’est qu’on a les moyens de vérifier ses soupçons. En tant qu’administrateur, on peut tout consulter, ou installer des mouchards pour fliquer ses proches. Finalement, leurs données étaient mieux protégées chez Google, pour qui ils ne sont que des anonymes dont on essayer de deviner la personnalité pour déclencher de simples actes d’achat, que sur un serveur familial.

Je ne propose plus à mes proches d’utiliser les différents services sur lesquels je peux avoir la main. Pour ne pas être tenté un jour de devenir moi-même flic. De même, j’ai longtemps hésité à rejoindre FDN, car je n’ai pas envie, si demain je me brouille à mort avec l’un des administrateurs, de douter de ma connexion. Envisager la trahison de proches n’est jamais agréable, mais on ne devrait hélas pas s’abstenir d’y penser lorsqu’on définit le modèle de menaces dont ont veut se protéger. À méditer avant de choisir de migrer vos données d’un silo vers un service ami.

Manifeste aigri

  • du code plutôt que des outils ;
  • du code plutôt que des processus ;
  • du code plutôt que des interactions
  • et taisez-vous.

Nuage mémoire

Karl réfléchit à un outil simple pour indexer intelligemment son carnet Web et ceux de ses voisins. Sa réflexion m’en a rappelé une plus ancienne, de David, qui a expérimenté un navigateur de contenus et réfléchissait à du partage de l’index avec ses pairs.

Il y a quelques années, j’ai collaboré à un projet de recherche autour de l’indexation sémantique de contenus. Nous utilisions une catégorisation humaine assistée de plusieurs outils développés par des chercheurs et une entreprise. Ces outils cherchaient à créer des liens entre textes sémantiquement proches. Leurs conditions d’utilisation étant malheureusement assez restrictives, j’avais cherché des alternatives libres qui auraient éventuellement permis au projet initial de s’émanciper. Et avais découvert qu’un Solr correctement configuré ne s’en sortait pas trop mal, même en français (un gros problème de tous les outils d’analyse sémantique est que leur pertinence dépend grandement de la qualité des dictionnaires dont on les nourrit. La langue anglaise possède de nombreuses ressources permettant d’obtenir de bon résultats. Malheureusement, de telles ressources étaient rares pour le français (en version librement utilisables du moins), et je présume que la situation est encore pire pour la majorité des langues, réservant dans les faits les outils d’analyse automatisés à quelques langues). À l’époque déjà — il y a plusieurs années — des outils libres permettaient de créer des moteurs qui allaient plus loin que la simple recherche textuelle, qui comprenaient vaguement le sens des textes et étaient capable de trouver des corrélations. Je présume que la qualité de leurs résultat s’est depuis améliorée.

Malheureusement, ces outils sont lourds, gourmands (Solr est écrit en Java) et assez complexes à mettre en œuvre. Les paramétrer demande du temps et quelques compétences, même pour un amateur éclairé. C’est donc un domaine où une solution « clé en main » offrirait une véritable valeur ajoutée. Sous la forme d’un simple composant correctement configuré dans un conteneur aisé à installer partout, ou d’un serveur personnel géré par un tiers (le cloud comme disent les jeunes dans le vent).

J’aimerais disposer d’un tel outil, indexant mes diverses productions (ces esquisses, mes gazouillis…), les écrits des membres de ma sphère (les flux ATOM des carnets que je suis régulièrement), voire l’ensemble de mes conversations (messages électroniques et instantanés, canaux IRC où je filtre, etc). Mieux, poursuivant le rêve de David, j’aimerais un outil qui archive tout ce que je lis, donc agisse comme intermédiaire entre moi et les sites Web. Il pourrait en profiter pour les nettoyer (en augmenter la lisibilité en supprimant les réclames notamment) et les augmenter (par exemple en me signalant si certains de mes proches ont déjà interagi avec cette page).

Avis donc aux bidouilleurs de nuages. Au lieu de re-créer inlassablement les mêmes services, sous prétexte qu’ils n’ont pas été inventés ici, voici une idée d’usage encore balbutiant et qui pourrait se révéler utile à quelques personnes.

Polybios, gestion de trousseau PGP dans le navigateur

Polybios est un prototype d’application Web permettant de gérer un trousseau de clés PGP : créer une paire de clés, importer les clés de ses contacts, signer et vérifier la signature d’un message, chiffrer et déchiffrer un texte. Le tout depuis votre navigateur, en stockant vos clés soit dans le navigateur, soit sur un serveur. Vous pouvez la tester sur Github.

Polybios est essentiellement une interface graphique et donc laide à l’excellente bibliothèque OpenPGP.js. Attention, si OpenPGP.js est une implémentation d’OpenPGP de grande qualité, dont le code a été contrôlé par des gens sérieux, je n’ai pour ma part que de très vagues rudiments en cryptologie, et j’utilise sans doute la bibliothèque en dépit du bon sens. La bibliothèque fournit des méthodes de haut niveau, à priori fiables, pour les quatre fonctions de base (signer/vérifier/chiffrer/déchiffrer), mais pour le reste je tâtonne entre la spec et le code. Bref, Polybios peut probablement vous aider à vous protéger contre la curiosité de néophytes, mais préférez des solutions plus sûres pour comploter contre le Parti de l’Ordre.

L’application propose trois méthodes de stockage du trousseau. Tout d’abord en local dans le navigateur (dans une base indexedDB, c’est le connecteur fourni par défaut par la bibliothèque). Dans ce cas, votre trousseau est stocké en clair dans un fichier sur votre ordinateur, donc quiconque accède à l’ordinateur peut accéder au trousseau. La sécurité est la même qu’avec d’autres clients PGP, qui stockent le trousseau dans des fichiers locaux). C’est utile si vous avez toujours votre ordinateur avec vous, ou si vous installez l’application sur un ordiphone.

Mais l’utilité d’une application Web est aussi de pouvoir être utilisée de n’importe où. Je propose donc deux méthodes de stockage en ligne. Dans les deux cas, avant de déposer le trousseau sur un serveur distant, l’application le chiffrera en vous demandant une phrase de passe. Quelqu’un qui accèderait à votre trousseau sur le serveur aurait donc besoin de cette phrase de passe pour le lire (sachant que vos clés secrètes sont de toutes façons protégées par leur propre phrase de passe). Les deux stockages distants sont :

  • un stockage spécifique à l’application, simple petit serveur node.js qui répond aux requêtes GET et POST et lit/écrit un bête fichier texte sur le disque. Cela implique donc de disposer d’un serveur où faire tourner ce petit bout de code. Le serveur ne gère aucune authentification, à vous de gérer les droits d’accès en amont (ce mode était initialement prévu pour installer l’application sur une instance CozyCloud) ;
  • remoteStorage ;

Écrire un connecteur n’est pas très compliqué, donc si vous avez des idées d’autres systèmes de stockage distant, n’hésitez pas à les suggérer.

Polybios est également un fournisseur de prestations de cryptographie pour d’autres applications Web, au travers de l’API Web Activities de Mozilla, via ma prothèse Acthesis. Ses quatre fonctions de base sont exposées via des activités Web auxquelles n’importe quelle autre application Web peut faire appel. Ce code était initialement prévu pour permettre l’utilisation de PGP dans l’application de messagerie de CozyCloud, mais ça n’est plus à l’ordre du jour, Cozy ne supportant pas les Web Activities.

Polybios devrait pouvoir fonctionner sur un téléphone Firefox OS, comme fournisseur de chiffrement. Une application ayant besoin de chiffrement peut communiquer avec Polybios via des Web Activities. Ça permettrait probablement de chiffrer et déchiffrer des messages dans le client Mail de Firefox OS. Si certains y voient une utilité, je peux proposer l’application dans l’épicerie applicative de Mozilla.

J’avoue douter de plus en plus de l’intérêt de ces weberies, au-delà du plaisir de les coder. De feu Couac à Àlir, mes applications n’ont jamais eu d’autre utilisateur que moi, et je suis persuadé que le Web n’arrivera jamais à être aussi ergonomique, simple et léger que la console. Polybios ne répond à aucun de mes besoins, et je ne pense donc pas y ajouter de nouvelles fonctionnalités, à moins que « des gens » n’en expriment le besoin. Donc, si vous pensez que cette application peut vous être utile, n’hésitez pas à vous manifester.

(Merci à Goofy pour les corrections de fôtes).

Fiché

Pour fêter le début du débat sur la Loi Panoptique, je vais vous raconter ma vie, ou plutôt un épisode marquant qui m’est arrivé il y a une quinzaine d’années. Il y a à présent prescription ;-) (du moins pour moi, les fichiers dont il est question n’ont eux sans doute pas disparus).

À l’époque, j’étais développeur le jour, dans des sociétés de service, et activiste le soir, dans des collectifs de soutien aux sans-papiers. On trouvait dans ces collectifs aussi bien des révolutionnaires patentés vivant en squat que d’adorables vieilles dames choquées par les images de violences contre des êtres humains, souvenez-vous de l’évacuation de Saint Bernard. Notre activisme se résumait à des manifestations et des occupations de lieux publics. Les flics avaient mon nom, ils avaient contrôlé à plusieurs reprises mon identité, mais je n’ai jamais été placé en garde à vue, encore moins poursuivi. Mon nom ne devait figurer que dans quelques procès-verbaux classés sans suite, et, évidemment, dans les fichiers des services des renseignements généraux chargés de surveiller les militants de gauche.

Par le hasard de la sous-traitance de sous-traitance, j’ai été amené un jour à intervenir sur le site Web d’un très grand groupe privé, pour mettre en place leur système de publication. Dans ce cadre, j’ai assisté en tant que caution technique à quelques réunions au siège du groupe, dans les locaux de la direction (le site Oueb était géré en très haut lieu). Une situation qui m’amusait, mais dont je ne pouvais guère tirer profit pour mes activités extra-salariales. Je n’avais accès à aucune information confidentielle, et, en aurais-je eu, je ne cachais guère mes opinions et aurait été trop facilement démasqué pour tenter d’utiliser cette opportunité.

Un matin, le client a brutalement rompu le contrat avec le prestataire qui travaillait sur le site, sans préavis ni la moindre explication. Je n’ai jamais vu un projet se finir aussi abruptement. Le prestataire, qui n’avait pas les reins assez solides pour répondre à toutes les exigences de son puissant client, a été content d’être débarrassé d’un contrat qui lui coûtait de l’argent, et l’affaire s’est arrêtée là.

Quelques années plus tard, j’ai croisé un ancien collègue côtoyé sur ce projet, et eu le fin mot de l’histoire. Quelqu’un, chez le client, s’était renseigné sur mon compte, avait découvert que j’étais un infâme gauchiste, et avait provoqué la rupture du contrat pour écarter la menace que je représentais à leurs yeux. Ils n’avaient pas trouvé de manière plus propre de me dégager, car leur démarche était en tout point illégale, probablement dans la forme, mais surtout par sa source. Plus tard, ils ont discrètement révélé ma dangerosité au prestataire, pour qu’il ne fasse plus appel à moi, et l’information a fini par fuiter jusqu’à mon ex-collègue. Tout cela s’est passé discrètement, entre gens du même monde, et je n’ai aucune preuve de ce que j’avance, hormis ce que m’a rapporté ce collègue. Mais l’explication me semble plausible.

Le gros problème que pose cette histoire, c’est que je n’étais connu que des services de police politique. Je n’avais pas de casier, pas de présence en ligne, rien qui aurait pu permettre de découvrir légalement la teneur de mon activisme. Quelqu’un, au sein d’une entreprise privée, a pu avoir accès à des informations. Quelqu’un, au sein des « services » qui détenaient ces renseignements, les a laissées fuiter. Par chance, ça n’a pas eu d’impact, mais ça aurait pu me faire perdre mon boulot, ou me porter préjudice professionnellement. Cette histoire n’a rien d’exceptionnel, j’ai eu connaissance d’autres témoignages de même teneur, comme celui d’un cameraman membre de la LCR, pas vraiment une organisation révolutionnaire, qui, a peine embauché par une antenne locale de FR3, a été « dénoncé » à son rédacteur en chef par les RG locaux. Lui comme moi avons eu de la chance, ça ne nous a pas nui professionnellement. Mais ça n’est pas le cas, par exemple, des nombreuses personnes écartées de postes dans la sécurité à cause de leurs convictions religieuses, jugées trop « radicales ».

Voilà le vrai visage de la surveillance, voilà pourquoi il faut la refuser. Vous avez pris part à une grève, revendiqué en tant que chômeur, soutenu des sans-papiers en lutte dans votre quartier, milité pour le Chiapas ou contre le mariage pour tous lorsque vous étiez étudiant, fréquenté un lieu de culte jugé extrémiste ? Cela suffit probablement pour que vous soyez fichés, et que ces informations puissent un jour être utilisées contre vous, dans un autre contexte. Vous trouvez sans doute normal que la police ait dénoncé un dangereux révolutionnaire qui avait accès au site Web d’un grand groupe. Demandez-vous si vous n’avez vraiment rien à cacher, et si demain, telle opinion proférée un jour par provocation, telle micro-embrouille avec un vigile de supermarché, telle erreur d’homonymie sur une facture de téléphone, ne pourra pas se retourner contre vous. Avec les moyens qu’offrent les technologies de l’information, le fichage ne concerne plus seulement quiconque a un jour distribué un tract ou assisté à une réunion politique. Tous les minuscules incidents de la vie sont des signaux faibles qui peuvent être enregistrés, recoupés, interprétés, surtout mal, et exploités. Qu’ils vous concernent, ou n’importe quelle personne avec laquelle vous êtes en contact.

Tout innocent est un suspect qui s’ignore.

Un remède plus dangereux que le mal

(…) des organisations qui pratiquent le trafic des êtres humains sont liées à des organisations terroristes. Ces organisations seraient-elles moins dangereuses que les dispositions que nous prenons ? (…)

Entretien avec le sinistre de l’intérieur Bernard Cazeneuve à propos de son projet de loi Panopticon
.

Je répond « oui » sans hésiter une seconde à la question de Cazeneuve. Oui, son projet de loi est plus dangereux que toutes les organisations terroristes agissant sur le sol français, plus dangereux que les organisations criminelles auxquelles il prétend s’attaquer.

Depuis la fin de la guerre d’Algérie, en une cinquantaine d’années, les actes terroristes ont fait moins de 150 morts et moins de 1000 blessés en france. Pour abjecte que soit la traite des êtres humains, elle ne concerne chaque année que quelques milliers de personnes en France. En 2012, les accidents de la route ont tué 3653 personnes et en ont blessées 75 851. En 2011, 552 personnes sont directement décédées d’un accident du travail (sans compter les morts de maladies professionnelles). Il ne s’agit pas de nier le danger du crime organisé et des organisations terroristes, mais de le relativiser. Il y a bien plus de risque de mourir sur la route ou au travail que dans un attentat ou un règlement de compte mafieux.

Mais en quoi mettre l’ensemble de la population sur écoute présenterait un danger ? Je suis fermement convaincu que tout pouvoir porte en lui la tentation de l’abus, et que pour éviter les abus de pouvoir, il est indispensable de diluer le pouvoir et de contrebalancer chaque pouvoir par des contrepouvoirs.

Dans le régime français actuel, les contrepouvoirs au couple législatif-exécutif sont peu nombreux. Depuis une vingtaine d’années (la victoire de décembre 95), la société civile peine à peser, aussi bien les progressistes (syndicats) que la réaction (manif pour tous les homophobes). Le pouvoir économique est bien plus souvent le donneur d’ordre du couple législatif-exécutif que son opposant. Quant aux médias, hormis quelques titres comme Le Canard Enchainé, Médiapart et les indépendants qui sauvent l’honneur, ils ne sont dans leur immense majorité que des chiens de garde de l’ordre établi.

Reste l’institution judiciaire. Comme les médias, sa consanguinité est forte avec ceux qui votent les lois et ceux qui les appliquent. Elle n’est de surcroît, dans les faits, que partiellement indépendante de l’exécutif, le Parquet étant aux ordres de la Chancellerie. Mais comme les médias, il arrive aux juges de représenter un réel contrepouvoir aux dérives autoritaires de l’exécutif. On se souvient de l’Affaire des écoutes de l’Élysée. Un président de la république qui met les moyens de lutte anti-terroriste à sa disposition au service de ses basses-œuvres personnelles, comme l’espionnage d’opposants. Une affaire révélée par la presse et dont une partie des responsables ont été condamnés par la justice.

Le projet de loi dit « renseignement » donne au pouvoir exécutif un pouvoir exorbitant : la possibilité d’intercepter toutes les communications électroniques de n’importe quel citoyen. Simultanément, il rend le contrôle de ce pouvoir par l’institution judiciaire extrêmement compliqué et aléatoire. Un grand pouvoir sans contrepouvoir. Le danger de ce projet de loi, c’est donc de briser le fragile équilibre des différents pouvoirs, de donner au gouvernement des prérogatives que rien ne viendra contrebalancer. Sachant que le risque d’être contrôlé et dénoncé est quasi nul, combien de temps un gouvernement, même animé des meilleures intentions au monde, pourra-t-il résister à la tentation d’abuser et de détourner les outils mis à sa disposition pour les utiliser à son propre profit ? Comment s’assurer que les services eux-mêmes n’utilisent pas ces outils pour renforcer leur position d’état autonome au sein de l’État. Les nombreuses manipulations dans l’affaire dite de Tarnac, ou les mensonges des services pour masquer leurs erreurs dans les affaire Merah et Kouachi, ne sont pas là pour nous rassurer.

Le danger des dispositions défendues par Cazeneuve, c’est donc qu’elles font faire au système politique français un pas de plus vers un régime autoritaire, absolutiste, totalitaire. Et ce danger est bien pire que la menace représentée par une poignée d’activistes politiques ou de mafieux.

Fork me on GitHub