ответы
- SRP - безопасный пароль удаленного доступа - основан на Диффи-Хеллмане. Идея заключается в том, что вы можете выполнить взаимную проверку пароля, фактически не передавая пароль или любую информацию, которая может быть использована для его получения. Даже при том, что это безопасно по сети, вы все равно должны хешировать и хранить свои пароли, поскольку ваш сервер никогда не должен хранить их в виде простого текста .
- Преимущество SRP заключается в том, что после его завершения он также дает вам согласованный ключ шифрования, который злоумышленник не смог бы вывести, учитывая данные, которые вы передали. Это означает, что вы можете использовать алгоритм симметричного шифрования (например, AES) после аутентификации пользователя.
- Предполагая, что вы используете UDP с вашей собственной надежной / упорядоченной (ориентированной на соединение) реализацией поверх нее: зашифруйте всю UDP-нагрузку, включая ваш «порядковый номер пакета». Если ваша система спроектирована правильно, она автоматически отклонит воспроизводимые сообщения, и злоумышленник не сможет изменить порядковый номер пакета, поскольку он зашифрован (таким образом, воспроизведение возможно, но оно будет автоматически проигнорировано).
мысли
Ваша аутентификация должна быть безопасной? Абсолютно. Не идите на компромисс с точки зрения безопасности, когда пароль под вопросом. Таким образом, вы должны определенно рассмотреть первую пулю в моем ответе.
Должны ли ваши данные быть в безопасности? Только если это внутриигровая покупка / микротранзакция - и почему бы просто не использовать что-то проверенное и верное, как HTTPS. Шифрование игрового трафика вряд ли является жизнеспособным решением по следующим причинам:
- Это полная паранойя.
- Это увеличит время процессора на вашем сервере, если только вы не купите (дорогие) аппаратные модули шифрования.
- Неважно, какую безопасность вы обеспечиваете для своих данных по сети - кто-то может захватить клиентский процесс и перехватить сообщения за мгновение до того, как они будут зашифрованы и отправлены. Это не только возможность, но и бесконечно более возможная, так как существенно проще вводить код по сравнению с перехватом пакетов. Если вы делаете это для предотвращения мошенничества, вы теряете свое время.
- С точки зрения безопасности пароля, к сожалению, вы ничего не можете поделать с угнанной системой, клиент стал враждебным. Ключи Blizzards WoW предназначены для решения этой проблемы, но я не уверен, насколько это безопасно (особенно, если вы оставите его подключенным).
Пожалуйста, если вы используете шифрование для предотвращения мошенничества, откажитесь от него. Вы собираетесь сказать коротко - я дал вам информацию в случае, если вы не. Помните, что вы можете выборочно шифровать пакеты по первому байту в пакете и показывать, зашифрованы ли остальные: хотя, еще раз, я бы придерживался HTTPS, если вам нужно делать такие вещи, как транзакции по кредитным картам: они крайне редки и HTTPS разработан экспертами - в отличие от того, что вы или я разработали.
Все , что сказал, Blizzard фактически шифровать их WoW трафик. Основная причина этого является сломало , потому что кто - то, кто, вероятно , полный дилетант, решил , что они пробуют свои силы в алгоритме шифрования доморощенного; это приготовлено действительно хорошо . Даже если вы делаете стандартные использование промышленных алгоритмов есть хороший шанс , что кто - то перепроектировать код и моделировать его - как только клиент вводит свой пароль , не существует никакого сообщения , что неподдерживаемая система подключена.