Безопасно ли использование Android KeyStore Provider?

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

Известно: в андроид есть три встроенных механизма для хранения секретных данных. KeyStore, KeyChain и Android KeyStore Provider:

  • KeyStore наименее безопасен (так как с помощью рута можно заполучить доступ непосредственно к файлу с зашифрованными данными)

  • KeyChain более удобен для использования секретных данных между приложениями (запрашивает у пользователя разрешение с помощью системного диалога)

  • Android KeyStore Provider вроде как наиболее подходит под задачу.


Вопросы:

  1. Каким образом Android KeyStore Provider защищен от декомпиляции приложения?

  2. Можем ли мы избежать уничтожения информации при смене или отключения пароля к устройству? Android 6.0 и выше.

  3. Каким образом Android KeyStore Provider защищен на рутованных устройствах? Вроде бы на некоторых устройствах под хранение таких данных выделяется некое hardware-protected хранилище, куда доступ закрыт даже с root. Но что это за устройства? Как много их? И что происходит на остальных устройствах с рутом - эти данные просто лежат в какой-то директории?
  • Вопрос задан
  • 380 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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