Учетные данные для доступа к Amazon в приложении Android - PullRequest
0 голосов
/ 19 мая 2011

Amazon Cloud Services (AWS) предоставил готовую библиотеку для звонков на SDB, S3, SNS и т. Д. Прямо из вашего приложения для Android.Это позволяет мобильному разработчику, не знакомому с веб-службами и веб-приложениями, создавать полностью масштабируемое облачное приложение.В этих вызовах API мы предоставляем учетные данные Amazon Access для подключения к нашей облачной учетной записи;У меня вопрос:

  1. Как эффективно использовать ротацию ключей в приложении, поскольку я буду распространять приложение, если изменение ключа может означать срыв периода для существующих пользователей.
  2. Может ли жесткое кодирование учетных данных Amazon Access внутри кода (в виде поля Constant и т. Д.) Сделать его уязвимым для извлечения?Через декомпиляцию и т.д.?

Ответы [ 2 ]

1 голос
/ 09 июля 2011

Я разговаривал с Amazon Advocate для нашего региона, и он сказал, что клиентская библиотека Amazon не предназначена для этой цели.

  • Может использоваться для собственных приложений (не публикуется), таких как клиентские демонстрационные приложения.
  • Если вы связываете учетные данные с приложением, которое будет опубликовано на открытом рынке (не рекомендуется), используйте IAM и создайте отдельные учетные данные с ограниченным доступом.
  • Если вы создаете приложение, такое как Instagram , вам, возможно, придется настроить веб-сервер для прокси ваших звонков в Amazon (эффективно делая клиентскую библиотеку бесполезной).

Очевидно, я был не очень убежден. Я думаю, что целая клиентская библиотека для связи с Amazon (минуя необходимость в веб-сервере) может быть большим преимуществом для разработчиков мобильных приложений.

0 голосов
/ 19 мая 2011

Re:

Может ли жесткое кодирование учетных данных Amazon Access внутри кода (в виде поля Constant и т. Д.) Сделать его уязвимым для извлечения? Через декомпиляцию и т. Д.? 1005 *

Да, ища строки и шаблоны в двоичном файле. Также декомпиляция, но это часто не требуется.

Первый вопрос: от каких угроз вы пытаетесь защититься? Правительства? Платные хакеры? Или вы просто хотите, чтобы вам было нелегко получить доступ, кроме как через приложение?

  • Ограничьте доступ к ключам только теми данными, которые нужны приложению.
  • Храните ключи в приложении на несколько частей. Измените их каким-либо образом (например, ROT47), а затем повторно объедините при отправке в службу.
  • Не помещайте всю ключевую информацию в приложение. Требуется использование другого устройства безопасности, такого как Amazon MFA
  • Установите мониторинг для обнаружения необычных шаблонов доступа, которые могут указывать на доступ извне приложения.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...