Безопасность веб-сервисов - PullRequest
3 голосов
/ 14 ноября 2009

Привет У меня есть вопрос, касающийся безопасности и веб-сервисов.

Мне нужен веб-сервис для предоставления интерфейса для базовой базы данных MySQL. Я пытаюсь получить приложение Blackberry для хранения данных на базе данных MySQL веб-серверов через веб-сервис.

Мой вопрос: как я могу убедиться, что bb-приложение является единственным, что использует веб-сервис? Веб-сервис будет существенно вставлять данные в таблицу. Я хочу убедиться, что только bb-приложение может использовать этот сервис, а не тот, кто выясняет сервис и начинает спамить мою таблицу.

Любые указатели, лучшие практики или ссылки приветствуются.

Кроме того, какой веб-сервис лучше всего подходит в этом сценарии?

Ответы [ 6 ]

1 голос
/ 15 ноября 2009

Используйте net.rim.device.api.crypto.HMAC для реализации HMAC аутентификации и проверки. Установление сквозных SSL-соединений на Blackberry может быть проблематичным и зависеть от поддержки беспроводного провайдера, если только ваши пользователи не активированы на корпоративной BES (которую я настоятельно рекомендую как часть решения, если вы хотите надежной защиты).

1 голос
/ 14 ноября 2009

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

1 голос
/ 14 ноября 2009

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

Тогда поток будет следующим:

  1. Выполнить задачу данных в приложении BB
  2. Готов к передаче данных в веб-сервис
  3. Создание уникального хэша из данных + ваша собственная информация из сопоставленного словаря
  4. Передача данных с помощью ключа
  5. Веб-служба проверяет ключ. Если проверка не пройдена, она полностью отбрасывает данные, а в случае успеха выполняет то, что нужно.
  6. Продолжить.

НТН

Отказ от ответственности: предполагается, что это открытый конец WS.

Также см. мой ответ здесь .

0 голосов
/ 23 августа 2010

Другие указали использование SSL для защиты сайта. Тем не менее, это только одна часть головоломки. Кайл был близок ко второму, но не совсем обрезал.

Ответ заключается в том, что каждая транзакция, которая публикуется в вашем веб-сервисе, должна содержать ключ авторизации определенного типа. Этот ключ может быть предварительно передан и запрограммирован в приложении ИЛИ его можно получить другими способами и настроить как часть процесса установки / настройки приложения.

Практически все компании, которые предоставляют веб-сервисы онлайн, следуют этому методу. Идея состоит в том, что независимо от базового протокола (например, ssl), вы должны проверить, что запрос действительно поступает от авторизованного устройства / программы. Некоторые поставщики предлагают пользователям создать уникальный ключ для каждого пользователя, некоторые для каждого устройства, а другие - всего один ключ для всей организации. Независимо от того, насколько глубоко ты это понимаешь, на самом деле есть ключ.

Ключ обычно не такой большой. Это может быть от 15 до 40 буквенно-цифровых символов.

0 голосов
/ 14 ноября 2009

Если вы создаете веб-сервис SOAP, вы хотите прочитать о ws-security .

0 голосов
/ 14 ноября 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...