Liberté, Égalité, TCP/IP

Nous allons vous faire comprendre pourquoi le projet de loi sur le renseignement nous pose un vrai problème. Car nous n’acceptons pas le terrorisme. Mais nous n’acceptons pas plus la collecte massive de nos données personnelles que cette loi va permettre.

Par Marc-Antoine Ledieu et Jef Mathiot

Emile Zol@ envoie un email

Prenons l’exemple d’Emile Zol@ qui souhaite envoyer un article par email à M. Jean-Louis Debré, Président du Conseil Constitutionnel.
Son email sera-t-il ouvert par les services spécialisés de renseignements, en application de la future loi sur le renseignement ?

J'accuse la loi sur le renseignement

Émile Zol@, comme une écrasante majorité des français, est connecté à Internet, chez lui, grâce à sa box (et lorsqu'il est sorti, via son téléphone mobile). Émile Zol@ lance alors son logiciel de messagerie électronique et saisit l'adresse email de M. Jean-Louis Debré dans le champ de destination, puis le sujet de l'email

« J'accuse la loi sur le renseignement de représenter une atteinte la vie privée des citoyens qui est pourtant une liberté fondamentale »

Il copie son texte dans le corps de l'email (nous n'en avons repris qu'un court extrait car Emile Zol@ est plutôt volubile) :

Monsieur le Président,

Une loi menaçant les libertés individuelles va vous être soumise.

Laissez-moi, je vous prie, vous en expliquer la raison technique...

Il relit sa prose puis clique sur le bouton "Envoyer".

Un étrange dialogue avec le serveur SMTP

Émile Zol@ ignore pratiquement tout de l'étrange dialogue qui va avoir lieu entre le logiciel de messagerie de son ordinateur et le serveur (que nous appellerons le « serveur SMTP ») qui va prendre en charge l'envoi de son message (son mél en français académique).

Pour joindre le serveur SMTP, le logiciel de messagerie d'Émile Zol@ a besoin de connaître son adresse IP (les "coordonnées" du serveur SMTP sur l'immense carte d'Internet). Le logiciel de messagerie d'Émile interroge donc un service spécialisé (Domain Name System ou DNS) qui lui renvoie cette adresse.

HELO ordinateur-d-emile-zol@

Pour pouvoir communiquer avec le serveur SMTP, le logiciel de messagerie d'Émile Zol@ va utiliser un langage (le protocole SMTP) adapté à l'envoi d'emails. Et pour se faire comprendre et s’identifier du serveur SMTP, il se présente (en protocole SMTP, cela correspond à une instruction HELO ordinateur-d-emile-zol@).

Mais SMTP est un protocole de communication de haut niveau : il est un peu snob, il ne s'occupe pas de savoir comment les instructions du logiciel de messagerie d’Emile seront acheminées sur le réseau.

Le logiciel de messagerie d’Emile Zol@ laisse alors l’envoi de l’instruction à deux exécuteurs des basses œuvres, TCP et IP (bien connus du monde de l’Internet sous le nom de protocole TCP/IP dans lequel « TCP » définit la direction (trajectoire) générale et « IP » gère les "sauts" de réseau en réseau. Et pour chaque "saut", chaque paquet TCP doit entrer dans un paquet IP.

TCP et IP, deux amis inséparables

L’ordinateur d’Emile place donc l'instruction d’envoi vers le serveur SMTP dans un paquet TCP, une enveloppe sur laquelle il inscrit ses coordonnées d’expéditeur (sa propre adresse IP) et celles du serveur SMTP (l'adresse IP du serveur d’envoi).

Hélas, Internet n’est pas un réseau mais une multitude de réseaux interconnectés entre eux. L'ordinateur d'Émile Zol@ ne peut donc envoyer directement le paquet TCP au serveur SMTP. En revanche, il peut déterminer une direction générale sur le réseau sur lequel il se trouve pour rapprocher le paquet TCP du serveur SMTP. Cette direction, c'est l'adresse IP de la "box" qui connecte l’ordinateur d’Emile à Internet.

L’ordinateur d’Emile Zol@ crée alors une seconde enveloppe (un paquet IP) dans laquelle il place le paquet TCP (la première enveloppe). Sur cette seconde enveloppe, l’ordinateur d’Emile place les coordonnées de la box et fait faire au paquet le premier "saut" vers la box d’Emile, sur les ondes du réseau Wi-Fi qui relie l’ordinateur d’Emile et sa box.

Lorsque le paquet IP (la seconde enveloppe) arrive sur la box, la box "ouvre" ce paquet IP mais laisse intacte l'enveloppe interne (le paquet TCP). Car l'adresse du serveur SMTP figure sur le paquet TCP. Donc, la box n’a pas besoin d’ouvrir le paquet TCP pour déterminer l’adresse à laquelle elle doit acheminer le paquet (ni de se soucier de son contenu). La box détermine donc la destination d'un nouveau "saut" qui rapprochera le paquet TCP du serveur SMTP. La box crée alors un nouveau paquet IP (l’enveloppe externe) dans lequel elle place le paquet TCP et lui fait faire un nouveau "saut".

Une progression par petits "sauts", d'un réseau à l'autre

L'instruction va ainsi progresser par petits "sauts", d'un réseau à l'autre, de routeur en routeur, jusqu'à ce qu'elle arrive au serveur SMTP, qui répondra 250 OK (j'ai compris en langue SMTP). La réponse du serveur SMTP sera à son tour acheminée vers la box, puis vers l’ordinateur d’Emile Zol@ grâce au protocole TCP/IP, toujours par petits sauts (mais cette fois-ci, dans l'autre sens). Nous passerons cette étape technique pour simplifier notre raisonnement...

L'échange d'instructions continue et le logiciel de messagerie indique son intention d’envoyer un email de la part d'Émile Zol@ (MAIL FROM: <emile.zol@liberte.org>). Puis le logiciel de messagerie précise l'adresse email du destinataire (RCPT TO: jean-louis.debre@conseil-constitutionnel.fr). A chaque étape de la conversation, les instructions du logiciel de messagerie sont acheminées vers le serveur SMTP dans des paquets TCP progressant par petits sauts grâce aux enveloppes externes IP. A chaque étape, le réseau des réseaux Internet transporte les réponses du serveur SMTP de la même manière, dans des paquets TCP et IP.

Reste à envoyer le contenu de l'email...

Il reste à envoyer la partie la plus volumineuse de l'email : le sujet du message et son contenu. Comme il s'agit d'une information assez longue, l'ordinateur d'Émile les découpe en segments de taille variable. Chaque segment sera acheminé de manière indépendante, dans son propre paquet TCP (le sujet du message étant ou pas associé avec tout ou partie du corps du message : parfois, le paquet TCP ne contient pas le sujet du message en entier).

Les paquets TCP sont réassemblés

Lorsque tous les paquets IP contenant tous les paquets TCP sont reçus par le serveur SMTP, les paquets TCP sont réassemblés. Ils redeviennent un email qui peut alors être pris en charge par le serveur SMTP.

Une fois le message réassemblé, le serveur SMTP détermine quel est le serveur qui contient les boites mails des destinataires, et lui adresse le message par paquets TCP/IP, de la même manière que l’ordinateur d’Emile Zol@ a conversé avec le serveur SMTP. Il place le message sur le serveur qui héberge la boite email de M. Jean-Louis Debré.

Dorénavant, Emile Zol@ sait...

Emile Zol@ sait maintenant que les équipements des réseaux (les « facteurs ») n'ont jamais ouvert les paquets TCP. Ils ont lu les informations des enveloppes IP et TCP, mais n'ont jamais accédé à leur contenu. Seuls le logiciel de messagerie d’Emile Zol@ et le serveur SMTP ont vu l'email dans sa totalité.

Et la loi sur le renseignement ?

La loi sur le renseignement imposera aux opérateurs techniques (art. L.851-4 code de la sécurité intérieure) « la collecte » des « informations et documents (...), y compris les données techniques » par un « dispositif destiné à détecter une menace terroriste sur la seule base de traitements automatisés ». Cette collecte ne peut pas - à ce stade - être opérée sur des cibles préalablement identifiées. Elle concernera les journalistes, les parlementaires, les avocats, les juges, les médecins... au même titre que tous les autres citoyens.

La nature des « données techniques » figure dans la loi : « l'identification des numéros d'abonnement ou de connexion à des services de communications électroniques, [le] recensement de l'ensemble des numéros d'abonnement ou de connexion d'une personne désignée, la localisation des équipements terminaux utilisés ainsi [que les] communications d'un abonné portant sur la liste des numéros appelés et appelants, la durée et la date des communications ».

Allons pécher dans le paquet TCP

Or, un numéro d’abonnement (par exemple, une adresse email comme jean-louis.debre@conseil-constitutionnel.fr) est une information contenue à l’intérieur d'un paquet TCP.

Vous vous souvenez ? Les paquets TCP contiennent aussi le sujet et le contenu du message.

Pour accéder à une donnée technique, un « numéro d’abonnement », il est donc nécessaire pour les services spécialisés de renseignement de rentrer dans les paquets TCP.

Pour déterminer l'adresse email d'Émile (l'expéditeur), celle du destinataire (M. Jean-Louis Debré) ou même le sujet de l'email, il leur sera nécessaire de regarder le contenu des paquets TCP (les enveloppes internes) et surtout, de reconstituer l'ensemble du message. Dans son intégralité.

Une atteinte déguisée au secret des correspondances

Rentrer dans les données des paquets TCP, c’est ouvrir le courrier pour en lire tout (ou partie) du contenu. C’est donc porter atteinte au secret des correspondances.

Avoir accès au contenu des paquets TCP, c’est d’être en mesure d’en lire le contenu intégral. En technique informatique, cela s’appelle du deep packet inspection.

Et opéré via des « boites noires » qui captent les données de millions de personnes, ce « dispositif » de collecte massive menace nos libertés individuelles, qui sont un droit fondamental des citoyens de ce pays.

A ce stade de l’histoire, nous pouvons, peut-être, encore supposer que M. Debré a reçu l’email d’Emile Zol@. Ce que nous supposerons, demain, c'est que cette correspondance aura été interceptée, lue et stockée. Pour rien.

Layer 7 c'est DPI