2013-05-12 4 views
0

Я хочу создать многопользовательскую игру в режиме реального времени, и мне интересно, как я должен защищать и идентифицировать каждого пользователя. Например, представьте, что у меня есть карта с 5 игроками, каждый игрок отправляет каждые 1/60 секунды свою позицию через udp на сервер. Как должно выглядеть сообщение? Может быть, сообщение ПДП от клиента к серверу может быть:Защищенная связь в реальном времени

Repos игрок идентификатор игрока в х, у

Но кто-то может отправить миллиарды сообщений на мой сервер с любым ID игрока, который он хочет, и в основном управлять позицией каждого пользователя. Любые идеи, как это должно быть разрешено?

ответ

0

Вы по праву заметите, что спуфинг является главной угрозой здесь.

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

Для проверки действительности вы можете либо подписывать сообщения с помощью одной из схем цифровой подписи, либо просто включать секретный временный токен вместе с сообщением.

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

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