Je n’ai pas eu le temps de consacrer un post à Vanish (et tout le bien que j’en pense) mais la publication récente de Unvanish m’a tellement perturbé que quelques mots autour du “comment être sûr que notre vie privée reste privée” me paraissent bienvenus.

Histoire de ne pas parler dans le vide, petit rappel sur Vanish et son concept. Vanish, proposé par des étudiants de l’université de Washington, est un système permettant à chacun de publier [dans “publier”, il y a public, important] des informations sur le web qui au bout d’un certain temps [8 jours prolongeables dans le prototype] disparaitront d’elles-mêmes. Ainsi, prenons un exemple concret, si sur un site communautaire [Facebook, MySpace,…] je décide d’exprimer un point de vue ou plus simplement d’ajouter des informations me concernant [adresse, photos, parcours professionnel,…], comment garantir que ces informations ne seront pas utilisées contre moi [de la simple publicité à un entretien d’embauche en passant par un passage à la douane d’un pays moins ouvert que le notre] dans un futur plus ou moins proche ? C’est le but de Vanish, fournir un mécanisme qui rendent ces informations volatiles.
Certes le site communautaire, un individu peut toujours faire une copie des ces informations lorsqu’elles sont encore “visibles” mais en tout cas, la source originale aura disparue (et d’un point de vue juridique, n’est-elle pas la seule à faire foi ?).

Techniquement parlant, le concept de Vanish est aussi simple que brillant (enfin de mon point de vue, un peu comme Rijndael/AES), le message original, avant d’être publié, est tout d’abord crypté avec une clef symétrique fraichement générée [i.e. à usage unique], cette clef est ensuite découpée (selon le secret partagé de Shamir) et stockée sur les noeuds de DHTs publiques (OpenDHT et Vuze).

A première vue, et probablement du fait que le cerveau humain a bien du mal à percevoir ce qui grand [compter jusqu’à un million c’est très long pour le commun des mortels mais une broutille pour un ordinateur], je me suis laissé abuser par la taille d’un réseau tel que Vuze [1 millions de noeuds en moyenne] et la capacité à une personne plus ou moins mal intentionnée à parcourir le DHT, bénéficier de la stratégie très aggressive de Vuze en termes de réplications [en gros pas besoin (et loin de là) de parcourir le un million de noeuds pour récupérer tranquillement toutes les parties de clefs Vanish] et rapidement et à moindre coût.

C’est ce qu’ont montré des étudiants de Princeston et de l’université du Texas [2] en développant un client Vuze très optimisé (en empreinte mémoire et cpu) qui sur une seule machine peut être lancé un bon millier de fois et donc représenté un millier de noeuds Vuze. En multipliant les connexions/réplications des entrées du DHT des noeuds à proximité [XOR metric]/déconnexion, très rapidement, ces petits futés ont montré qu’ils étaient capables de récupérer pratiquement 100% des clefs pour décrypter les messages Vanish après leur hypothétique temps de vie.

Suite à ces derniers développements, ces détracteurs de Vanish se sont empressés d’affirmer :

Unvanish shows that the Vanish system does not provide the privacy guarantees it claims, by making Vanish messages recoverable after they should have disappeared. Our goals with this work are to discourage people from relying on the privacy of a system that is not actually private.

Unvanish montre que Vanish n’apporte pas les garanties de confidentialité contrairement à ce qu’il affirme, en récupérant les messages après qu’ils eussent dû disparaître. Nos buts avec ce travail [Unvanish] sont de décourager quiconque de se reposer sur la confidentialité d’un système qui n’est pas réellement privé.

Cette affirmation m’a tout d’abord paru gratuite et “à justifier”. En effet, l’expérience a montré  qu’un système dit “privé” ne le reste souvent pas bien longtemps sous l’effet de pressions. Dans le cas de procès, il n’est pas rare qu’il soit demandé la mise à disposition des clefs de cryptage si cela est nécessaire et affaire symbolique, Hushmail, entreprise promettant la confidentialité et la sécurité des emails envoyés par son biais, a dû se plier à la justice Canadienne [3]. Alors si qu’il soit privé ou non… je ne suis pas sûr que le problème soit ici. Et c’est bien ce qui est intéressant dans le cas de l’utilisation d’un DHT public, par essence distribué, sans contrôle, immatériel… Si personne ne se donne le mal de profiter du système et d’en copier le contenu, je pense que l’on peut vraiment dire que les données disparaissent bien d’elles-mêmes.

Cependant…. dans sa forme actuelle, l’implémentation de Vanish (0.1 du moins) ne garantit pas qu’un tiers veuille un jour stocker les clefs utilisées par Vanish pour une utilisation ultérieure (compagnie, gouvernement, pirates…). Mais c’est à mon goût un problème technique, et je suis persuadé que le concept Vanish n’est pas mort pour autant…

A suivre !

Advertisements