Вот что я пытаюсь сделать.Алгоритм проверки клиента?
У меня есть игра и исполняемый сервер. Клиенты подключаются к серверу для воспроизведения.
В настоящее время проблема заключается в том, что кто-то может использовать telnet или что-то подобное для имитации клиента.
В настоящее время пользователь отправляет только строку приветствия после того, как они подключены, и если это правильно, я принимаю данные от них.
Я пытался использовать сертификаты/ssl без успеха, поэтому я пытаюсь найти эффективный способ узнать, действительно ли клиент игры является клиентом.
Проще говоря, что было бы эффективным способом проверки клиента?
Меня не интересует человек в средней атаке, так как пользователи не входят в систему и не предоставляют пароли, а просто имя сеанса.
Я подумал о возможности отправки сервером фиксированной длины случайной строки, затем клиент модифицирует эту строку с помощью алгоритма, а затем отправит ее обратно.
Мне интересно, есть ли более умные способы, чем это.
У меня действительно есть сертификат для моего сервера, это pfx, если это помогает.
СООБЩЕНИЕ
Извините, но если пользователи не предоставляют имена пользователей/паролей, в чем смысл обеспечения безопасности вашего сервера? Если кто-то может подключиться, нет смысла кого-то эмулировать клиента. –
@ PawełStawarz Я согласен, но если они могут олицетворять клиента, они могут послать неверные игровые сообщения, которые могут замерзнуть или сбой сервера. – jmasterx
Если у вас нет сообщений, сообщающих серверу о сбое или зависании, они не могут. Hovewer они могут сделать DoS или «Ping of Death», и если это так, ваша проблема в другом месте. –