Как защитить учетные данные службы в приложении Android? - PullRequest
0 голосов
/ 21 декабря 2018

У меня есть приложение для Android, которое взаимодействует с облачными API-интерфейсами Google, такими как речь, текст, перевод, NLP и т. Д. Для этого приложение использует служебную учетную запись, а файл закрытого ключа хранится в самом приложении.Я понимаю, что это плохая практика, так как любой может увидеть это с помощью dismblemer, но я не уверен, где еще хранить его для устройства Android.

Следующий пост предлагает сохранить этот файл на сервере сборки:

https://brightinventions.pl/blog/securing-your-google-service-account-key-in-builds/

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

Пожалуйста, дайте мне знать, если вы можете придумать решение.

1 Ответ

0 голосов
/ 03 января 2019

Не вставляйте учетные данные учетной записи службы в приложения.Учетные данные учетной записи службы имеют постоянный срок действия, что означает, что вы будете взломаны.Вы можете удалить учетные данные учетной записи службы, но затем вам придется повторно выпустить приложение.

У вас есть несколько вариантов:

  1. Внедрите Google OAuth, чтобы ваши пользователи проходили аутентификацию с помощью учетных записей Google.,При аутентификации используйте правильные области действия Google OAuth для предоставления временных разрешений.
  2. Реализация маркеров временного доступа.Ваши пользователи будут подключаться к вашему веб-сайту, аутентифицироваться, а ваш код предоставит им временный токен доступа, созданный из учетных данных учетной записи службы.Срок действия этого токена истекает.По умолчанию это 3600 секунд, но вы можете контролировать это.
  3. Вы, пользователи, будете делать все запросы через API вашего сайта.Вы контролируете аутентификацию пользователей.Затем код вашего сайта отправляет запросы API от имени пользователей.Это не идеальное решение, поскольку весь трафик проходит через ваш сайт (Compute Engine, App Engine и т. Д.), И вы будете платить за эту пропускную способность.
...