Выбор ответа Junior Безопасность мобильных приложений спрашивают часто обновлено
Где хранить токены на Android
Вопрос
Где на Android хранить refresh-токен?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: В зашифрованном виде с ключом из Android Keystore. Android Keystore хранит криптографические ключи так, что их нельзя извлечь (на многих устройствах в аппаратном модуле).
Варианты ответа
- В зашифрованном виде с ключом из Android Keystoreправильный ответ
- В обычных SharedPreferences в приватной папке приложения
- Во внешнем хранилище в зашифрованном ZIP-архиве
- В BuildConfig, который генерируется при сборке
Разбор
Android Keystore хранит криптографические ключи так, что их нельзя извлечь (на многих устройствах в аппаратном модуле). Токен шифруют этим ключом и кладут в хранилище приложения (DataStore, файл). Обычные SharedPreferences лежат открытым текстом, внешнее хранилище доступно другим, а логи вообще читаются кем угодно при отладке. Аналог на iOS это Keychain.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.