2010-04-23 3 views
1

Каковы наилучшие методы доставки приложения Adobe Air, для которого необходим секретный ключ для связи с каким-либо онлайн-API?Как защитить чувствительные ключи в приложениях Adobe Air?

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

ответ

-1

Я не думаю, что это глобальная проблема доставки секретных ключей в любом приложении, так как все может быть обратной инженерии (disasamble для исполняемых файлов, считыватели IL и т.д.)

Независимо от того, что вы делаете, если клиент приложение должно как-то «знать» секретный ключ, тогда пользователь может знать секретный ключ.

Предполагая, что:

  1. Вы поставляете продукт («клиентское приложение»), который relys на некоторых веб-службы третьей стороной («услуга»).
  2. Ваша компания имеет только один секретный ключ («ключ компании») для использования услуги.
  3. Ключ компании никогда не должен подвергаться (из-за возможное злоупотребление)
  4. Каждой часть информации, имеющейся или переданной клиентского приложением подвергаются

Решения может использовать некоторые прокси:

  1. прокси реализует API сервиса
  2. клиентское приложение подключается к прокси-серверу
  3. прокси подключается к с е р в использовании компании ключ
  4. Прокси делегаты все звонки от клиента к услуге и наоборот
+0

Спасибо очень много. У меня тоже были эти мысли, но я думал, что может быть какая-то стандартная практика, о которой я не думал. И добавив безопасность в прокси-сервер, вы убедитесь, что ваши ключи доступны только авторизованным пользователям. Я нашел эту связанную дискуссию с API-интерфейсом Twitter и о том, как они переходят только на OAuth: http://twitter.pbworks.com/oauth-desktop-discussion –

+0

Очень верно, сам прокси должен быть защищен. Основная идея заключается в том, что если вы не можете изменить схему безопасности для стороннего сервиса, тогда вы «обернете» его прокси-сервером, который реализует схему безопасности, которую вы хотите навязать. –

+0

Downvoters: помогите объяснить сами? –