Как быть уверенным, что серверные звонки поступают из моего приложения? - PullRequest
0 голосов
/ 06 марта 2020

Я работаю над игрой для Android и iOS некоторое время. Он использует серверную часть LAMP.

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

Способ, которым я могу гарантировать, что только мое приложение может выполнять вызовы на сервер, - это использование HTTP POST через SSL, где пароль прошло. Если пароль совпадает с паролем сервера, то вызов подтверждается. После этого сервер проверяет действительный идентификатор пользователя и пароль и получает их данные и т. Д. c.

При первом запуске игры сервер создает профиль для игрока. Я думал, что это безопасно, но теперь я знаю, что кто-нибудь может просто извлечь мой .apk и перепаковать его, а затем использовать мой сервер в качестве бэкэнда, так как у него есть ключи.

Как, черт возьми, я могу защитить свой сервер от чего то такого? Как я могу быть уверен, что только мое приложение сможет получить доступ к моим серверам?

1 Ответ

1 голос
/ 06 марта 2020

Вы можете использовать API аттестации Safet yNet для проверки имени пакета приложения на стороне сервера:

https://developer.android.com/training/safetynet/attestation

  1. Реализуйте все как в учебник
  2. На стороне сервера после ответа от Google проверьте, что имя пакета приложения совпадает с вашим именем.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...