Il existe un moyen pour être "efficace" pour être anonyme sur les P2Ps en utilisant une notion de proxy. Chaque action dans le réseau P2P passe par un (ou plusieurs) noeuds (appelés ici proxy).
La solution générique est la suivante: tu es un noeud A et tu veux faire un échange avec le noeud B. Chaque envoi entre A et B est fait en passant par un ou plusieurs noeuds (C,D et E par exemple) choisis avec certaines méthodes (aléatoire, basée sur le hashage de ton ID). Ensuite, A et B génére une clé de session pour pouvoir communiquer, mais tous leurs paquets passent par les proxies. Ainsi, A et B sont incapables de savoir l'adresse du correspondant, et les proxies sont incapables de savoir le contenu des données.
Pour la diffusion, la recherche ou le transfert de fichiers, même technique:
- diffusion d'une liste: B recoit une liste, la déchiffre et la place sur le réseau. La liste contient une liste de proxies pour communiquer avec un identifiant de A.
- recherche: requete dans le réseau en utilisant des proxy: A fait une requete pour trouver un fichier, la commande passer par les proxies, B envoie la liste de fichiers correspondant à nouveau par les proxies et A reçoit l'info.
- chargement du fichier: chaque paquet de données entre A et B passe par un ou plusieurs proxies.
Si les algos de selection des proxies sont efficaces, alors il est très difficile de savoir qu'est ce que A ou B contiennent (l'algo est quand même plus compliqué qu'exposé ci-dessus, tu dois avoir plusieurs couples de clés publiques/privées). Pour cela, il faudrait que l'attaquant possède A ou B et au moins un des proxy. Cela demanderait énormément de ressources. De plus, rien n'empêche de renvouveller régulièrement son ID et ses clés pour minimiser les attaques sur une longue durée. Enfin, certaines commandes (comme la diffusion ou la recherche) qui sont les plus sensibles, peuvent passer par une chaîne de proxies, ce qui rend les attaques encore plus difficile.
Revers de la médaille: y'a des chances que ce soit lent.
Il existe déjà des solutions équivalentes, mais je me souviens plus trop des noms.
[^] # Re: Problème
Posté par Julien CARTIGNY . En réponse au journal P2P et cryptographie. Évalué à 9.
La solution générique est la suivante: tu es un noeud A et tu veux faire un échange avec le noeud B. Chaque envoi entre A et B est fait en passant par un ou plusieurs noeuds (C,D et E par exemple) choisis avec certaines méthodes (aléatoire, basée sur le hashage de ton ID). Ensuite, A et B génére une clé de session pour pouvoir communiquer, mais tous leurs paquets passent par les proxies. Ainsi, A et B sont incapables de savoir l'adresse du correspondant, et les proxies sont incapables de savoir le contenu des données.
Pour la diffusion, la recherche ou le transfert de fichiers, même technique:
- diffusion d'une liste: B recoit une liste, la déchiffre et la place sur le réseau. La liste contient une liste de proxies pour communiquer avec un identifiant de A.
- recherche: requete dans le réseau en utilisant des proxy: A fait une requete pour trouver un fichier, la commande passer par les proxies, B envoie la liste de fichiers correspondant à nouveau par les proxies et A reçoit l'info.
- chargement du fichier: chaque paquet de données entre A et B passe par un ou plusieurs proxies.
Si les algos de selection des proxies sont efficaces, alors il est très difficile de savoir qu'est ce que A ou B contiennent (l'algo est quand même plus compliqué qu'exposé ci-dessus, tu dois avoir plusieurs couples de clés publiques/privées). Pour cela, il faudrait que l'attaquant possède A ou B et au moins un des proxy. Cela demanderait énormément de ressources. De plus, rien n'empêche de renvouveller régulièrement son ID et ses clés pour minimiser les attaques sur une longue durée. Enfin, certaines commandes (comme la diffusion ou la recherche) qui sont les plus sensibles, peuvent passer par une chaîne de proxies, ce qui rend les attaques encore plus difficile.
Revers de la médaille: y'a des chances que ce soit lent.
Il existe déjà des solutions équivalentes, mais je me souviens plus trop des noms.