Выбор ответа Junior Секреты и управление ключами обновлено

Секрет в мобильном приложении

Вопрос

Команда хочет зашить API-ключ платёжного провайдера в мобильное приложение и обфусцировать его. Что верно?

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

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

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

Коротко

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

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

  1. Обфускации достаточно: без исходников ключ из бинарника не извлечь
  2. Хранить ключ в ресурсах в base64 и собирать его из частей в рантайме
  3. Секрет в клиенте можно извлечь: операции с ним выполняют на сервереправильный ответ
  4. Безопасно, если приложение подписано и скачано из официального магазина

Разбор

Клиент под полным контролем пользователя: бинарник декомпилируют, трафик перехватывают. Обфускация и base64 лишь замедляют. На клиенте допустимы только публичные ключи и идентификаторы, а секретные операции идут через ваш сервер.

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

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

Термины по теме