zencd
@zencd

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

Некое андроид-приложение выполняет rest-запросы к серверу.

Что возможно предпринять чтобы только это конкретное приложение могло слать такие запросы? И, соответственно, никакой человек с curl'ом не мог под это приложение мимикрировать.

Если бы приложение исполнялось на защищённом сервере, тогда понятно что делать - прочитать секретный ключ из хранилища и подписать им запрос. А вот как аналогичная задача в мире мобильных приложений? Исполняется-то оно на клиенте, где вроде бы всё поддаётся анализу...
  • Вопрос задан
  • 385 просмотров
Пригласить эксперта
Ответы на вопрос 3
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Периодическое обновление (раз в 3 месяца) приложения на маркете с новым ключом и проверкой данных, подписанных этим новым ключом, на стороне сервера.
Этого будет достаточно, чтобы не стали делать своего клиента и что-то ломать.

А вообще, советую всё, что секретно, выносить на сервер и постоянно думать, что код клиента - полностью открыт для пользователя: это просто "рычаги управления", а "двигатель" - всегда должен быть на сервере.
Ответ написан
Комментировать
POS_troi
@POS_troi
СадоМазо Админ, флудер, троль.
Гарантированной защиты не существует - задача любой криптографии не защитить данные, а сделать получение этих данных как можно более невыгодным - по финансам и времени.

Как уже и сказал xmoonlight, менять чаще ключ, в результате желающим подделывать запросы просто не будет хватать времени на решение задачи или быстрое решение, по стоимости переплюнет профит.
Ответ написан
Комментировать
mitaichik
@mitaichik
Тут все плохо: вы можете ограничить по ключу, но да - приложения декомпилируются и ключ выдирается. Можно попробовать как-нить этот ключ запрятать, но при должном желании это все вскрывается.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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