Mon idée de réseau social libre et décentralisé
Actuellement, Facebook est le plus grand des réseaux sociaux. Si il a su séduire par sa facilité d'accès, il surprend toujours quand à la légèreté avec laquelle il laisse fuiter la vie privée de ses utilisateurs.
Facebook, et Google encore plus, ont un modèle économique basé sur la collecte et la revente des infos personnelles des gens. Ne comptez donc pas sur eux pour résoudre le problème.
En face, on a :
- des copies en version serveur : Diaspora, Jappix, Movim, etc...
- de copies décentralisées : Peerscape
- des logiciels de P2P : Retroshare
Aucune de ces solutions ne semble émerger car elles disposent d'handicaps techniques.
Le problème des versions avec serveur, c'est qu'il faut un geek dans l'histoire qui gère le serveur et dispose dispose d'un pc allumé 24/24. De plus, de part sa position centrale, il a accès aux données de tous les utilisateurs de son service. (Cette critique est aussi valable pour le réseau de messagerie Jabber)
Le problème des versions P2P, c'est que lorsque l'on est déconnecté, nos amis ne peuvent plus nous joindre, ni laisser de message. Il y a bien l'astuce de faire de stocker une copie de nos données chez nos amis pour espérer toujours avoir une copie en ligne, mais c'est une hypothèse purement statistique. Comment retrouver ses amis si chacun change d'ip à tour de bras (maison, smartphone, bureau, etc..)? Que faire si le pare-feu du bureau ne laisse pas passer les connexions entrantes?
Cependant, j'aime bien le principe de Retroshare. L'utilisation du chiffrement des données entre l'expéditeur et le destinataire par clés asymétriques (GPG) permet de ne plus avoir besoin ni de contrôler l'accès aux données ni de sécuriser leur transmission.
Mon idée est d'améliorer le principe de Retroshare en ajoutant un "cache" chiffré de nos données personnelles sur un espace de stockage accessible 24/24 par le net (p2p, serveur ftp d'un copain, espace perso Free, autohébergement, etc...).
Exemple, avec Paul et Sarah.
Paul a un logiciel de réseau social sur son Macbook. Il ajoute ses photos de vacances à la mer avec Sarah dans le portfolio "Amis". Cette action envoie ses photos sur un espace de stockage sur le net. Paul se déconnecte.
Sarah allume son téléphone ou elle a un logiciel de réseau social. Elle fait partie des amis de Paul. De ce fait, son logiciel sait où Paul stocke ses données de réseau social sur le net. (il peut y avoir une redondance des données sur plusieurs espaces d'ailleurs). Le logiciel va regarder si il y a des nouveautés dans l'espace de Paul et trouve un nouveau fichier. Ce fichier est chiffré et seuls les détenteurs de la clé de déchiffrement "amis de Paul" peuvent la lire. Ca tombe bien, Sarah possède cette clé. Sarah télécharge donc le nouveau fichier et peut accéder aux photos de ses vacances à la mer avec Paul.
Rien n'empêche Sarah de partager la clé de déchifrement "amis de Paul" avec d'autres amis, Paul risque de ne pas être content si les amis de Sarah arrivent à voir ses photos. Néanmoins à partir du moment où Sarah peut voir les photos de Paul depuis son propre terminal, rien ne l'empêche de les rediffuser... Est-ce donc un risque intrinsèque au mode de fonctionnement des réseaux sociaux actuels?
La clé de déchiffrement "amis de Paul" a été transmise à Sarah par un moyen sécurisé. Chaque personne possède un couple de clé asymétrique type GPG. Des couples de clés aymétriques supplémentaires similaires sont créés pour les groupes/cercles de partage.
Un fichier "Index" est disponible sur l'espace de stockage des profils, celui ci indique où son rangés les fichiers du profil, quelle clé est nécessaire pour les déchiffrer. Ce fichier, permet de suivre l'arrivée de nouveaux éléments sur le profil de ses amis à la manière d'un flux RSS.
Un autre fichier "Présence" indique où se trouve les copies redondantes des données du profil. Ca peut être utile de savoir cela, si par exemple, l'espace de stockage est temporaire. Ce fichier indique aussi si l'utilisateur est en ligne, avec "l'adresse IP" pour le joindre. De cette manière si deux utilisateurs sont en ligne, des fonctions temps-réel peuvent être utilisées comme de la messagerie instantanée, voip, etc....
Les fichiers Index, Présence, etc... sont chiffrés avec la clé privée de Paul. Cela garantit à Sarah qu'ils n'ont pas été altérés par une tierce personne.
La sécurité des données est basée sur le chiffrement, or celui ci est seulement une protection de durée. Je veux dire par là qu'il est peut-être raisonnable de dire que dans 50 ans on pourra casser facilement les méthodes de chiffrement actuels (ordinateurs quantiques, failles dans l'algorithme...). Dès lors il peut être utile de rajouter une petite protection d'accès aux données chiffrées (password, clé d'accès au répertoire, adresse de stockage secrète) en plus du chiffrement des données afin d'éviter que trop de malins s'amusent à archiver les données chiffrées contenant la vie privée des personnalités en espérant les déchiffrer plus tard.