Выбор ответа Junior Секреты и управление ключами обновлено
Секрет в мобильном приложении
Вопрос
Команда хочет зашить API-ключ платёжного провайдера в мобильное приложение и обфусцировать его. Что верно?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Секрет в клиенте можно извлечь: операции с ним выполняют на сервере. Клиент под полным контролем пользователя: бинарник декомпилируют, трафик перехватывают.
Варианты ответа
- Обфускации достаточно: без исходников ключ из бинарника не извлечь
- Хранить ключ в ресурсах в base64 и собирать его из частей в рантайме
- Секрет в клиенте можно извлечь: операции с ним выполняют на сервереправильный ответ
- Безопасно, если приложение подписано и скачано из официального магазина
Разбор
Клиент под полным контролем пользователя: бинарник декомпилируют, трафик перехватывают. Обфускация и base64 лишь замедляют. На клиенте допустимы только публичные ключи и идентификаторы, а секретные операции идут через ваш сервер.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.