Category Archives: Geek stuff

Boites noires, URLs et poudre de perlimpinpin

En raison de l’actualité — révision de la loi renseignement de 2015 –, on parle à nouveau des boites noires, dispositifs que les services de renseignement ont souhaité installer dès 2015 sur Internet dans l’espoir d’opérer un équivalent des écoutes téléphoniques.

Ce billet se veut une réflexion purement théorique sur les aspects juridiques et possibilités techniques des boites noires [pour les aspects techniques réels voire a-légaux, on peut se référer à cet article de Reflets sur IOL et j’y reviendrai peut-être ; pour le juridique, à cet article très détaillé de Félix Tréguer].

Les boites noires ont été créées, au titre de la loi renseignement votée en juillet 2015, par l’article L851-3 du code de la sécurité intérieure. Extrait :

il peut être imposé aux opérateurs et aux personnes mentionnés à l’article L. 851-1 la mise en œuvre sur leurs réseaux de traitements automatisés destinés, en fonction de paramètres précisés dans l’autorisation, à détecter des connexions susceptibles de révéler une menace terroriste.

Le législateur ne dit rien ici des moyens à mettre en œuvre. En théorie, il peut s’agir de traitements purement logiciels — utilisant donc les moyens existants de l’opérateur –, ou de matériel dédié à cet usage — ce que l’on entend en général par “boites boires” –.

C’est la CNCTR (Commission nationale de contrôle des techniques de renseignement) qui se charge de la mise en œuvre administrative des boites noires : procédures d’autorisation, etc.

La CNCTR et l’« algorithme »

Dans le rapport d’activité 2019 de la CNCTR, les « boites noires » sont plaisamment baptisées « technique de l’algorithme ». On peut lire page 51 :

“S’agissant enfin de l’algorithme52 sur des données de connexion en vue de détecter des menaces terroristes, aucune nouvelle autorisation de mise en œuvre n’a été sollicitée en 2019. À la fin de l’année 2019 trois algorithmes avaient été autorisés depuis l’entrée en vigueur du cadre légal et continuaient à être en fonctionnement.”

52 – Il s’agit de la technique prévue par les dispositions de l’article L. 851-3 du code de la sécurité intérieure.

À ce stade, avec 3 mises en œuvre en 2019, le déploiement des boites noires semble assez limité. Dans son rapport 2020 qui vient tout juste d’être publié, la CNCTR affirme que rien n’a changé cette année-là : ces mêmes 3 boites noires sont toujours en place.

Malgré de nombreux débats et questions au parlement lors de leur vote, on ne sait rien sur leurs capacités physiques, ni sur les données et algorithmes utilisés, ni sur les emplacements choisis. La raison invoquée est le secret défense.

Sous le capot : les données de connexion

Un rapide détour technique s’impose. Si cela vous ennuie, vous pouvez passer directement à la section suivante.

C’est un document technique, la RFC 791, qui a défini le format des informations échangées sur Internet, autrement le paquet IPv4 (je ne parlerai pas ici du paquet IPv6, mais les principes sont les mêmes). C’est son entête qui contient l’intégralité des données de connexion réellement utilisées par le fournisseur d’accès. On parle aussi de métadonnées. Surlignées en vert, les données indispensables à l’acheminement du paquet : l’adresse source et l’adresse destination. En orange, d’autres données également utiles à l’acheminement. En jaune, on commence à entrer dans les détails des données transmises : il ne s’agit plus vraiment de données de connexion au sens strict.

La RFC 793, quant à elle, définit les informations de l’entête TCP, qui est utilisé notamment pour les connexions http (web), et vient s’ajouter aux données IP précédentes.

TCP définit le port source et le port destination (ici en jaune) : ils permettent en particulier de distinguer une connexion web (port 80 ou 443) d’une connexion de courrier électronique (25, 143, 993, 587, etc, suivant le cas). TCP transporte également les données utiles — l’intérieur de l’enveloppe –, c’est le “data” en rouge en bas du paquet.

L’inspection profonde, ou DPI

On appelle Deep Packet Inspection (DPI), en français « inspection de paquets », l’accès aux données au delà des données de connexion. C’est un procédé beaucoup plus intrusif, et qui sort du cadre de ce qui est permis par la loi même au titre des boites noires.

En matière postale, cela reviendrait à ouvrir une enveloppe pour en lire le contenu, ce qui est formellement prohibé (secret des correspondances).

Le terme de DPI éveille donc l’attention lorsqu’il est utilisé.

Que sont les boites noires et où les met-on ?

Ce point à lui seul mériterait un billet complet. Les questions à se poser sont, notamment :

  • les boites noires contiennent-elles des moyens de stockage ?
  • où sont-elles placées : sur les dorsales de réseaux, aux points d’échange, aux points de raccordement des abonnés, chez les hébergeurs, sur des liens internationaux… liste non exhaustive et non exclusive ?
  • quelles informations pré-triées remontent-elles aux services de police ?
  • quels traitements sont réalisés, dans la boite noire et après celle-ci, sur les informations ?

La nouvelle loi et l’accès aux URL…

D’après Gérald Darmanin reçu par France Inter le 28 avril 2021, la nouveauté sera l’accès aux URL : « La difficulté que nous avions, c’est que nous n’utilisions pas les URL. Là vous utilisez les URL, c’est à dire les données de connexion qui vous permettent de voir quelle recherche exacte vous faites. » (émission ici).

[Mise à jour : Il invoque ensuite — et c’est un sujet légèrement différent, mais connexe et plus inquiétant — la collaboration des plateformes pour accéder à nos messages chiffrés et possiblement aux journaux de connexion, qui permettent de savoir les URL consultées.]

… et pourquoi ce n’est pas si simple qu’à la radio ou au parlement

Cela pose deux problèmes : un de principe, et un technique.

Le problème de principe est simple : l’URL est transportée uniquement dans la partie data des paquets. Si on se limite aux données de connexion, comme l’exige actuellement la loi, il est impossible d’y accéder. En fait, la loi interdit même, en théorie, à la police de distinguer une connexion web d’une connexion de courrier électronique ou d’une requête DNS, puisqu’il faut regarder les numéros de ports, et que ceux-ci ne relèvent pas à strictement parler des données de connexion au sens du fournisseur d’accès.

Pour accéder aux URL, il faut donc exploiter du DPI, mentionné plus haut.

Admettons donc qu’une analyse complète du paquet par DPI soit permise juridiquement.

Aujourd’hui, 80 % des communications de données sur Internet sont chiffrées. C’est ce qu’indique le cadenas dans votre navigateur, désormais présent sur presque tous les sites. [Correction : @cryptopartyrns sur twitter m’indique qu’en 2021 on est plutôt autour des 90-95 %]

Or, il est impossible d’accéder à ces données de manière instantanée. Au mieux, il faut dépenser des semaines ou mois de calcul intensif pour casser le chiffrement (décrypter). C’est évidemment impossible à réaliser sur une proportion significative du trafic Internet : ce type de décryptage, coûteux et lent, n’est effectué que dans des cas rares et limités.

La CNIL dans sa délibération du 8 avril 2021 confirme d’ailleurs que seule l’écoute des URL “en clair” est envisagée à ce stade :

Le chiffrement ne protège pas toutes nos communications

Sans casser le chiffrement, il existe encore plusieurs failles à la confidentialité de notre trafic :

  • les adresses IP source et destination, nécessaires pour acheminer le trafic.
  • les numéros de ports utilisés, qui donnent des indices sur l’activité (web, mail, etc).
  • le DNS, qui circule encore largement en clair aujourd’hui, même si DoH et DoT visent à mettre fin à cette faille. En écoutant le DNS, il est possible de savoir le nom du site auquel quelqu’un accède. Si le site est youtube.com ou facebook.com, cela ne va pas nous en apprendre autant sur le contenu que s’il s’agit de openrailwaymap.org.
  • le chiffrement web, appelé TLS, ne chiffre pas encore le nom du site demandé. On peut donc le connaître également par ce biais. C’est en cours de résolution avec une extension appelée ESNI, dont le déploiement est balbutiant.
  • il existe aussi des failles occasionnelles de sécurité permettant de casser plus rapidement du trafic chiffré. Ces failles sont évidemment corrigées après leur découverte, et tout est fait pour les éviter. Leur exploitation ne peut être qu’aléatoire et temporaire, il n’est pas possible de fonder une stratégie d’écoutes sur elles.
  • il y a enfin la possibilité d’émettre des faux certificats pour écouter le trafic. Ce type d’intervention n’est cependant pas discret, il ne peut donc pas être utilisé à grande échelle sous peine d’être rapidement découvert.

L’existence de très grandes plateformes rend la connaissance du nom de serveur de moins en moins utile : personne ne peut savoir par ce simple nom si la vidéo Youtube ou la page Facebook que je consulte sont celles d’un groupe faisant l’apologie du terrorisme ou d’un club de fondamentalistes des chatons.

Il existe un dernier moyen, plus aléatoire mais plus rapide, de découvrir quel contenu chiffré a été accédé : la connaissance de la quantité de données transférées. Si j’accède sur nextinpact.com ou partipirate.org à une page de 367813 octets, il est relativement facile à partir de cette simple information de retrouver de quelle page il s’agit à partir d’un index du site, tel que les moteurs de recherche peuvent en posséder. Là aussi, des contre-mesures sont envisageables dans le futur proche (bourrage de paquets, ou padding).

Déterminer quelle vidéo a été consultée à partir de la taille transmise est plus difficile, les retours en arrière ou visionnages partiels étant fréquents. En revanche, on peut tenter d’estimer le débit de la vidéo, voire le passage visionné, à partir des intervalles temporels et des tailles de paquets.

L’intelligence artificielle peut-elle aider Gérald Darmanin ?

Probablement : non.

Je suppose que l’on parle ici de la technique particulière de l’apprentissage profond (réseaux neuronaux). L’effet de mode étant patent, le terme d’IA utilisé en tant que poudre de perlimpinpin, comme le secret défense, permet de se dispenser d’argumentation.

Or l’intelligence artificielle — comme l’informatique — a besoin, pour fonctionner, de données concrètes et ne peut pas deviner des données non accessibles, par exemple chiffrées, qui sont majoritaires dans l’Internet d’aujourd’hui.

Supposons malgré cela qu’on ait des données suffisamment « en clair ».

L’intelligence artificielle a en outre besoin d’une quantité suffisante de données : un jeu de données initial, de préférence aussi étendu que possible, fourni avec les « réponses ». Dans le cas de l’apprentissage lié aux boites noires, puisque nous voulons déclencher, ou ne pas déclencher, des alarmes appelant à une investigation plus poussée, il faudrait donc les données suivantes :

  1. des données de connexion anodines ne devant pas déclencher d’alarme
  2. des données de connexion de présumés terroristes déclenchant l’alarme

Si l’ensemble 1 ne pose pas de problème technique pour être obtenu en volume, l’ensemble 2 est moins simple : il existe heureusement peu de terroristes, on ne dispose donc pas a priori de beaucoup de données de connexion en rapport, et les signaux à repérer vont varier dans le temps : nouveaux sites, nouveaux contenus, nouvelles applications.

L’usage de l’intelligence artificielle pour détecter des terroristes ne semble pouvoir mener qu’à une impasse également : les données d’apprentissage ont toutes les chances d’êtres insuffisantes, la cible est rare, et la combinaison de ces deux facteurs va donc produire une quantité élevée de faux positifs. Tous les systèmes de « détection automatique de terroristes » ont ce même problème statistique.

Comment réagir ?

Il est établi que l’accès aux URL n’est pas possible avec le degré et l’utilité que laissent entendre les déclarations de Gérald Darmanin.

Concernant l’usage de l’intelligence artificielle, le ministre cherche manifestement à développer l’industrie des technologies de surveillance par de la subvention déguisée. Autrement dit : chacun sait que cela ne peut pas marcher, mais cela permet d’attribuer de la commande publique à des sociétés bien choisies. Cette intention de soutenir l’industrie de la surveillance a déjà été explicitée par le gouvernement, notamment lors des discussions sur la reconnaissance faciale.

Il est probable que la loi ne va pas changer grand chose à l’efficacité des boites noires. Si la disposition permettant l’accès aux URL est adoptée, elles vont devenir plus intrusives : l’accès au delà des données de connexion est un précédent et supprime une protection notable. Il faut donc nécessairement le refuser, en tant que position de principe.

Mais l’impact de ce renoncement est fortement atténué par le déploiement du chiffrement suite aux révélations d’Edward Snowden concernant la surveillance de masse.

Nous devons donc continuer à privilégier les outils chiffrés de bout en bout, et les informaticiens à les déployer et les développer (je pense à la protection des noms de domaine). Fondés sur les mathématiques plutôt que sur les intentions de nos gouvernants et de nos polices, ils restent le meilleur moyen à ce stade de nous protéger des intrusions à grande échelle dans nos communications personnelles et notre vie privée.

Quant aux intentions exprimées par Gérald Darmanin sur la collaboration des plateformes pour accéder à nos contenus chiffrés en passant par la petite porte, elles sont à suivre avec une grande attention, car elles constituent une autre forme notable d’extension de la surveillance, d’autant plus inquiétante qu’il n’y a jamais de retour en arrière (effet cliquet).

Pourquoi j’ai piraté ma propre imprimante et ses cartouches officielles

Tout a commencé en septembre 2017 par un banal achat d’imprimante laser couleur. Il nous fallait une imprimante utilisable facilement ailleurs que sous Windows, idéalement en réseau pour éviter des allées et venues entre ordinateurs, et recto-verso. De préférence, connaissant les formats Postscript ou PDF pour éviter d’avoir à réaliser des conversions. La plupart de ces fonctions sont réalisables par logiciel pour compenser leur absence, mais c’est toujours plus compliqué à mettre en œuvre.

Par ailleurs, nous souhaitions une imprimante laser au lieu d’une jet d’encre. Ces dernières ne sont pas particulièrement moins chères, et sont moins fiables (l’encre sèche avec le temps), alors que nous imprimons assez peu. Je pensais aussi échapper aux restrictions d’usage qui touchent les cartouches jet d’encre et permettent de les vendre à prix fort, pensant naïvement que les cartouches de toner en étaient exemptes.

Bref, nous trouvons rapidement un modèle qui coche toutes les cases à un prix intéressant, un peu moins de 110 €. Appelons-la modèle 310.

C’est une imprimante très ressemblante mais d’un modèle différent que nous recevons. Appelons-la 317. La 317 est identique à la 310, à un petit détail près : elle a l’option wifi, qui ne nous intéresse pas du tout. Mais ça ne semble pas gênant de l’avoir.

L’imprimante est munie de 4 cartouches d’encre d’origine : noir, magenta, cyan, jaune. Elles sont censées permettre l’impression d’environ 1500 pages, contrairement aux cartouches vendues ensuite, prévues pour 3000 pages. Leur format étant identique, les cartouches d’origine ne sont donc pas remplies complètement. Le coût par page de l’imprimante neuve avec cartouches est ainsi relativement comparable au coût par page des 4 cartouches de remplacement. Le constructeur souhaite probablement s’assurer qu’on ne commandera pas une imprimante neuve complète lorsque vient le moment de changer les cartouches d’origine.

Passent alors quelques mois d’utilisation sans histoire, jusqu’à la fin 2018, principalement en noir et blanc. Nous approchons de l’épuisement de la cartouche magenta, gentiment signalé à l’avance par l’imprimante.

Nous commandons donc des cartouches de remplacement du constructeur, profitant d’une offre groupée à prix « d’ami » incluant les 4 couleurs. Nous les stockons en attente d’utilisation, le temps que la cartouche magenta d’origine arrive effectivement à bout, ce qui prendra 4 ou 5 mois.

« Et là, c’est le drame. »

L’imprimante ne reconnaît pas la cartouche magenta de remplacement, produisant une erreur cryptique et refusant catégoriquement d’imprimer, même en noir et blanc.

Tout naturellement nous appelons donc l’assistance de la marque en France, qui investigue pour m’expliquer, en substance, que tout cela est de ma faute : mon modèle est le 317, or j’ai commandé des cartouches pour le modèle 310. Il est donc tout à fait « normal » que cela ne fonctionne pas. J’aurais dû faire attention. Je peux m’adresser au vendeur des cartouches pour demander un échange.

De son côté, le vendeur des cartouches — nous avions, autre erreur, privilégié un commerçant du sud de la France pour éviter d’engraisser une grande plateforme de vente en ligne — explique qu’au titre de ses conditions de vente il ne peut réaliser d’échange, même de cartouches neuves non déballées, car notre commande date de plus de 3 mois (puisque nous nous y étions pris à l’avance).

Nous voilà donc avec une imprimante totalement inutilisable à moins de payer à nouveau au moins une cartouche magenta (environ 150-170 €), et 450 € de cartouches inutilisables, potentiellement revendables sur e-bay avec les complications associées, une perte de valeur pour nous, et un risque pour l’acheteur.

Pour la petite histoire, la présence d’une cartouche vide empêche également toute mise à jour logicielle de l’imprimante.

En faisant quelques recherches en ligne, je découvre que des commerçants chinois revendent des circuits (chips) de remplacement pour les cartouches, classés par couleur d’encre, modèle d’imprimante, nombre de pages le cas échéant, et zone géographique.

Ici un petit aparté sur la notion de zone géographique pour imprimante. D’après l’assistance du fabricant, il s’agit de fournir du toner optimisé pour la région où il est utilisé, afin d’être adapté aux conditions climatiques locales (hygrométrie, température).

On pourra juger de cette promesse en constatant sur cette image que la Russie et toute l’Afrique sont dans la même zone, ainsi que l’Espagne et le Groenland, ou encore le sud des États-Unis et le grand nord du Canada. En revanche, cette politique commerciale permet d’appliquer des tarifs et circuits de distribution différenciés par continent.

J’ai donc commandé sur Aliexpress, en Chine, les circuits de remplacement “zone Europe”, pour chacune des 4 couleurs, pour le modèle d’imprimante 317.

Ces circuits sont normalement prévus pour recharger des cartouches avec du toner “compatible” (bien moins cher). Je dois être l’un des rares à m’en être servi sur des cartouches constructeur neuves. La somme est modique (15 € par circuit), le risque financier est donc minime même si l’opération échoue, et la manipulation est simple : 2 vis à ôter, le chip à remplacer, on revisse et c’est reparti.

Cet hiver j’avais remplacé le chip de la cartouche magenta, ce qui m’a permis d’utiliser à nouveau l’imprimante après presque 1 an de panne sans trop savoir comment s’en sortir. Je viens de remplacer le chip et la cartouche noire. On note sur l’emballage (photo ci-dessous) la mention du nombre de pages (3K), de la couleur (BK = black, noir), et de la zone géographique (EUR).

Addendum technique : les circuits ci-dessus sont interfacés avec l’imprimante par le protocole I2C, très courant dans le petit matériel électronique. Il est possible, dans une certaine mesure, de les reprogrammer par ce protocole pour changer les paramètres (autre couleur, autre imprimante, autre zone géographique, remise à zéro du compteur), et on trouve sur le web des instructions d’électroniciens à cet effet. C’est de ce type d’instructions que se servent les vendeurs de chips “pirates”. Dans certains cas, il est impossible de reprogrammer un circuit qui est arrivé au bout du nombre de pages. J’ai essayé ces procédés avec un Raspberry — car celui-ci comporte une interface I2C — sur les circuits “constructeur”, mais sans succès. J’aurai peut-être plus de résultats avec les circuits commandés en Chine.

Les imprimantes considérées ici sont les Lexmark CS310dn (sans wifi) et CS317dn (avec wifi), mais il existe énormément d’autres marques connues qui pratiquent le même genre de procédé : HP, Epson, Ricoh, Samsung, etc. L’objet de ce texte était surtout de montrer les complications que cela implique pour des usages légitimes, ces restrictions n’étant bien entendu jamais explicitées lors de l’acquisition.

La mesure automatisée de consommation électrique

Suite à mon billet précédent sur la question, et quelques retours de Stéphane Bortzmeyer, Philippe Bourcier et Laurent Penou, que je remercie ; suite aussi à un article tout récent de Pour la Science, j’ai décidé de commander un peu de matériel électronique pour pouvoir mieux mesurer la consommation des équipements réseau domestiques.

Voici le graphique extrait de Pour la Science titré « le vrai coût énergétique du numérique » (réservé abonnés) [ bizarrement, le graphique semble avoir disparu de l’article depuis que je l’ai consulté initialement ], par Anne-Cécile Orgerie.

C’est ce style de graphe que je souhaiterais réaliser.

Pour cela, il faut un système permettant un relevé automatique périodique des consommations.

J’ai donc commandé :

  • une prise DELOCK 11827, essayée par Jan-Piet Mens ici.

Ces prises permettent une commande de l’appareil branché, mais aussi une consultation de sa consommation relevable par navigateur web ou programmation, à travers une connexion wifi.

  • un boîtier PZEM-004T. Le PZEM-004T est un circuit wattmètre intégré qui se branche entre le secteur et l’équipement à mesurer. Il se vend parfois nu, parfois dans un boîtier plastique. Il peut être relevé par port série (sur niveaux TTL), ou avec un câble USB réalisant l’adaptation. Le modèle représenté ici est limité à 10 ampères, mais il existe également une version 100 ampères que je n’ai pas commandée pour l’instant, et qui dispose d’une pince de courant pratique pour mesurer de fortes intensités sans couper le câble.
  • un relais 1PM « Shelly Plug ». Ce boîtier, normalement conçu pour être intégré dans un interrupteur mural ou une prise pour les rendre commandables à distance par navigateur web ou téléphone mobile, à travers votre wifi, inclut également un wattmètre relevable. Il y a en ce moment des promotions chez Shelly, petite société bulgare, et le paquet de 2 Shelly 1PM est à un prix particulièrement intéressant.
  • une « Shelly Plug S », à peu près la même chose que le Shelly 1PM ci-dessus, mais sous forme de prise électrique, prête à utiliser, et similaire à la DELOCK 11827 présentée en haut. Il existe un autre modèle de puissance supérieure, et toute une gamme pour commander vos appareils électriques à distance.
  • un module wattmètre I2C pour basse tension, courant continu, relevable par I2C. Il est donc plus compliqué à utiliser, il faut lui adjoindre un équipement supplémentaire disposant de l’I2C : un Raspberry, par exemple, ou un processeur destiné à l’électronique embarquée comme un STM32 ou un ESP32 qui disposent des interfaces nécessaires. Il doit être calibré avant usage, mais il dispose d’une bonne résolution (20 mW). En le complétant avec quelques prises adaptées, on peut par exemple lui faire mesurer la consommation d’un appareil USB, d’un appareil sur batterie, ou peut-être sur adaptateur secteur — si la tension mesurée est suffisamment lissée, ce qui n’est pas forcément gagné dans ce dernier cas –.

Voilà. Restera à installer tout ça et à en tirer des informations pertinentes.

PS : Stéphane Bortzmeyer a lui aussi parlé des mesures qu’il a faites sur son réseau (électrique) domestique, des appareils utilisés, et des résultats obtenus. https://www.bortzmeyer.org/mesure-conso-energie.html

Converting a FreeBSD ezjail configuration to VNET

I have recently converted my self-hosted FreeBSD jails (including this very blog) to the VNET architecture.

A few words about VNET

The purpose of this post is not to explain jails, or VNET, but to provide examples for migration from the traditional jail networking environment (in my case, using ezjail), to the VNET architecture. There are numerous documents online for jail environments based on iocage, but not that much about ezjail-based ones.

Up to VNET, networking in jails had severe limitations on addressing, in particular limitations on the loopback interfaces (::1 and 127.0.1) and usage of IP aliases, which caused numerous configuration headaches. This was due to the jails sharing network interfaces and the full networking stack with the host. It was possible to alleviate some of this with multiple routing tables (setfib & al), but it was still limited.

VNET allows the jails to run networking stacks totally separated from the host’s, like it would in a fully virtualized guest. As a consequence, it allows running virtual routers with specific firewalls filters to better organize and isolate jail networking.

VNET basically works by moving network interfaces to the guest jails, in a separate instance of the network stack, hiding them from the host environment. This is done at jail startup, but it can also be done dynamically to a running jail with:

ifconfig <interface> vnet <jail_id>

VNET works on any kind of interface: physical or virtual. It is thus perfectly possible to assign a physical interface, or a VLAN tagged interface, etc, to a jail.

Enabling VNET

First, we need to enable VNET in the kernel. From FreeBSD 12, the default kernel has VNET already, so there is nothing to do, unless you have a custom kernel. On FreeBSD 11, you need to recompile a kernel after adding the following line:

options VIMAGE # Subsystem virtualization, e.g. VNET

VNET and ezjail

What to do next with ezjail?

ezjail‘s configuration files are stored in /usr/local/etc/ezjail, one file per jail, named after the jail’s name. ezjail uses environment variables based on the former jail configuration variables stored in /etc/rc.conf. Under the hood, the system converts these lines to the new jail syntax, .conf files stored in /var/run.

The line that configures networking looks like the following (may be wrapped on your screen):

export jail_jailname_ip="re0|192.168.0.17,re0|2a01:e34:ec2a:94a0::11,lo0|127.0.0.17"

To convert this configuration to VNET, we have to:

  • disable the traditional jail networking system: this done by providing an empty value for the above line
  • enable VNET for the jail
  • specify the VNET interface(s) the jail is going to use

Which is done using the following lines:

export jail_jailname_ip=""
export jail_jailname_vnet_enable="YES"
export jail_jailname_vnet_interface="epair17b"

Note that we don’t specify IP addresses or the loopback interface anymore. Configuration will be done by the jail itself, possibly in the regular /etc/rc.conf way:

ifconfig_epair17b="192.168.0.17/24"
ifconfig_epair17b_ipv6="2a01:e34:ec2a:94a0::11/64"

We still have to create the interface the jail is going to use, here epair17b. I chose the epair/if_bridge architecture as it seemed the most flexible and easier to get a grip of, but it is also possible to use netgraph-based interfaces, or anything other the system supports.

epair interfaces are 2 virtual network interfaces linked with a virtual crossover cable. if_bridge is a bridge interface which switches traffic between the interfaces you attach to it. By combining both and adding routers, you can create any virtual network architecture.

To prepare the interfaces,

ifconfig epair17

creates two interfaces, epair17a and epair17b.

epair17b will be given to the jail; epair17a will stay on the host, and will have to get connectivity somehow. This is typically done by making it a bridge member.

epair17a may or may not have an IP address assigned to it (it does not need one if it is only used for bridging), but it needs to be up:

ifconfig epair17a up

We also need to add one of the interfaces to a bridge, so it gets connectivity to the rest of the network:

ifconfig bridge0 create up
ifconfig bridge0 addm epair17a

To make it easier to understand, I made a view images showing possible architectures.

First, example of a basic configuration where all the jails are configured on the same local network as the host through bridge0, mimicking the traditional jail networking.

Figure 1

Here, the jails are organized on two separate subnetworks, with Host possibly providing IP routing and firewalling.

Figure 2

Lastly, on Figure 3, another architecture where the first group of guests, Guest 1 and Guest 2, is directly configured on the local network, whereas Guest 4 and Guest 5 are connected through virtual router Guest 3. For example, this can be used in a setting where Guest 1 and Guest 2 provide the front-end to a service, and Guest 3 and Guest 4 provide the backend (databases, etc). Guest 4 and Guest 5 don’t even need full connectivity to the Internet, this can be enforced with firewall rules on Host or Guest 3.

Figure 3

Making the configuration persistent

The above commands were meant to explain the workings of the setup, but they are ephemeral. The configurations need to be made persistent in the boot configuration of Host, for example in /etc/rc.conf:

cloned_interfaces="bridge0 bridge1 epair1 epair2 ... ifconfig_bridge0="up addm re0 addm epair1a addm epair2a ..."
ifconfig_epair1a="up"

Note that the epair interfaces on the guests don’t need to be up from the host configuration. The guest startup code will manage this.

Using jib to create/destroy interfaces dynamically

The above static configuration has a small issue: VNET takes quite some time (dozens of seconds) to reassign an interface of a deleted jail to the host, making it invisible in the meantime. This means that a jail restart will fail for lack of the adequate interface.

To avoid this, and create persistent MAC addresses for the interface, which comes-in handy, there are scripts provided in /usr/share/examples/jails, jib (for epair/bridge-based interfaces) and jng (for netgraph-based interfaces).

We just need to install these scripts in /usr/local/sbin and make them executable.

cp /usr/share/examples/jails/jib /usr/local/sbin
chmod a+rx /usr/local/sbin/jib
cp /usr/share/examples/jails/jng /usr/local/sbin
chmod a+rx /usr/local/sbin/jng

jib creates epair interfaces and adds one interface of the pair to a bridge connected to an output interface, ie:

jib addm TEST re0

will create interfaces e0a_TEST and e0b_TEST and add e0a_TEST to a bridge named re0bridge if it exists, or failing that, create such a bridge and connect it to re0. The jail will be configured to use nterface e0b_TEST.

The cherry on the cake with jib/jng : they try and keep MAC addresses persistent.

To create and destroy interfaces dynamically with ezjail, instead of tweaking /etc/rc.conf, we only need to add the following lines to the ezjail configuration file for the jail:

export jail_jailname_vnet_enable="YES"
export jail_jailname_vnet_interface="e0b_jailname"
export jail_jailname_exec_prestart0="/usr/local/sbin/jib addm jailname re0"
export jail_jailname_exec_poststop0="/usr/local/sbin/jib destroy jailname"

Notes

Note that it is possible to directly set-up IP addresses on bridge0 bridge1 etc, which may save a couple of epair interfaces in the second and third examples. This is left as an exercise for the reader.

Also, it seems currently difficult or impossible to use VLAN interfaces (if_vlan) in a bridge configuration. I’m still digging on this subject.

References

I have found the following pages useful when preparing my setup and this post:

https://www.reddit.com/r/freebsd/comments/je9oxv/can_i_add_vnet_to_an_ezjail/

https://yom.iaelu.net/2019/03/freebsd-12-vnet-jail-using-bridge-epair-and-pf.html

https://www.cyberciti.biz/faq/how-to-configure-a-freebsd-jail-with-vnet-and-zfs/

Thanks to Jacques Foucry for his work on the nice graphics, Mat Arnold for pointing me to /usr/share/examples/jails and Éric Walter for the idea of the SVG WordPress plugin, avoiding the use of pixelated graphics 🙂

Post-mortem of a DNSSEC incident at eu.org

(or: the good, the bad and the ugly)

Abstract

Due a bug in zone generation, all updates for the EU.ORG zone were stuck from 2020-08-29 02:19 UTC to 2020-09-04 14:40 UTC. Then an incorrect fix was made, resulting in the publication of incorrect DNSSEC signatures for the zone from 2020-09-04 14:40 UTC to 2020-09-04 19:37:00 UTC. Then the final, correct fix was implemented.

This episode, unoriginal albeit humbling, nevertheless yielded interesting returns of experience.

All times in the rest of this document are UTC times.

The software setup at eu.org

The primary DNS server for EU.ORG runs ISC‘s BIND. The zone is currently generated by Python and shell scripts from a Postgresql database. This does not include DNSSEC records for the zone (except DS records for delegations). DNSSEC records are generated and refreshed by dnssec-signzone, one of the tools provided with bind. Once the zone file has been updated, it is reloaded using rndc reload, another command-line tool provided with bind.

Zone key rotation is handled by custom scripts which periodically check for key age and schedule key generation, pre-publication, activation and de-activation as needed, calling dnssec-keygen to manage the key files.

Setup for the failure: blocked updates

2020-08-29 02:19: due to a race condition in the zone generation process (issue #1), the EU.ORG zone file disappeared.

The last good and published version of the EU.ORG zone file, still loaded in the primary server, had serial number 2020082907, generated at 2020-08-29 01:12. In the case of a missing file, the reload obviously fails but bind behaves nicely and keeps serving its older in-memory version of the file.

However, the disappearance of the zone file caused all subsequent zone file generation processes to fail (issue #2), as they were accessing the current version of the file to fetch the currently published serial number.

The problem remained unnoticed (issue #3: incomplete monitoring) until 4 September 2020, when a user notified us that his new domain was still undelegated.

The ugly

Around 2020-09-04 14:40, a first fix was attempted: a known good version of the zone file was reinstalled to allow the zone generation process to succeed, then a new zone was generated, freshly DNSSEC-signed, and loaded.

However, the above timeline conflicted with a scheduled key rotation of the zone-signing keys. The theoretical key rotation schedule was as follows:

Theoretical key rotation schedule

The new key (14716) was due to be published from 2020-08-29 05:37, a few hours after the zone update process failed. It should have been present in concerned resolver caches about 24 hours later, alongside the previous key (22810), ready to be used to check signatures (RRSIG records) of the zone which were supposed to be published from 2020-09-03 05:37.

However, due the zone update suspension, this happened instead. The skipped steps are shown in gray.

Actual key rotation schedule (before fix)

The zone was directly updated from the 2020-08-14/2020-08-29 key configuration to 2020-09-04 14:40.

A few minutes after 2020-09-04 14:40, it was apparent that something was amiss: the resolution of EU.ORG domains failed for people using resolvers with DNSSEC validation.

The cause was quickly identified: since pre-publication for DNSKEY 14716 was missed, most resolvers only had the unexpired DNSKEY 22810 in their cache, while the only RRSIG records available in the zone servers required key 14716.

The bad

The obvious fix was to reactivate key 22810 and regenerate the zone signatures (RRSIG records) with dnssec-signzone. This also leaves in place the signatures with key 14716 (keeping the latter was needed for resolvers which had begun to cache key 14176).

As a side note, it helped that the EU.ORG switched a few months ago to NSEC3 “opt-out” mode. This saves a lot of space (especially in nameserver memory) for zones with many delegations, which is especially useful if you temporarily need double signatures such as in this episode.

A first implementation attempt was made at 2020-09-04 14:52 by updating the dates in the public key file (.key) for key 22810, pushing the inactivation date to 2020-09-07 05:37:00 and the deletion date to 2020-09-09 05:37:00.

Before update:

; Created: 20200808100738 (Sat Aug  8 12:07:38 202)
; Publish: 20200809053700 (Sun Aug  9 07:37:00 202)
; Activate: 20200814053700 (Fri Aug 14 07:37:00 202)
; Inactive: 20200903053700 (Thu Sep  3 07:37:00 202)
; Delete: 20200905053700 (Sat Sep  5 07:37:00 202)
EU.ORG. 172800 IN DNSKEY 256 3 8 AwEAAcHAqfeFzQqo9vFq8ZziaQs2...

Side remarks:

  • the TTL value above is ignored by dnssec-signzone, which by default reuses the TTL in the zone file. The actual TTL is 86400.
  • note the weird year 202 instead of 2020

After update:

; Created: 20200808100738 (Sat Aug  8 12:07:38 202)
; Publish: 20200809053700 (Sun Aug  9 07:37:00 202)
; Activate: 20200814053700 (Fri Aug 14 07:37:00 202)
; Inactive: 20200907053700
; Delete: 20200909053700
EU.ORG. 172800 IN DNSKEY 256 3 8 AwEAAcHAqfeFzQqo9vFq8ZziaQs2...

However… (issue #4: when working in a hurry, expect stupid mistakes), this fix was wrong, albeit harmless. As should have been obvious from the “;” prefix, the above lines are informational. The change above was without any effect, but this was initially unnoticed for lack of adequate testing. (issue #5: don’t reset resolver caches too early, it may hamper testing; if you are expecting specific RRSIG records, test this explicitly).

The good

The actual dates are in the adjoining .private file, which was finally updated as follows:

Private-key-format: v1.3
Algorithm: 8 (RSASHA256)
...
Successor: 14716
Created: 20200808100738
Publish: 20200809053700
Activate: 20200814053700
Inactive: 20200907053700
Delete: 20200909053700

This resulted in the following key rotation schedule, implemented from 2020-09-05 19:37, which finally fixed the issue and probably reduced the zone downtime by almost 19 hours.

It was tested on an untouched resolver which failed EU.ORG requests and recovered from the update (hypothesis: is this because of heuristics on RRSIG records when no cached DNSKEY matches the cached RRSIG records?).

Fixed key rotation schedule

Lessons learned

The above incident will result in several procedural changes on the EU.ORG servers. Some of these are marked as issue #n; others are being considered, like using bind‘s automated signature mode, coupled with dynamic zone updates, which would have made the whole episode moot (but would introduce a strong dependency on bind). Writing this post-mortem text helped make the most of the incident.

Thanks to Stéphane Bortzmeyer, always vigilant when it comes to DNS and DNSSEC bugs, who noticed and notified us that the zone was still broken after the initial incorrect fix, and who read and commented an initial version of this text.

La sobriété numérique, oui mais pour quoi faire ?

Avertissement ajouté le 17/7/2020 : l’objet de ce billet n’est pas de nier l’impact environnemental du numérique, mais d’étudier la pertinence des injonctions à la limitation de notre volume de données.

La facturation au volume, ou la limitation des abonnements Internet, vieux serpent de mer des réseaux numériques depuis des décennies et rêve de certains opérateurs, fait aujourd’hui sa réapparition sous la motivation de la défense de l’environnement, notamment via un rapport récent du sénat, suivi d’un rapport similaire du Conseil national du numérique. Ces rapports s’appuient notamment sur ceux du Shift Project de 2018 et 2019 sur la sobriété numérique ; ces derniers ont vu certains de leurs éléments critiqués en raisons d’erreurs manifestes (surévaluations des empreintes).

Suite à de nombreuses discussions notamment sur les réseaux sociaux, lectures de rapports et études, etc, depuis 2 ans, je voulais poser ici quelques arguments mis en forme pour éviter d’avoir à les réécrire ici et là.

L’affirmation principale qui sous-tend l’idée de limiter notre consommation de données est que l’explosion des volumes provoquerait une explosion de la consommation électrique. Cet argument est également cité pour mettre en doute la pertinence du déploiement de la 5e génération (5G) de téléphonie mobile.

Nous allons voir qu’en fait, l’essentiel de la consommation électrique des réseaux est constitué par le fonctionnement de l’infrastructure, indépendamment de la quantité de données.

Si vous n’avez pas envie de lire les détails de ce billet, vous pouvez vous contenter de “Et le réseau mobile” et “Faut-il vraiment réduire notre consommation de données ?”, en complétant si nécessaire par “La puissance et l’énergie” pour les notions d’électricité.

La puissance et l’énergie

Pour commencer, quelques rappels de notions électriques fondamentales pour mieux comprendre les chiffres que l’on voit circuler ici et là, et leurs ordres de grandeur.

Le Watt est l’unité de puissance électrique. C’est une valeur “instantanée”. Pour éclairer correctement vos toilettes, vous aurez besoin de moins de puissance que pour illuminer un monument comme la tour Eiffel. Un four électrique, un grille pain ou un radiateur engloutissent aux alentours de 1500 à 2500 watts. Un téléphone mobile, moins de 5 watts. Comme la quasi totalité de la consommation électrique passe en effet Joule, tout objet usuel qui consomme de manière significative émet de la chaleur. C’est un moyen très simple de s’assurer qu’un objet ne consomme pas beaucoup d’électricité : il ne chauffe pas de manière sensible (c’est un peu différent pour des moteurs électriques, mais cela reste vrai pour des ampoules).

Le Watt.heure, Wh (ou son multiple le kilowatt.heure, kWh) est une unité d’énergie. Si vous vous éclairez pendant 2 heures au lieu d’une heure, la consommation d’énergie sera doublée. Et en mettant deux ampoules, vous consommerez en une heure ce qui aurait pris deux heures avec une simple ampoule.

Le fournisseur d’électricité compte donc les kWh pour la facturation. Il calibre également le compteur pour une limite (en Watts) à la puissance appelable à un moment donné. C’est une limitation de débit. Cela peut vous empêcher de faire tourner à la fois le four électrique et le chauffe-eau, gros consommateurs d’électricité, mais ça ne vous interdit pas de les utiliser l’un après l’autre.

Une batterie, que ce soit de téléphone ou de voiture (électrique ou non) stocke de l’énergie et voit donc sa capacité exprimée en watts.heure. On peut aussi l’indiquer en ampères.heure. Dans ce cas, il faut multiplier cette dernière valeur par la tension nominale (volts) pour obtenir la capacité équivalente en watts.heure.

On voit passer parfois, au fil des articles, des “kilowatts par an” ou “mégawatts par heure”. Ces unités n’ont pas de sens physique directement utile. Elles indiquent en général une erreur.

Comment vérifier des consommations d’appareils électriques

Il est facile de vérifier soi-même la consommation des appareils électriques usuels avec un “consomètre”. Ainsi, vous n’aurez pas à prendre pour argent comptant ce qu’on affirme ici ou là. On en trouve pour moins de 15 €. Les modèles auto-alimentés (sans pile) sont en général préférables, évitent la corvée de piles et sont donc plus respectueux de l’environnement, mais peuvent perdre la mémoire en cas de coupure. Ces appareils permettent aussi bien de mesurer la consommation instantanée (la puissance, en W) que l’énergie utilisée sur une certaine durée (en kWh donc), pour les appareils qui ont une consommation fluctuante (par exemple, un frigo ne se déclenche que pour refaire un peu de froid quand c’est nécessaire).

Commençons par un objet courant, le point d’accès wifi.

TP-Link Routeur WiFi N450 Vitesse sans fil jusqu’à 300 Mbps,Dual-band, 5 ports (Ethernet 4 ports ), 2 antennes externes, Support contrôle parental, TL-WR940N

Un point d’accès wifi de ce type, allumé, consomme environ 4 watts, tout le temps, indépendamment de son utilisation. Côté antenne wifi, la législation en France interdit une émission d’une puissance supérieure à 100 mW. Autrement dit, la consommation due à la transmission par l’antenne est au grossièrement (pour simplifier, car l’électronique interne sera également un peu plus sollicitée) 2,5 % de la consommation totale de la borne. L’interface ethernet (filaire) consomme un peu d’électricité elle aussi, mais celle-ci dépend de la longueur du câble plus que du volume de données transmis. Certaines bornes disposent ainsi d’un mode “vert” pour réduire la consommation électrique dans un environnement personnel, où les câbles mesurent quelques dizaines de mètres au maximum, plutôt que 100 mètres.

La différence de consommation entre une borne qui émet au maximum de sa capacité et une borne allumée sans aucun trafic sera donc au maximum de 2,5 %. En tout cas, il faut être conscient que diviser par 2 sa propre consommation de données ne divisera pas par 2 la consommation électrique associée, ni chez soi, ni ailleurs. Il est très facile avec un consomètre de le vérifier par soi-même pour la partie à domicile.

La box Internet

Les mêmes remarques s’appliquent à votre box d’accès Internet. Celle-ci va avoir, comme un point d’accès wifi, une ou plusieurs prises ethernet, et un accès au réseau de l’opérateur : aujourd’hui ADSL, VDSL ou fibre.

L’ARCEP a publié en 2019 un rapport sur l’impact carbone des accès à Internet. D’après un des acteur interrogés, “la fibre consomme en moyenne un peu plus de 0,5 Watt par ligne, soit trois fois moins que l’ADSL (1,8W) et quatre fois moins que le RTC [réseau téléphonique classique] (2,1W) sur le réseau d’accès”. Ces estimation de consommation ne varient pas du tout en fonction du volume transmis. En effet l’ADSL comme la fibre ont besoin d’émettre en permanence, que beaucoup ou peu de données soient transmises.

On voit aussi les progrès sensibles accomplis au fil des générations technologiques, puisque la consommation fixe décroît alors que le débit disponible augmente.

Par ailleurs, comme avec la borne wifi, la partie concernant la transmission longue distance présente une consommation marginale par rapport à celle de la box qui représente aux alentours de 10 à 30 watts suivant les générations. Les opérateurs travaillent d’ailleurs à la réduction de cette consommation, car elle devient un argument commercial.

Le téléphone mobile

Bon, la box Internet ou le point wifi ne consomment donc pas tant que ça. Qu’en est-il du téléphone mobile, présenté comme extrêmement gourmand ?

L’avantage du téléphone mobile est qu’il est alimenté par une batterie. Il est donc très facile d’estimer sa consommation maximale en fonctionnement : c’est celle d’une charge batterie complète, moins les pertes de celle-ci (faibles).

Une batterie de téléphone mobile d’aujourd’hui possède une capacité de 10 à 15 Wh. Elle peut donc fournir 10 à 15 W pendant une heure, ou la moitié pendant 2 h, etc.

L’éclairage d’écran d’un téléphone consomme à lui seul aux alentours de 2 W (facile à vérifier avec un consomètre assez sensible sur lequel on branche le chargeur). Cela représente le coût majeur lorsque vous visionnez une vidéo. La consommation est nettement plus élevée si vous préférez le faire sur un grand écran type téléviseur, et cela s’applique également à la télévision hertzienne classique.

Par comparaison, une ampoule LED consomme environ 8 watts pour remplacer à luminosité équivalente une ampoule à incandescence de 60 watts. Autrement dit, une charge de téléphone mobile n’a l’énergie pour éclairer une ampoule “basique” que pendant 1 à 2h. Il est évidemment important d’éteindre les pièces inoccupées, mais on en parle peu. Nous avons été convaincus que le téléphone mobile consommait bien plus, ce qui est faux.

Et le réseau mobile ?

Comme votre installation personnelle, la consommation du réseau de téléphonie mobile est essentiellement un coût fixe. L’équipement actif d’une antenne allumée va consommer quelques kilowatts ou dizaines de kilowatts, l’émission hertzienne proprement dite se contente de quelques dizaines de Watts, soit 100 fois moins. Autrement dit, la variable principale qui sous-tend la consommation électrique d’un réseau mobile est l’étendue de la couverture géographique, directement corrélée au nombre d’antennes.

Une étude finlandaise citée par le document Arcep a tenté d’estimer, pour la téléphonie mobile, la consommation électrique du réseau par rapport au volume de données, autrement dit le nombre de kWh par gigaoctet transféré (kWh/Go).

Pour effectuer de telles estimations d’impact environnemental, les méthodes dites d'”analyse du cycle de vie” (ACV) évaluent l’ensemble des coûts imputés par une activité. Ainsi, l’évaluation de l’empreinte de la téléphonie mobile intègre la fabrication des terminaux, la consommation personnelle (recharge quotidienne du téléphone), etc. Pour évaluer l’empreinte d’un opérateur mobile, on prend en compte la consommation des antennes, mais également la climatisation et chauffage des bureaux, etc. En divisant ce chiffre de consommation électrique totale par le volume échangé total, on peut obtenir une estimation de l’empreinte électrique du volume de données échangées.

Ce chiffre est intéressant pour évaluer l’empreinte totale des opérateurs, mais trompeur : il laisse entendre que la consommation électrique d’un opérateur mobile est totalement dépendante du volume échangé, ce qui est faux. Si du jour au lendemain tous les abonnés mobiles de France divisent leur consommation de données par 2, la consommation électrique des opérateurs ne va pas se réduire du même facteur : leurs antennes resteront allumées, leurs bureaux continueront à être climatisés et éclairés, etc.

L’étude finlandaise citée ci-dessus est intéressante à cet égard : on voit que la consommation électrique des opérateurs finlandais est restée à peu près stable pendant la décennie 2010, malgré une légère croissance tendancielle.

En revanche, les volumes échangés ont considérablement augmenté sur la même période :

L’étude finlandaise utilise les deux graphes précédents pour en déduire un graphe d’efficacité énergétique en kWh/Go :

Si on ne prenait en compte que ce dernier graphe, ou même simplement une estimation ponctuelle en kWh/Go, on serait tenté de croire que doubler le volume de données va doubler la consommation énergétique associée, mais c’est totalement faux. Pour simplifier un peu, on ne ferait qu’introduire un nouveau point de données avec une efficacité énergétique multipliée par deux.

Bien sûr, les choses sont un peu plus complexes que ci-dessus. Augmenter la consommation en volume va provoquer l’installation de nouvelles antennes, de routeurs plus puissants, de liaisons fibre de plus grande capacité, peut-être de nouveaux liens terrestres pour développer le réseau. Inversement, comme on l’a vu ci-dessus, les générations technologiques permettent d’échanger des volumes de données toujours plus élevés avec une consommation électrique qui se réduit. Ces progrès, réels, ne sont que peu visibles dans les chiffres agrégés de kWh/Go, puisque ces derniers sont essentiellement constitués de coûts fixes sans rapport avec les technologies de transmission.

Le rapport ARCEP cité ci-dessus propose également une évaluation en termes de gaz à effet de serre (indicateur plus important que la consommation électrique), qui montre une baisse progressive de l’empreinte des opérateurs français.

La section à laquelle ce graphique figure est d’ailleurs titrée “Une amélioration de l’efficacité énergétique qui compense, à ce stade, l’effet de l’explosion de trafic” pour résumer la situation.

Et les centres serveurs (datacenters) ?

Si tous les éléments cités ci-dessus ont une consommation faible, rien ne prouve que la consommation des datacenters n’est pas en train d’exploser pour répondre à la demande croissante ?

Une étude de l’agence internationale de l’énergie (IEA) montre, là encore, que la consommation électrique de ces centres n’explose pas, car les coûts principaux sont également des coûts fixes, et l’amélioration des équipements et de leur taux d’utilisation permet de traiter une quantité toujours croissante de services à consommation électrique égale.

De 2010 à 2019, le volume réseau a ainsi été multiplié par 12 alors que la consommation électrique est restée remarquablement stable.

Faut-il vraiment réduire notre consommation de données ?

On voit d’abord qu’aucun des éléments de la chaîne, du serveur de données à notre installation personnelle, n’éprouve une sensibilité particulière aux volumes de données échangés. Il n’y a donc pas de raison écologique de se forcer à réduire notre consommation de celles-ci.

Il n’y a pas de raison non plus de forcer les opérateurs à le faire à notre place, en appelant à l’interdiction des forfaits illimités, ou à une obligation de facturation au volume. On notera d’ailleurs que ces envies de facturation proviennent historiquement des opérateurs eux-mêmes, et ont pu être liées à des initiatives pour remettre en cause la neutralité du réseau.

On peut légitimement arguer que l’électricité française est l’une des moins carbonées du monde (nos efforts en matière de consommation électrique ont donc beaucoup moins d’impact CO2 qu’ailleurs, à énergie économisée équivalente).

Mais puisque rien ne prouve qu’être sobre sur notre consommation de données aura le moindre impact significatif sur la consommation électrique, à quoi bon s’épuiser en efforts inutiles ?

Ce tweet résume d’ailleurs bien la question, pour montrer que le refus “par principe” de l’illimité n’a pas de sens :

En conclusion, la sobriété pour la sobriété, qu’elle soit volontaire ou forcée, n’est guère justifiable, et risque même de nous empêcher de profiter des externalités positives significatives, et reconnues, du numérique. Préférons donc la sobriété dûment justifiée.

Il est bien entendu utile d’éteindre sa box Internet, son accès wifi ou son ordinateur lorsqu’on ne s’en sert pas, comme on éteint la lumière ou le chauffage dans une pièce inoccupée. Il semble également établi, jusqu’à preuve du contraire — les données fiables sur la question sont rares en Europe –, que la fabrication des terminaux mobiles reste une activité consommatrice de ressources, il est donc utile d’utiliser les nôtres le plus longtemps possible pour mieux en amortir ce coût fixe.

Ce billet est resté succinct pour ne pas noyer le lecteur sous des tonnes de chiffres, mais n’hésitez pas à laisser un commentaire ici si vous avez des données pertinentes et sourcées qui pourront peut-être faire l’objet d’une deuxième couche 🙂

Copyright Directive Article 13 Flowchart

To get a better idea of how Article 13 of the Copyright Directive (to be voted very soon at the European Parliament) operates, and evaluate how complicated and dangerous it is, I have made the following flowchart. Feel free to share. Comments welcome.

Source text, current article 13 draft: https://juliareda.eu/wp-content/uploads/2019/02/Art_13_unofficial.pdf

See also my analysis about content filtering for article 13.

Article13 Flowchart

Other references with graphs:

https://www.nextinpact.com/news/107705-directive-droit-dauteur-notre-schema-pour-comprendre-larticle-13.htm

https://boingboing.net/2019/03/11/legislative-analysis.html


La démission française sur la liberté d’expression numérique

Un point sur la directive copyright semble utile (j’avais écrit ici une petite introduction précédemment, pour les lecteurs qui ne sont pas au courant de l’article 13 de cette directive).

La nouvelle du jour, c’est qu’après des mois de tergiversations, la position française (totalement acquise aux ayants-droit) semble avoir eu gain de cause, ce qui est inquiétant. Les garde-fous demandés par les défenseurs des libertés en ligne semblent avoir été largement ignorés.

Ainsi, ni PME ni les sites à but non lucratif (ce dernier point ne semble pas certain, mais ce n’est pas encore très clair) ne seraient exclus du champ de l’article 13, ce qui revient à mettre une barrière d’entrée infranchissable à ceux-ci en face des GAFAM puisque ces derniers disposent déjà des technologies de filtrage nécessaires pour être à l’abri de l’article. Et il risque d’en résulter une censure sans subtilité des contenus produits par les utilisateurs, voire disparition pure et simple (ou inexistence) de certains services (voir ici le tout dernier article de Julia Reda, députée européenne allemande, pour les détails).

Revenons sur les facteurs qui font que la position française en la matière est particulièrement extrémiste.

Les institutions françaises et les ayants-droit

Sans revenir en détail sur la situation française autour de l’exception culturelle, un peu de contexte est nécessaire.

Depuis des décennies, la concrétisation de l’exception culturelle est le passage de lois de protection de l’industrie du spectacle, éventuellement au détriment de l’intérêt public.

Il y a ainsi eu les lois cherchant à protéger le cinéma contre la télévision (chronologie des médias), puis le cinéma et la télévision contre la cassette VHS et le DVD, puis les chaînes privées brouillées, puis la VHS et le DVD contre les importations contrariant les exclusivités nationales, puis le CD contre la musique en ligne, puis tout cela contre le piratage. Cette liste n’est, bien sûr, pas exhaustive (des séries de lois similaires existent concernant le livre).

S’y ajoutent les diverses taxes et redevances destinées à soutenir la même industrie : redevance télévisuelle (dont une bonne partie sert à acquérir des droits de diffusion), redevance copie privée (supposée dédommager les ayants-droit pour les copies de sauvegarde des œuvres que vous avez légalement acquises, mais que vous paierez également pour stocker vos vidéos de vacances ou en achetant votre téléphone), droits divers sur votre abonnement Internet, etc.

S’y ajoutent un certain nombre d’instances et d'”autorités administratives indépendantes”, suivant le terme consacré : la Hadopi et le CSA, mais aussi le CSPLA (conseil supérieur de la propriété littéraire et artistique) ou la commission pour la rémunération de la copie privée, qui décide unilatéralement du montant de la redevance copie privée. Toutes ces entités dépendent du ministère de la culture.

Une des missions principales attribuées au ministère de la culture est de réaliser, au niveau français, la législation pour protéger les ayants-droit, et à l’échelle européenne, le lobbying pour légiférer dans le même but, en particulier la directive copyright (dite “directive droit d’auteur” en France) qui nous intéresse en ce moment.

Officiellement, la mission du ministère est de « rendre accessibles au plus grand nombre les œuvres capitales de l’humanité et d’abord de la France ». En pratique, cette mission est interprétée de manière limitative : ne comptez pas sur le ministère pour défendre les licences libres ou le domaine public, car il s’agit d’un casus belli vis-à-vis des industries littéraires et du spectacle, et celles-ci l’ont clairement exprimé à plusieurs reprises.

Enfin, ce panorama ne serait pas complet sans un mot sur la représentation française au parlement européen : elle a été à l’avenant lors du vote de juillet, dans une écrasante majorité en faveur des ayants-droit, sans nuance et tous partis confondus, à l’exception notable des Verts.

Les médias et les ayants-droit

La couverture par les médias généralistes en France de la directive copyright a été quasiment inexistante, sinon pour :

  • accorder des tribunes aux ayants droit, pour défendre l’utilité de l’article 13, en en ignorant les effets néfastes ;
  • s’indigner du lobbying — réel — de Youtube et Google contre la directive, en oubliant totalement que les ayants-droit ne sont pas en reste, loin de là, en matière de lobbying ; et qu’au delà de ces 2 lobbies bien visibles et d’un storytelling binaire mais facile, devrait être évoqué l’intérêt général, celui des citoyens.

En ce qui concerne la presse, la directive prévoit l’article 11, censé obliger les moteurs de recherche à rémunérer les journaux pour le trafic que les premiers leur apportent. Pour en arriver à cette absurdité (qui équivaut à demander une commission à un taxi pour qu’il ait le droit de déposer ses clients à tel hôtel), il faut tordre le droit d’auteur et les usages d’Internet, en piétinant le droit de citation.

Les lobbyistes des articles 11 et 13 sont donc entrés depuis l’été 2018 dans un jeu de donnant-donnant. « Je soutiens ton article 11, en échange tu soutiens mon article 13, et réciproquement ». En effet, le sort de ces deux articles est lié : l’un comme l’autre visent clairement Internet sous couvert de cibler les GAFAM ; l’un comme l’autre sont contestés depuis des mois par les associations de défense des libertés ; et le reste de la directive copyright est relativement consensuel.

Ainsi, les tenants de l’article 11 (la presse) se sont vu reprocher par ceux de l’article 13 (les ayants-droit de l’industrie du spectacle) l’échec du vote de juillet 2018, qui aurait permis une validation accélérée au parlement européen, en donnant mandat au rapporteur Axel Voss pour terminer l’écriture de la directive.

Autrement dit, le sort de la directive copyright repose essentiellement sur le consensus qui sera obtenu sur ces articles 11 et 13 ; et cela traîne, car la position française, totalement calquée sur les demandes des ayants-droit, est loin de faire l’unanimité dans l’Union Européenne.

En France, le sujet ne suscite guère d’intérêt médiatique sinon pour s’indigner épisodiquement de manière pavlovienne de l’hégémonie des GAFAM, comme dans cette récente édition de l’Instant M de France Inter qui, toute occupée à dénoncer l’activisme de Youtube, en oublie accessoirement celui des ayants-droit, mais surtout arrive à faire l’impasse sur le sujet de la liberté d’expression, ce qui est plus gênant.

Précisons que je n’ai rien contre cette émission. C’est simplement l’exemple le plus récent auquel j’ai été confronté, mais il en existe bien d’autres, dans le Monde, dans Les Échos, et ailleurs, sous forme, souvent, de tribunes d’opinion à des collectifs d’artistes, ou d’interviews d’artistes en vue. Ainsi, pour ne citer que Jean-Michel Jarre, dès les titres, la tonalité est claire :

  • Le Monde : Jean-Michel Jarre : « YouTube ne doit pas devenir un monopole »
  • France Info : Jean-Michel Jarre défend les auteurs face aux “monstres d’internet”

On cherchera en vain des articles aussi médiatisés exprimant des positions allant clairement contre les articles 11 et 13 de la directive, ceux-ci étant essentiellement du ressort de la presse spécialisée, ou relégués dans des rubriques “actualité numérique”.

Il faut quand même noter quelques exceptions. J’ai eu la chance et l’honneur d’être sollicité par France 24 pour défendre le point de vue des utilisateurs et hébergeurs Internet, ainsi que pour des articles de BFMTV et Marianne, ce dont je les remercie. J’ai également été invité par l’April à l’émission Libre à vous sur Radio Cause Commune, qui est revenue à plusieurs reprises sur la directive. Enfin, on ne peut oublier la couverture régulière de ces sujets, et de tout ce qui concerne le lobbying numérique des ayants-droit, dans Nextinpact, sous la plume de Marc Rees.

La situation associative française

Plus préoccupant, et plus surprenant, l’une des associations phares de défense des droits numériques en France, la Quadrature du Net, a fait preuve d’un mutisme quasi complet sur le sujet de la directive, hors quelques déclarations de principe contre l’article 13 jusqu’à l’été 2018, suivies de prises de positions niant le danger de la directive pour l’« Internet libre », totalement à contre-courant du sentiment général dans les associations similaires.

La Quadrature n’a pas jugé possible non plus de prendre le temps de signer la lettre ouverte d’EDRI, au contraire de 90 des associations européennes et internationales les plus en vue se préoccupant de droits numériques, dont l’EFF états-unienne.

C’est d’autant plus ennuyeux que la Quadrature du Net dispose, dans le domaine associatif numérique, d’un historique et d’une écoute médiatiques qui n’ont guère d’équivalent en France. Son absence peut en partie expliquer la couverture médiatique univoque observée sur le sujet.

On note un autre absent de marque, le Conseil National du Numérique, qui semble se cantonner désormais aux missions que lui confie le gouvernement Macron.

Les deux principales associations françaises ayant réellement fait campagne contre la directive sont l’April, association de défense du logiciel libre, et Wikimédia, la branche française de la fondation qui édite le bien connu Wikipédia, concerné directement par les articles 11 et 13. On peut citer également le CNLL et Renaissance Numérique parmi les signataires de la lettre ci-dessus.

Un article 13 extrême

Même parmi les ayants-droit, l’article 13 ne faisait pas l’unanimité. Ainsi, en décembre, des ayants-droit du cinéma et du sport se sont désolidarisés de l’article tel qu’il était rédigé, estimant qu’il allait trop loin et ne bénéficierait qu’aux grandes plateformes. C’est également la position des associations.

Un résultat à la hauteur des efforts français

Comme précisé plus haut, il semble qu’après un combat entre la position française et celle d’autres pays, dont l’Allemagne, la directive copyright soit en train de passer avec un article 13 in extenso, minimaliste vis-à-vis de la protection des droits des citoyens et des intermédiaires techniques, la position de la France ayant prévalu. Rien n’étant jamais gratuit dans ces négociations, difficile de dire contre quel abandon réciproque la défense des ayants-droit a été troquée vis-à-vis de l’Allemagne.

Une situation plombée

En France, comme on l’a vu, la situation politique est verrouillée depuis des décennies par les ayants-droit, au détriment de l’intérêt général, et sans espoir ni même volonté d’en sortir.

Par parenthèse, car le domaine de la SVOD (vidéo par abonnement en ligne) est très anecdotique au regard des impacts potentiels des articles 11 et 13, le prochain échec sera celui d’un concurrent potentiel à Netflix, coulé d’avance par une législation et un écosystème hexagonaux hostiles à toute innovation en la matière, et une absence de vision. Ainsi, après avoir plombé molotov.tv par l’accumulation de règles sur les magnétoscopes virtuels, après le quasi échec de Canal Play qui en est réduit à imposer des procédures de désabonnement compliquées pour retenir ses abonnés (on notera que Vivendi n’a pas voulu acquérir Netflix à ses débuts), on nous prépare salto.fr, sur fonds publics, qui croit pouvoir s’imposer par des exclusivités sur les séries de France Télévision (celles-ci seront retirées de Netflix), et qui, inévitablement, rejoindra quelques temps après son ouverture la longue liste de nos échecs de stratégie industrielle et politique.

Et maintenant ?

La première chose à faire, urgente et essentielle, serait de sortir du raisonnement mortifère (et réactif) « ce qui est mauvais pour les GAFAM est bon pour l’intérêt général » qui actuellement motive et oriente l’essentiel de l’action législative française en matière numérique.

D’une part, parce que ce qui semble mauvais pour les GAFAM ne l’est pas forcément réellement pour eux. Ainsi, Google/Youtube dispose déjà de la technologie nécessaire pour appliquer l’article 13, ce qui lui donne une avance considérable sur le reste de l’industrie. Ensuite, on a appris récemment que Facebook, derrière une opposition de façade à l’article 13, poussait discrètement le législateur à l’adopter, parce que Facebook possède également une avance technologique en la matière.

D’autre part, ce qui semble mauvais pour les GAFAM, a, a priori, des chances de l’être également pour des acteurs similaires, les hébergeurs et autres intermédiaires techniques, qu’ils soient à but lucratif ou non, et Wikimédia l’a bien compris. Difficile de se plaindre de la prééminence persistante des GAFAM lorsqu’on a savonné également la planche des services concurrents, à moins que le plan soit de renforcer cette prééminence pour avoir un lieu de contrôle, surveillance et taxation centralisé plus simple à gérer par les états.

Dans un autre registre, on voit déjà dans les tentatives de taxation de Google et Facebook par l’état français que le crayon du législateur peut déborder : il suffit qu’un article de loi soit mal rédigé pour qu’il ait un impact bien au delà de Google ; la loi étant supposée ne pas viser un acteur particulier, ce qui serait discriminatoire, elle doit établir des principes, mais les acteurs similaires (dans le monde publicitaire en particulier) existent et, s’ils sont probablement ravis qu’on taxe Google, ils souhaiteraient éviter qu’on les taxe pour la même activité.

Il suffit de transposer la situation fiscale à celle des articles 11 et 13 pour imaginer les dangers vis-à-vis de la liberté d’expression.

Ensuite, parce que se focaliser sur la lutte contre les GAFAM revient à négliger les citoyens. Ceux-ci auraient du mal à migrer en masse vers d’autres services, même si cela pourrait être souhaitable, à supposer que de tels services existent. Notamment, restreindre par la loi la liberté d’expression sur les GAFAM, même si elle n’y est pas parfaite, revient à restreindre la liberté d’expression tout court.

Enfin, la loi doit poser des principes généraux et fonctionner le moins possible par exceptions. Ainsi, l’article 13 prévoit une liste limitative d’exceptions, qui correspondent à des services déjà existants. Mais l’imagination des développeurs de sites et d’applications est plus fertile que celle du législateur et des lobbies du moment, et les possibilités d’Internet plus larges. Ainsi, si les forges de logiciel ou les encyclopédies en ligne n’existaient pas déjà, avec des acteurs de taille notable pour les défendre, les exceptions correspondantes auraient été tout simplement oubliées.

À côté de quels autres services et usages encore inconnus sommes-nous en train de passer en écrivant la loi contre les acteurs hégémoniques du moment et pour soutenir tel ou tel groupe d’intérêt sur des modèles d’un autre temps qui, tôt ou tard, devront être repensés en fonction des possibilités de la technologie, et non contre celle-ci ?

Et pour revenir à la liberté d’expression : elle est — en partie — incluse dans le paragraphe qui précède, dans ces futurs services, même si elle mériterait un développement. Rappelez-vous du Minitel, un modèle qui a eu son heure de gloire, mais très encadré à tous points de vue, et en particulier pour préserver le modèle de la presse papier. Pensez-vous vraiment que la liberté d’expression y était aussi étendue que sur Internet aujourd’hui ?

Et plus largement, les attaques récentes contre l’anonymat en ligne par le gouvernement, beaucoup de politiques même dans l’opposition, et certains syndicalistes et éditorialistes montrent que la position de la France sur les articles 11 et 13 est loin d’être un accident de parcours.

la biographie de Louis Pouzin et l’aventure Cyclades

On ne présente plus Louis Pouzin : il a été, notamment, l’un des pionniers français des réseaux informatiques, dès les années 1960 et 1970, avec le réseau Cyclades.

Sa biographie vient d’être publiée aux éditions Economica, dans la “Collection Cyberstratégie”, par Chantal Lebrument et Fabien Soyez, avec une préface du blogueur clermontois Korben.

Cette biographie couvre principalement la carrière professionnelle de Louis, mais évoque également sa jeunesse et ses études.

Le livre nous place ainsi au cœur du combat entre les réseaux informatiques et les réseaux télécoms des années 70-90, finalement remporté par les premiers. C’est de ce passé que provient l’insistance maniaque de certains informaticiens l’ayant vécu à parler de réseau informatique plutôt que de réseau de télécommunications.

Le lecteur est plongé dans les affres de la SIMCA, de la société Bull, du Plan Calcul, de l’IRIA (aujourd’hui INRIA), du CNET, et d’un certain nombre d’entités moins connues. La société Bull, notamment, a longtemps défrayé la chronique en France avec ses tentatives pas toujours couronnées de succès (euphémisme) pour populariser sa gamme de machines face à ses gros concurrents états-uniens.

À travers les citations des anciens de Cyclades, le livre évoque aussi une partie des carrières de ces derniers. Ainsi, deux d’entre eux, Michel Gien et Hubert Zimmermann, ont travaillé chez Chorus Systèmes, bien connue dans les années 1990.

On découvre également de l’intérieur l’ambivalence, encore actuelle, d’un état français se voulant stratège, prêt à financer des projets de pointe, mais esclave d’alternances politiques et de raisonnements administrativo-politiques qui ne favorisent pas les meilleurs résultats à long terme, voire produisent des gâchis purs et simples.

L’époque MIT

Après un début de carrière en France, Louis Pouzin a passé une année au MIT, travaillant sur un système d’exploitation bien connu de l’époque : Multics.

Multics fut un des premiers systèmes à “temps partagé” (timesharing) : plusieurs utilisateurs peuvent utiliser simultanément l’ordinateur, et travailler comme s’ils avaient l’ordinateur à eux seuls. Le temps partagé permet un meilleur partage des ressources informatiques, et un travail plus facile. Cela semble très banal aujourd’hui, mais auparavant, les travaux informatiques étaient réalisés par lot : chacun mettait sa tâche dans une file d’attente (souvent, un bac de cartes perforées). Les travaux étaient traités séparément, un par un. Il fallait donc attendre son tour pour voir son travail traité, puis attendre le résultat de celui-ci, le tout pouvant prendre des heures ou des jours. On n’imagine pas le développement agile dans ces conditions…

Là, Louis invente le shell : l’interpréteur de commandes, un élément encore aujourd’hui central dans tous les systèmes.

Le livre évoque cette période, ainsi que, au retour en France, l’évangélisation à travers l’Europe, pour Bull, des clients de la société au timesharing.

Les prémisses de Cyclades : les communications informatiques des années 1970

Dans les années 1970, chaque constructeur informatique avait sa propre gamme, de l’unité centrale aux périphériques, quasi totalement incompatible avec celle de la concurrence. Même les formats de données texte n’étaient pas unifiés, l’ASCII se battant avec l’EBCDIC.

Pour faire communiquer deux ordinateurs sur une longue distance, on utilisait des modems et une ligne téléphonique classique, avec un ordinateur à chaque extrémité, comme pour deux correspondants humains. Ce fonctionnement était défendable pour une utilisation humaine, mais d’une inefficacité catastrophique pour relier des machines.

Tout était donc à créer : l’architecture des réseaux, mais aussi les protocoles d’échange indépendants des architectures de machines.

Cyclades, Arpanet et RCP

Une série de recherches et d’expérimentations ont donc lieu dès la fin des années 1960, essentiellement dans les pays occidentaux, pour réaliser les premiers réseaux informatiques. Ces programmes de recherche ont donné naissance, notamment, à Arpanet, le prédécesseur états-unien d’Internet, mais aussi, côté français, à Cyclades. Il s’agit, à l’époque, d’interconnecter les rares et gros ordinateurs entre eux, et d’en donner accès à distance aux utilisateurs, pour mutualiser les ressources.

Cette période de Cyclades est la plus passionnante et représente presque la moitié du livre.

Le livre couvre en détail la genèse du projet, au sein du Plan Calcul, la constitution de l’équipe — une belle bande de geeks ne comptant pas leurs heures et leurs voyages d’évangélisation, reliés par la passion –, les échanges internationaux nombreux, notamment avec les états-unis, les conférences, les aléas politiques, la reconnaissance des idées et des réussites propres à Cyclades, mais aussi la concurrence avec RCP, le projet monté par le CNET.

Cette partie s’appuie largement sur les travaux de Valérie Schafer et Pierre Mounier-Kuhn sur les débuts de Cyclades et de l’lnternet, qui nous détaillent le processus d’apparition des concepts, attributions et partages, de publication de papiers en reprise par d’autres équipes.

Les divergences principales entre Cyclades et RCP tournent autour de la notion de “paquet”. Dans Cyclades il est transmis tel quel (on finira par l’appeler “datagramme”) ; dans les réseaux d’inspiration télécom, on préfère l’enrober dans un “circuit virtuel”, imitant le fonctionnement du réseau téléphonique (on retrouve la même divergence de culture aux USA, aux débuts d’Arpanet, avec les ingénieurs d’ATT prenant de haut les informaticiens de BBN sur la façon de construire un réseau).

Ce choix du datagramme contre le circuit virtuel a de larges ramifications : le circuit virtuel complique le réseau, le rend moins résilient aux redémarrages d’équipements. Il complique également les interconnexions entre réseaux.

Le livre décrit les tensions entre les équipes Cyclades et RCP, les interventions de la hiérarchie pour faire taire les vilains petits canards, la tentative de fusion des projets, et la décision politique, à l’élection de Valéry Giscard d’Estaing en 1974, de ne poursuivre qu’un seul projet.

Le succès de RCP, X.25, Transpac et le Minitel

C’est RCP, projet issu de l’administration des télécoms, qui, soutenu politiquement, donnera naissance à Transpac (et, en partie, au standard X.25).

Transpac sera, entre autres, utilisé comme support pour le Minitel, et sa première révolution pour l’utilisateur sera la possibilité de communiquer numériquement à travers son propre pays à un tarif indépendant de la distance.

X.25 sera handicapé par son architecture, et en pratique les échanges internationaux fondés sur celui-ci resteront marginaux, éradiqués par un Internet naissant au fonctionnement et tarification plus simples (l’ATM, lui aussi fondé sur les circuits virtuels, qui devait prendre la relève de X.25, connaîtra le même sort funeste, pour des raisons similaires).

Selon Bernard Nivelet, ancien responsable du centre de calcul de l’IRIA, cité dans le livre, “l’attitude de la DGT nous a fait perdre environ 15 ans de maîtrise industrielle”.

Cyclades et TCP/IP

Aux USA, dès 1972-1973, un certain Vinton Cerf qui travaille à la conception de TCP/IP avec Robert Kahn, a compris l’intérêt du travail réalisé sur Cyclades, et s’en inspire.

D’après le livre, c’est dans TCP version 2 (à l’époque, IP et TCP sont traités séparément) que ces idées seront intégrées. Outre l’idée du datagramme, dont Cyclades a été le premier à montrer la faisabilité en réel, TCP/IP reprendra l’idée de fenêtre glissante (qui permet d’adapter la vitesse de transmission à la capacité du réseau), mais aussi les idées sur l’interconnexion des réseaux (le catenet dans les papiers Cyclades, terme repris tel quel dans l’IEN-48 de Vint Cerf en 1978, qui cite Louis Pouzin dès l’introduction).

À leur tour, ces concepts faciliteront la transition “douce” d’Arpanet de son protocole historique vers TCP/IP version 4, par morceaux, en 1983, avant de continuer sa croissance en agrégeant de nouveaux réseaux, aboutissant à l’Internet que nous connaissons.

“Ce sont les américains qui ont sauvé le datagramme”, expose Louis Pouzin. Mais dans Cigale (le réseau physique de Cyclades), “on avait défini que l’adresse destinataire n’était pas un point fixe, hardware (une adresse IP), mais une adresse virtuelle, dans les ordinateurs des utilisateurs”.

Il faut saluer la transparence du livre, qui permet aux anciens de l’équipe Cyclades de rappeler que beaucoup des idées du projet proviennent d’un travail collectif, et s’émeuvent que les projecteurs aient été beaucoup placés sur Louis Pouzin.

L’après Cyclades

La fin du livre évoque les aventures plus récentes de Louis Pouzin : les rencontres d’Autrans, le SMSI, le FGI, RINA, l’internationalisation de l’Internet, et les alternate roots (les racines DNS ne dépendant pas de l’autorité ICANN, sujet controversé qu’il serait trop long de développer ici). Le livre est écrit là sur un ton plus militant,  pas toujours facile à suivre, citant quelques anecdotes croustillantes de clashs, notamment entre Louis et les représentants de l’ICANN. On y note une coquille répétée surprenante quoique classique, l'”IUT” pour évoquer l’UIT (ITU en anglais). On y apprend aussi que Louis Pouzin est fan du langage Perl !

Pour terminer sur une note plus personnelle, j’ai eu l’occasion de croiser Louis Pouzin à différentes occasions, la première fois lorsque je travaillais au centre de calcul de l’ENST (école nationale supérieure des télécommunications, maintenant Télécom ParisTech), rue Barrault à Paris. On peut aussi croiser Louis, qui s’intéresse à tout ce qui peut concerner un geek, lors de sessions du FGI comme lors de conférences sur Bitcoin, et il manifeste toujours avec le sourire la même gouaille et la même ardeur à refaire le monde 🙂

Le centre de calcul de l’ENST a été relié à Cyclades, comme l’évoque le livre, par l’un des anciens de l’équipe. À l’époque où j’y ai travaillé, les traces de Cyclades avaient disparu depuis longtemps. Il y aurait également eu une époque où l’école avait été reliée “de force” à RCP pendant sa phase expérimentale. Seul subsistait, au début des années 2000, un lien X.25 utilisé pour le serveur Minitel des résultats du concours Mines-Ponts.

Depuis, le centre de calcul lui même a été déplacé et les locaux totalement reconstruits, lors du désamiantage du bâtiment dans les années 2000.

La première fois que j’ai eu accès à un papier sur Cyclades, Presentation and major design aspects of the CYCLADES computer network, j’ai été frappé par la similarité entre la structure de Cyclades et celle de l’Internet :

CYCLADES uses a packet-switching sub-network, which is a transparent message carrier, completely independent of host-host conventions. While in many ways similar to ARPANET, it presents some distinctive differences in address and message handling, intended to facilitate interconnection with other networks. In particular, addresses can have variable formats, and messages are not delivered in sequence, so that they can flow out of the network through several gates toward an outside target.

Traduction : CYCLADES utilise un sous-réseau à commutation de paquets, qui est un transport transparent de messages, complètement indépendant des conventions hôte-hôte. Bien qu’à de nombreux égards similaire à ARPANET, il présente des différences notables dans la gestion des adresses et des messages, destinées à faciliter l’interconnexion avec d’autres réseaux. En particulier, les adresses peuvent avoir des formats variés, et les messages ne sont pas délivrés en séquence, afin de pouvoir sortir du réseau à travers plusieurs portes vers une cible extérieure)

Ce papier sur Cyclades n’est malheureusement pas disponible librement (on retrouve les problèmes actuels liés à la diffusion des papiers de recherche, un système passant par les fourches caudines des éditeurs de recherche, rendu caduc par Internet). Il date de janvier 1973, pour des concepts qui n’ont été réellement déployés qu’à partir de 1982-1983 dans l’Internet.

Louis Pouzin explique même dans le livre que TCP/IP ne va pas jusqu’au bout des idées de Cyclades sur l’adressage, qui étaient (de ce que j’en ai compris) destinées à permettre l’interconnexion de réseaux hétérogènes.

C’est là que s’arrêtent la plupart des travaux récents que j’ai pu lire sur ces sujets : on aimerait des détails plus techniques sur les fondamentaux de Cyclades, et notamment son format de paquet et ses protocoles élémentaires, que je n’ai réussi à retrouver nulle part à ce jour.

Un livre relatant l’histoire du côté RCP apporterait peut-être, également, un éclairage intéressant sur cette période.

En conclusion, je recommande vivement la lecture de ce livre à ceux qui veulent en savoir plus sur Louis Pouzin, mais aussi lire de belles histoires de geeks passionnés sur le réseau Cyclades, les avatars du Plan Calcul, le tout dans un contexte où l’informatique naissante était très différente de l’environnement que nous connaissons aujourd’hui, mais qui a littéralement construit les réseaux que nous utilisons maintenant quotidiennement.

Complément

On lira également avec intérêt la fiche de lecture de Laurent Bloch sur son blog, qui entre dans des explications détaillées sur le datagramme, la fenêtre glissante, ainsi que le modèle OSI, une autre contribution essentielle, dont je n’ai pas parlé ici.

Deux articles de Fabien Soyez sur Louis Pouzin, “à la base du livre” pour le citer : Louis Pouzin n’a pas inventé Internet, mais sans lui, il n’y aurait pas d’Internet partie 1 et partie 2.

Commentaire intéressant de Chantal Lebrument (co auteure), sur twitter :

Avoir trouvé un éditeur qui accepte ce livre a pris 2ans, tous ont refusé… donc bien contente qu’une maison d’édition de qualité ait décidé de porter ce projet.

 

On peut trouver le livre en ligne notamment chez :

 

Article 13 of the Copyright Directive considered harmful

[this is a translation+partial update of my original post in French here]

The “directive on copyright in the Digital Single Market“,  in short “Copyright Directive”, having passed the JURI commission vote with amendments on 20 June  2018, will soon be voted in a plenary session of the European parliament, 5 July 2018.

I wrote the following text before calling some Members of the European Parliament (MEPs), thus participating in the campaign started by saveyourinternet.eu.

I would like to invite you to do the same, not before you have read some of the references quoted at the end of this page, and consulted https://juliareda.eu/2018/06/article-11-13-vote/

Two articles are especially dangerous.

  • Article 11, about referencing and quoting press articles; we will not develop this issue any further here.
  • Article 13, about so-called “upload filters” on all content sharing sites (ie all sites who have a function of sharing content, including comments/videos/photographs/audio on social networks).

The stated goal of article 13 is to protect rightholders of the entertainment industry against the hegemony of the big web sharing platforms, most notably Youtube, which alledgedly results in revenue “evasion” when rightholder’s contents are illegally uploaded and consulted on these platforms.

The proposed solution is to create a legal obligation to deploy system blacklisting protected contents, on all content sharing sites, for all types of content, even those that don’t need protection (for example, computer software source code).

We are going to examine how such systems work, why they are costly to implement, with significant collateral damage, and why the targeted platform already implement measures to satisfy the stated goal.

Content blacklist systems

They can be roughly classified in three categories :

“Exact match” detection

They are relatively cheap in terms of resources. They work on raw digital data. They don’t need to be aware of formats or media type, not even of the detailed original content to protect, thanks to the use of so-called “hashing” or “digest” algorithms.

These features make these systems very easy to implement and operate, and very cheap. The algorithms are free and open source software, or public domain (for the underlying mechanism), and they are easily adapted to any platform.

On the other hand, these systems are very easy to bypass, through minor changes in the protected file. In consequence, they constitute a very poor protection for rightholders.

Detection “by similarity”

These systems are much more sophisticated. They have a knowledge of media formats, and are able to extract characteristic elements, similar to a fingerprint of the protected content.

This process enables a much wider detection of the content, even heavily modified, for example a barely audible background sound in a family video ou amateur show.

The most famous system in this category is Content-Id, implemented by Youtube, described here by Google. A lot of comments on Article 13 refer to Content-Id as a model. Article 13 itself seems to have been written with Content-Id in mind.

Systems “by similarity” are very expensive to develop and implement. According the the Google video quoted above, Content-Id required an investment of over $100 million.

There are also no free and open source implementation of such systems, which makes it even more difficult to deploy: you need to develop a custom, in-house system, or acquire a license for an existing commercial system, if you find one.  The companies in a position to provide such specific services are rare.

Furthermore, the detection performance (false positive and false negative rates) of these systems is difficult to estimate. First, for the above mentioned reasons (proprietary systems with limited access), second, because the underlying technical processes are based on heuristics which stops them from being fully reliable.

Finally, these system present an important drawback: as explained by Google in the Content-Id presentation video, rightholders must provide the original content, or protected excerpts from the content, which is difficult to achieve on a wide scale (many works and many actors on both roles, rightholders and content sharing platforms).

“watermarking” systems

These systems are mentioned in the annex of the directive. They are only presented here for the sake of completeness. Their costs are comparable to those of similarity detection systems, but they are of limited scope, probably not reasonably usable in the context of Article 13.

Blacklist management

Black list management, independently from the above technical criteria, constitutes an issue in itself.

Article 13 does not really provide satisfactory solutions to the following issues:

  • false positive (over-blocking): blocking legitimate content.
    • erroneous blacklisting by an alleged rightholder
    • erroneous blocking of content protected by an exception (parody, memes, etc), but in which the blacklisting systems have identified protected content.
    • erroneous insertions in the blacklist for other reasons. This happened repeatedly, for example, in the French police DNS blocking systems, including by misconfigured test systems. See [FR] Google.fr bloqué pour apologie du terrorisme suite à une « erreur humaine » d’Orange.
  • false negative (under-blocking): not blocking illegitimate rightholder content. Content protection is difficult to implement, even on the rightholder side: many works have not even been digitalized by their legitimate rightholders.
  • adding new content to the blacklist may require manual, hence heavy, checks, to reduce false positives, but does not guarantee their elimination.
  • unwieldy and unreliable complaint mechanisms: all over-blocking and under-blocking issues have to be handled via human, or even judicial, intervention. But there are daily reports of abusive content removal here or there. For example, under the United States DCMA (Digital Millennium Copyright Act), some rightholders have been known to request content removal on works they didn’t own, by mere title similarity, or by claiming DMCA procedures to force removal of price lists in price comparators.
  • individuals and small companies are defenceless against abusive blocking of their content, if the site-internal reporting mechanism fails to address the issue in time. In most cases, action in court or even using an alternative dispute resolution system (13a) will be too expensive and too slow, resulting in a posteriori self-censorship.

Article 13 in its final redaction does not satisfactorily address these concerns, the last point above being the most worrisome.

The Content-Id system

Although Content-Id is owned by Google and Youtube-specific, it deserves a more thorough examination, as it seems to have been an implicit model for Article 13.

Content-Id is a “detection by similarity”. To use it, rightholders have to provide Youtube with the videos they wish to protect, or samples of these.

When a protected content is identified in a posted video, 3 options are available:

  • block the video
  • monetize the video (advertisement)
  • obtain traffic data, for example to know in which countries the video is popular.

According to Google, Content-Id has already enabled payment of several billions of dollars to rightholders, and the system includes hundreds of millions of videos.

Impact assessment of the directive

The summary of the impact assessment, as annexed to the project, is very incomplete: as compared to the full impact assessment study, it mentions only in part the impact for rightholders, limiting itself to a legal discussion in the digital single market. It doesn’t mention either the efficiency and technical feasibility of Article 13, or its consequences on Internet sites and the Internet ecosystem. It is advised to refer to the full impact assessment study.

1. Disappearance or marginalization of  contributive sites

Contributive sites based on free (Creative Commons, etc) content will not have the resources to exploit, not to mention develop or even rent/subscribe to systems similar to Content-Id.

The impact assessment study provides a real example of the subscribing costs to such a service: €900/month for a small site (5000 transactions/month, ie about €0.18/transaction; a transaction being a single check, needing to be executed for every post by a user).

The study only considers commercial sites where sharing is the main purpose. This fails to recognize the impact on high volume contributive sites, social networks, amateur or family photo sharing sites, classified advertisement, etc, for which there is no significant revenue stream as compared to the cost of monitoring posted content.

Most notably, social networks are targeted, as Article 2/4b of the directive excludes only 3 very specific types of sites from the requirements of Article 13.

  • services acting in a non-commercial purpose capacity such as online encyclopaedia
  • providers of cloud services for individual use which do not provided direct access to the public
  • open source software developing platforms
  • online market places whose main activity is the online retail of physical goods

As a consequence, this first impact on freedom of speech seems underevaluated.

2. All content types are targeted

Most content protection systems currently operated focus on contents from the entertainment industry:

  • videos and movies
  • music

On the other hand, Internet sharing applies to many other types of contents, for example photographs.

Again, the burden on Internet sites will be significant, with the same risks for abusive blocking, which also amplifies the consequences on the other listed issues.

3. Issues with respect to Freedom of Speech

As explained above and confirmed by many non-profit organizations, similarity detection systems are unable to differentiate illegal use from legal use such as a quote, a meme, a parody, etc.

It also happens frequently that works that are initially free of use are erroneously blacklisted, for example after being presented or quoted in protected TV shows or TV news.

In any case, content detection systems already result, when they are implemented, in abusive censorship. To force their generalization through the Directive can only be severely harmful to Freedom of Speech, especially on social networks, making it more difficult to exercise the above mentioned legal exceptions.

Finally, as explained, widening content detection systems to all types of contents can only make this risk more acute.

4. The proposed legal dispositions are inefficient to protect rightholders

As explained, similarity systems like Content-Id are not usable at global scale because of their cost, and exact match systems are easy to bypass.

Furthermore, similarity systems are already deployed on major sites, as explained by the impact assessment study:

In all, as content recognition technologies are already applied by the major user uploaded content services, it is likely that this option would not lead to significant increases in unjustified cases of prevented uploads compared to the current situation

In other words, Article 13 is not needed since the goals it seeks to achieve are already implemented where it matters.

5. The proposed dispositions may be harmful to cultural diversity

The impact assessment studies estimates that Article 13 will promote cultural diversity, which is assumed to be a natural byproduct of rightholder protection.

But Article 13 hampers the ability of contributive and/or non-profit sites, which without a doubt are also part of cultural diversity. Most of their contents are free of rights, hence with naturally maximized visibility and dissemination.

This is evidenced by Wikipedia’s statistics: 5th site in the world, according to the Alexa study. Furthermore, according to Wikimédia France: “platforms will prefer precaution by blocking more content than necessary, which will hamper their diversity, by preventing participation from people less accustomed to new technologies” (translated from « les plateformes opteront pour un principe de précaution en bloquant plus de contenu que nécessaire ce qui réduira la diversité de ces plateformes en empêchant les personnes peu aguerries aux nouvelles technologies d’y participer » here)

In summary, Article 13:

  • would not improve the rightholder’s situation with respect to the big platforms, since these already have deployed content detection and revenue sharing systems;
  • would not improve, either, the rightholder’s situation with respect to non-profit or low traffic platforms, which don’t have the ability to operate complex detection systems, don’t violate protected works other than accidentally thus in a limited way, and are already in position to remove illegal content.
  • represents, on the other hand, the following risks:
    • arbitrary censorship
    • reinforcement of the hegemony of big platforms by introducing significant barriers to entry
    • disappearance or marginalization of non-profit platforms, or fallback of these platforms on static content, removing the content sharing angle which is a key characteristic of the Internet;
  • represents, as well, serious risks regarding Freedom of Speech and Cultural Diversity.

For the above reasons, and as expressed by numerous organizations and renowned experts, it seems likely that Article 13, if kept in the directive, will do more harm than good on the European Internet.

A few references

The Open Letter on EP Plenary Vote, of which (as eriomem.net CEO) I am a signatory:

http://copybuzz.com/wp-content/uploads/2018/07/Copyright-Open-Letter-on-EP-Plenary-Vote-on-Negotiation-Mandate.pdf

2 articles (amongst many others) on Julia Reda’s blog :

Open letter by 70 Internet experts https://www.eff.org/files/2018/06/12/article13letter.pdf

Positions of the EFF (Electronic Frontiers Foundation) https://www.eff.org/deeplinks/2018/06/internet-luminaries-ring-alarm-eu-copyright-filtering-proposal

https://www.eff.org/deeplinks/2018/06/eus-copyright-proposal-extremely-bad-news-everyone-even-especially-wikipedia

Other sites campaigning against Article 13:

https://www.liberties.eu/en/news/delete-article-thirteen-open-letter/13194

https://saveyourinternet.eu/

Statement by the Wikimédia Foundation:

https://blog.wikimedia.org/2018/06/14/dont-force-platforms-to-replace-communities-with-algorithms/