Определить устройство было восстановлено

Я пытаюсь защитить автономные данные, хранящиеся на мобильных устройствах (Android / IOS), и часть защиты заключается в том, чтобы предотвратить восстановление пользователем своих старых данных.

Есть ли какое-то уникальное значение для android / ios, которое не изменится, если пользователь не выполнит сброс к заводским настройкам или не использует какое-либо резервное копирование или восстановление образа? И, конечно же, это значение должно быть доступно в некорневом устройстве.

Я знаю, что это довольно странный / неоднозначный вопрос, но я не смог ничего найти, пока гуглил.

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

Обновление Что касается запроса в комментариях, вот простой пример:

У меня есть 2 мобильных устройства, с 2 приложениями, одно "клиентское" приложение и одно "серверное" приложение. 2 устройства общаются с помощью BT.

Когда приложение "клиент" впервые связывается с приложением "сервер", оно получает зашифрованный файл с номером Z.

После этого каждая транзакция между "клиентом" и "сервером" работает следующим образом:

  1. "Клиент" отправляет файл на "сервер" и удаляет файл.
  2. "Сервер" расшифровывает файл и уменьшает число на 1 (Z - 1)
  3. "Сервер" повторно зашифровывает файл и отправляет его обратно "клиенту".
  4. "Клиент" сохраняет файл для использования в следующей транзакции.

Я пытаюсь предотвратить "клиентское" восстановление данных. Например, пользователь "клиентского" устройства создаст изображение своего телефона после получения файла в первый раз и после транзакций E, когда файл содержит номер Z - E, пользователь восстановит свой телефон обратно, используя резервное изображение.

"Подвох" заключается в том, что это должно быть сделано в автономном режиме (онлайн решит это без сомнения).

0 ответов

Другие вопросы по тегам