2016-08-16 3 views
0

Je Il y a un réseau P2P public et nœuds (basé sur peer.js), qui a des conditions suivantes:Comment valider la légitimité des nœuds dans un réseau P2P publics (peer.js)

  • Toute personne (y compris les nœuds malveillants) peuvent se joindre au réseau P2P
  • Tous les nœuds légitimes ont une clé de sécurité commune qui partage via manière sécurisée

Dans les conditions, les nœuds doivent établir une connexion à mailles complète entre les nœuds seulement légitimes .

Ici, j'ai besoin de mettre en œuvre un protocole de négociation sécurisé qui sera utilisé avant d'établir une connexion entre les nœuds. Je dois m'assurer que tous les nœuds devraient fermer les nœuds malveillants à travers la négociation, peut-être, avec la clé de sécurité commune qui ne partage que les nœuds légitimes.

Je pense qu'il y aurait une solution bien connue pour cette situation, mais je ne l'ai pas encore trouvé. Qu'est-ce qu'une solution typique à cette situation?

Répondre

0

La création d'un réseau pair à pair nécessite un serveur de signalisation quelconque. Laissez simplement ce serveur authentifier les pairs. Vous mentionnez une clé, utilisez cette clé pour authentifier un homologue et autoriser uniquement un homologue authentifié à rejoindre le réseau.
Habituellement, vous voyez les clients se connecter directement aux chambres, mais vous pouvez attendre qu'ils s'authentifient avant de leur permettre de créer ou de rejoindre une pièce. Vous pouvez y parvenir en ne transmettant simplement pas les données d'un client à d'autres clients lorsque ce dernier n'est pas encore authentifié, ou en rendant l'ID de la pièce secrète et en ne donnant que l'ID secret aux clients authentifiés.

+0

Malheureusement, je ne peux pas laisser le serveur de signalisation authentifier les homologues parce que je ne possède pas le serveur de signalisation. c'est hors de mon contrôle. –

+0

@KoheiNozaki Eh bien, utilisez celui qui est sous votre contrôle alors ... Ou utilisez un portail séparé pour authentifier et en quelque sorte rendre la connexion à ce serveur de signalisation possible seulement après l'authentification (en récupérant l'adresse IP du serveur par exemple) . Mais gardez à l'esprit que cela ne sera jamais aussi sûr. – Kevin

+0

Malheureusement encore, en utiliser un sous mon contrôle n'est pas une option dans mon cas ... le point de cette question est que comment puis-je utiliser celui qui est hors de mon contrôle en toute sécurité. –