Предполагая, что:
- приложение отсутствует в Google Play
- был установлен прямо на планшетах
- у вас есть контроль над тем, на каких устройствах он будет установлен.
Наилучшим подходом может быть:
- иметь в бэк-энде белый список идентификаторов хэшированных устройств всех планшетов, на которых установлено приложение.
- в каждом запросе к бэкэнду приложение отправляет хэшированный идентификатор устройства, и проверка выполняется по белому списку и обслуживает только запрос при положительном совпадении.
Таким образом, если вы контролируете устройства, на которых устанавливается приложение, вы можете убедиться, что оно установлено только на устройствах, которые не возвращают null
ANDROID_ID .
Лучшим решением для вашей проблемы является наличие внешней службы, которая может проверять целостность вашего приложения во время выполнения таким образом, чтобы серверная часть могла обнаружить, поступает ли каждый запрос от подделанного приложения или от root-устройства. , Вы можете увидеть пример такой услуги в Approov .
В этой серии блогов вы можете увидеть демонстрацию того, как работает решение Approov, и в то же время изучить другие методы защиты вашего приложения без решения Approov, использующего SDK, интегрированный в ваше приложение и облачную службу. для проверки целостности приложения и устройства, а также для выдачи токена JWT, подписанного секретом, который известен только облачной службе и серверной части, что делает невозможным обратный инжиниринг на устройстве, где установлено приложение, или человеком в середине атаки.
Отказ от ответственности: я работаю на Approov