mai 6th 2011

Le web, un danger pour Internet ?

J’aime bien les titres honteusement racoleurs. Et si j’écris celui-ci, c’est pour faire part d’une réflexion plutôt technique sur les usages du réseau des réseaux.

Tout d’abord, pour ceux qui ne seraient pas totalement au fait de la situation, je préfère clarifier les termes suivants :

  • Internet est un réseau. C’est un immense maillage composé de millions de machines (ça englobe aussi bien le serveur au frais dans un datacenter de Google que le vieux PC de madame Michu, en passant par les routeurs de votre opérateur mobile qui vous ment en vous parlant d’Internet sur le réseau 3G). Chacune de ces machines est, du point de vue du réseau, sur le même niveau. Il n’existe aucune hiérarchie technique sur Internet. Par principe, ce réseau est donc neutre (mais sa distribution l’est souvent moins).
    À l’intérieur d’Internet, il y a des protocoles. Plein (la couche TCP/IP). Sur 7 niveaux, les plus élevés dépendant des plus bas. Ainsi, l’Ethernet (qui donne son nom aux cables RJ-45 que vous utilisez probablement pour connecter vos machines sur le réseau) est de niveau 2, dit de liaison. Au-dessus, au niveau de transport (le 4), se trouvent les protocoles TCP et UDP (entre autres). Ces protocoles définissent des ports utilisables par les niveaux supérieurs : la norme veut que certains protocoles applicatifs (mettons HTTP) soient historiquement attachés aux mêmes ports. Ainsi, le HTTP emprunte généralement le port 80 TCP.
  • Le web est grosso modo une application du protocole HTTP(s). Il désigne le transfert par HTTP de sites web, qui sont des ensembles de ressources comprenant essentiellement des pages HTML. Le web est donc une partie d’Internet, mais la réciproque est évidemment fausse.

Maintenant, si on regarde l’évolution d’Internet, on remarque rapidement que le web a pris une importance exponentielle. Il y a 15 ans, il était utilisé pour publier des documents simples. Voilà ce qu’étaient les sites. Aujourd’hui, on publie et visionne des vidéos, on discute avec ses amis, on lit ses mails, on fait ses courses… Les usages n’ont plus rien à voir. Finalement, le web est devenu une sorte de plateforme de déploiement rapide d’applications.

Cependant, j’en viens à me demander si c’est une bonne chose. En informatique (comme en science, en général), les choses aiment bien être à leur place. Et, finalement, ce détournement de l’idée initiale de HTTP est un hack de très grande ampleur. Cependant, faut-il rester sur cet état ? Ne faut-il pas, dans un souci d’optimisation des protocoles, dédier chaque tâche à ce qui est réellement pensé pour elle ? Je pense notamment aux mails. Le mail, ce sont les protocoles POP, IMAP et SMTP (ainsi que leurs variantes encapsulées dans SSL/TLS). Mais un webmail (une page web permettant de consulter ses mails dans un navigateur), c’est du HTTP(s). Là où, lorsqu’on utilise un client logiciel, l’utilisateur utilise directement les protocoles adaptés à son besoin, il va rajouter une couche de HTTP pour joindre son webmail, qui joue le rôle de passerelle. Ainsi, la communication avec le serveur mail est abstraite, et on rajoute un niveau de lourdeur aux requêtes.

Le protocole IP est conçu pour que les paquets puissent emprunter le plus court chemin entre deux hôtes. Je suis convaincu que le même raisonnement devrait être appliqué à ce genre d’applications. Les utilisateurs de webmails justifient souvent leur choix (lorsqu’il est volontaire) par le besoin de pouvoir lire leurs mails en déplacement. Or, le protocole IMAP permet parfaitement de gérer cet usage. Même le POP permet de garder les messages sur le serveur. Et la nature ouverte des protocoles permet d’utiliser l’application cliente de son choix, voire d’en utiliser plusieurs (par exemple, selon l’endroit d’où on se connecte). Ainsi, je ne vois pas ce qui pourrait justifier l’usage d’un webmail face à une application native, d’un point de vue d’utilisateur. On peut arguer que le premier consomme bien moins de ressources, mais personnellement, quand je vois la consommation mémoire de mon navigateur (Firefox), je ne suis pas vraiment d’accord. Le fait est qu’utiliser un webmail rajoute un transport, une couche qui, comme tout logiciel ou protocole, peut avoir des faiblesses. Et, plus on complexifie la communication, plus elle faiblit (en termes de sécurité et performance).

J’ai pris l’exemple du mail, mais ça vaut pour une majorité d’usages qui sont fait du web aujourd’hui : les forums de discussions, les agrégateurs de RSS… Ces usages bénéficient d’un protocole (voire, pour le RSS, d’un simple format). Mais le commerce électronique ? Le microblogging ? Ce sont des applications qui n’existent que sous forme de sites web. Je pense que ces usages mériteraient d’avoir des protocoles propres, et évidemment ouverts, pour optimiser l’usage du réseau.

Prenons l’exemple du e-commerce. Celui-ci obéit à des normes invisibles, qui indiquent par exemple qu’une boutique dispose généralement de liste de produits, de panier d’achat, de procédure de commande. Pourquoi ne pas plancher sur un protocole spécialement pensé pour ça ? Ainsi, une boutique en ligne ne serait plus nécessairement un site web, mais pourrait être une application, et même plus : un utilisateur pourrait utiliser son propre logiciel pour interagir avec les boutiques de son choix, comme on le fait aujourd’hui avec un client mail et n’importe quel fournisseur.

Je pense que cet exemple peut s’appliquer à énormément d’usages actuels du web. Et je pense que le réseau ne s’en porterait que mieux : un protocole direct de e-commerce, ça serait l’assurance de l’interopérabilité, du fonctionnement, de l’optimisation… Par exemple, la plupart des interfaces de paiement en ligne fournies par les banques indiquent, dans leur page d’attente de la validation du paiement « ne retournez pas en arrière, ne rechargez pas cette page ». Pour moi, c’est juste un patch très sale pour dire à l’utilisateur « le protocole que vous utilisez actuellement n’est pas très adapté pour ce qu’on est en train d’en faire ». Dans ce cas, une logique froide voudrait qu’on développe un protocole pour ça, qui n’aurait pas à s’embarrasser d’avertissements de ce genre…

Alors, bien évidemment, la conception, la validation, l’adoption à grande échelle et l’implémentation d’un nouveau protocole est une tâche extrêmement ardue. Mais je ne pense pas qu’il soit sain pour l’avenir de se contenter d’une solution de facilité, qui fonctionne, certes, mais dont la logique n’est pas parfaite.

4 Comments »

août 25th 2010

Censorcheap – sponsorisé par Paul le Poulpe

Les plus avertis d’entre vous(nous) le savent déjà, Censorcheap vient de sortir. Mais qu’est-ce que c’est donc ? Le dernier projet de Paul Da Silva est une base de données communautaire de la censure d’Internet dans le monde. En effet, vous n’êtes pas sans savoir que, dans plusieurs pays, les gouvernements cherchent à empêcher aux citoyens d’accéder à certains sites, pour diverses raisons (endiguer la pédophilie dans le monde, se faire du blé, taire toute possibilité de critique ou d’opposition politique…). En France, ça vient d’arriver, avec l’ARJEL, qui a dangereusement ouvert la boite de Pandore, en faisant bloquer un site de pari en ligne (stanjames.com, profitez bien du fait que ce lien fonctionne). Le tribunal a en effet exigé que les FAI (du moins, les 7 plus gros) emploient tous les moyens possibles pour bloquer l’accès à ce site (sans la moindre promesse de dédommagement des FAIs, en gros c’est « démerdez-vous, si vous n’obéissez pas, on vous fera payer comme des gorets ». C’est évidemment une très lourde violation de la neutralité du net, mais aussi et surtout une porte ouverte à d’autres dérives dictatoriales (les syndicats de l’industrie musicale ont déjà dit, à propos d’un filtrage de sites pédopornographiques « si on peut le faire pour la pédophilie, on peut le faire pour la musique »).

Quoi qu’il en soit, et pour revenir à Stanjames.com, le premier (seul ?) FAI à avoir obtempéré pour l’instant est Bouygues (faut-il rappeler l’amitié entre le charmant patron et notre nabot national ?), qui a posé un ridicule filtrage DNS sur le domaine principal (les autres domaines liés à ce site fonctionnent très bien). Le danger de ce blocage est donc anecdotique, tant il est facile de le contourner (par ordre croissant de difficulté : utiliser un autre domaine pointant sur le site, entrer directement l’adresse IP à la place du nom de domaine, changer ses DNS pour ceux d’OpenDNS ou Google, passer par un proxy, un vpn, être son propre FAI et paraître suffisamment négligeable aux yeux de la justice pour ne pas recevoir d’injonction de blocage, déménager en Islande…). Mais ce n’est malheureusement qu’un début, et on peut aisément imaginer que la censure (car c’est bel et bien de ça qu’il s’agit) gagnera en expérience, et saura vite se montrer plus pernicieuse (les fervents défenseurs de l’argument « ouais mais j’ai rien à me reprocher » n’auront aucune crainte en sachant que leur FAI observe de façon automatisée absolument tout ce qui se fait sur leur ordinateur…). Censorcheap, n’étant qu’une base de données, n’a pas immédiatement vocation à contourner ces filtrages. Mais à renseigner, à montrer aux censeurs qu’ils sont à leur tour surveillés. Concrètement, comment ça fonctionne ? Il y a une extension à installer sur son navigateur (pour l’instant, seule l’extension Firefox existe, mais il en viendra d’autres. Et si vous avez le bon sens de refuser d’installer des programmes inconnus, le code source est ouvert, et vous pouvez donc vérifier qu’il ne s’agit pas d’un spyware gouvernemental), qui, lorsque durant votre navigation, vous rencontrerez des erreurs indiquant qu’une page ou qu’un domaine n’existe pas, demandera de façon transparente à la base de données si cette URL est connue pour être bloquée (si la requête renvoie aussi une erreur depuis une source « sûre », on considère qu’elle peut être bloquée). Si elle s’avère réellement bloquée (c’est à dire, si elle a reçu suffisamment de reports), l’extension prévient l’utilisateur de la situation. Le but est donc d’informer avant tout. Et de pouvoir vérifier les abus potentiels et hautement prévisibles du gouvernement et de ses pseudo-autorités indépendantes (HADOPI n’est pas loin). Si la censure augmente, la taille de Censorcheap augmentera aussi, et plus d’utilisateurs sauront que ceux pour qui ils ont voté cherchent à les faire taire. En parallèle, les moyens de contournements seront connus de tous (même la Chine ne peut pas l’empêcher), et c’est autant d’armes qui se retourneront contre ceux qui auront voulu bafouer la liberté d’expression.

En bref, je vous invite à, comme je le fais moi-même, jouer le jeu de Censorcheap, installer l’extension, et surtout, vous tenir au courant de l’évolution de ces dangereuses pratiques. Pour cela, PC INpact, Numerama, La Quadrature du Net, les blogs de Bluetouff, Paul Da Silva, Korben, le mien, et Twitter, sur lesquels vous pouvez suivre tout ce beau monde (et qui est diantrement difficile à censurer).

No Comments yet »