Выбор ответа Junior Безопасность мобильных приложений спрашивают часто обновлено

Где хранить токены на Android

Вопрос

Где на Android хранить refresh-токен?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: В зашифрованном виде с ключом из Android Keystore. Android Keystore хранит криптографические ключи так, что их нельзя извлечь (на многих устройствах в аппаратном модуле).

Варианты ответа

  1. В зашифрованном виде с ключом из Android Keystoreправильный ответ
  2. В обычных SharedPreferences в приватной папке приложения
  3. Во внешнем хранилище в зашифрованном ZIP-архиве
  4. В BuildConfig, который генерируется при сборке

Разбор

Android Keystore хранит криптографические ключи так, что их нельзя извлечь (на многих устройствах в аппаратном модуле). Токен шифруют этим ключом и кладут в хранилище приложения (DataStore, файл). Обычные SharedPreferences лежат открытым текстом, внешнее хранилище доступно другим, а логи вообще читаются кем угодно при отладке. Аналог на iOS это Keychain.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.