2016-08-16 3 views
0

У меня есть Существует общественный P2P сети и узлов (на основе peer.js), который имеет следующие условия:Как проверить законность узлов в общественной сети P2P (peer.js)

  • Любой (включает в себя вредоносные узлы) могут присоединиться к сети P2P
  • Каждые законные узлы имеют один ключ общей безопасности, которые совместно через безопасный способ

в условиях, узлы должны установить соединение полной сетки между только законными узлами ,

Здесь мне нужно реализовать безопасный протокол переговоров, который будет использоваться до установления соединения между узлами. Мне нужно убедиться, что каждый узел должен закрыть вредоносные узлы через согласование, возможно, с общим ключом безопасности, который используется только среди легитимных узлов.

Я думаю, что было бы хорошо известное решение для этой ситуации, но я еще не смог его найти. Каково типичное решение этой ситуации?

ответ

0

Для создания одноранговой сети требуется какой-либо сервер сигнализации. Просто позвольте этому серверу аутентифицировать сверстников. Вы указываете ключ, используйте этот ключ для аутентификации однорангового узла и разрешаете только аутентифицированный одноранговый узел присоединиться к сети.
Обычно вы видите клиентов, подключающихся к комнатам напрямую, но вы можете дождаться их аутентификации, прежде чем разрешать им создавать или присоединяться к комнате. Вы можете добиться этого, просто не отправляя данные клиента другим клиентам, если они еще не аутентифицированы, или сделав секретный номер комнаты секретным, и только выдавая секретный идентификатор аутентифицированным клиентам.

+0

К сожалению, я не могу позволить сигнальному серверу аутентифицировать одноранговые узлы, потому что у меня нет сервера сигнализации. это не в моих силах. –

+0

@ KoheiNozaki Ну, используйте тот, который находится под вашим контролем, затем ... Или используйте отдельный портал для проверки подлинности и каким-то образом сделайте подключение к этому сигнальному серверу возможным только после аутентификации (например, выбирая ip/url сервера из этого портала auth) , Но имейте в виду, что это никогда не будет столь же безопасным. – Kevin

+0

К сожалению, опять же использование одного под моим контролем не является вариантом в моем случае ... суть вопроса заключается в том, как я могу использовать тот, который находится вне моего контроля. –

Смежные вопросы