Можно ли использовать Firebase RemoteConfig для хранения ключей API?

Примечание. Для пояснения это не Ключ API Firebase, это может быть скорее как токен... то, что обладает клиентским приложением, и конечная точка сервера проверяет.

Мы пытаемся сделать еще лучше, чтобы защитить ключ API (подумайте о токене, который используется для проверки клиента на конечную точку). Все это будет в нашей внутренней сети, но мы все же хотим быть уверены, что только наш мобильный клиент может назвать конечную точку.

Я думал, что мы можем поместить ключ API в параметр удаленной конфигурации Firebase (с недопустимым значением по умолчанию, встроенным в приложение). Однако в документации Firebase для удаленной конфигурации говорится:

Не храните конфиденциальные данные в параметрах параметров Remote Config или параметров. Можно декодировать любые ключи или значения параметров, сохраненные в настройках удаленной конфигурации для вашего проекта.

Я не был уверен, относится ли это только к значениям по умолчанию, связанным с приложением, или к значениям, которые загружаются удаленно. Как только у нас есть ключ, мы можем его зашифровать и сохранить на устройстве через нашего MDM-провайдера.

Кроме того, перенос удаленных данных конфигурации в приложение зашифрован или сделан четким текстом?

Спасибо за любую дополнительную информацию, которую любой может предоставить о удаленной конфигурации.

Ответ 1

Это зависит от того, насколько безопасно вы хотите сохранить свой ключ API. Что дает ключ API? Если просто определить ваше приложение для другой службы, например API данных YouTube, то самое худшее, что может случиться, это то, что злоумышленник использует вашу квоту для этого ресурса. С другой стороны, если ключ позволяет держателю сделать некоторые необратимые изменения важных данных без дополнительной аутентификации и авторизации, вы никогда не захотите, чтобы он хранился на их устройстве в любой форме.

Ваша цитата из документации Firebase отвечает на ваш вопрос. В общем, вы не должны хранить личные ключи в своем приложении. Ознакомьтесь с ответами на этот вопрос для подробных объяснений.

Использование Firebase Remote Config вряд ли более безопасно, чем ключи доставки в комплекте приложений. В любом случае, данные заканчиваются на аппаратном обеспечении пользователей. Злоумышленник может тогда теоретически получить к нему доступ, независимо от того, насколько трудно мы можем думать, что это нужно делать.

Кроме того, я не могу сказать точно (вы должны быть в состоянии легко протестировать это), но я очень сомневаюсь, что удаленные значения конфигурации отправляются как обычный текст. Google делает все по https по умолчанию.