Как предохраняться при общении клиента с сервером по http?

У меня приложение для android к которому я хочу прикрутить немного общения с сервером. Я написал прослойку на php, для записи и получения данных с базы. Но я хочу чтобы к серверу можно было достучаться только с этого приложения, как это сделать? Я конечно могу секретный код использовать но приложение не защищено от реверс инженеринга, то есть смогут подсмотрев код понять как познакомится с сервером. Как быть?
  • Вопрос задан
  • 298 просмотров
Пригласить эксперта
Ответы на вопрос 4
alsopub
@alsopub
Если исходить из предположения что приложение может быть полностью декомпилировано, то и любой ваш алгоритм может быть полностью восстановлен. Все что вы можете сделать - это усложнить восстановление алгоритма. Пароли, сертификаты, https, ассиметричное шифрование, хранение полученного с сервера ключа в файловой системе и тд.
Если считать что приложение достаточно обфусцировано и восстановлению (в разумные сроки) не подлежит, то достаточно применить https, можно сertificate pinning для предотвращения реверса протокола через mitm.
Все глубокое имхо.
Ну и как совсем крайний случай - генерация уровня на сервере, передача на сервер нажатия всех кнопок, проверка на сервере прохождения путем анализа нажатия кнопок.
Ответ написан
Что там за данные ,если не секрет?
Ответ написан
Rou1997
@Rou1997
Как быть?

Нужно исходить из рентабельности, для себя и для взломщиков, как выше сказали, любая защита "ломается", разница только в приложенном усилии и времени, а это уже вопрос бюджета, нужно сделать так, чтобы работа взломщика стоила столько, чтобы ее не оплатили, в то же время ваша работа по защите тоже не обошлась вам слишком дорого.
Ответ написан
Комментировать
@spotifi
Индивидульные ключи.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы