Защита REST и JSON

Я хочу создать свои веб-сервисы, обслуживающие данные JSON, с использованием архитектуры RESTful.

Но я хочу, чтобы мои собственные клиентские приложения могли запрашивать только мои веб-службы.

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

Буду признателен за любые идеи для этого, спасибо.


person Community    schedule 17.07.2009    source источник


Ответы (2)


Тот факт, что это RESTful или использует JSON, не имеет значения, когда речь идет о защите веб-службы. Любой веб-сервис должен быть защищен таким же образом. Есть несколько вещей, которые вы должны сделать:

  1. По возможности не размещайте веб-службу в Интернете. Если веб-служба размещена, например, в локальной сети вашей компании, она не будет доступна для общего пользования, если только вы специально не предоставили ее через маршрутизатор.
  2. Настройте правила аутентификации и авторизации. Если вы размещаете свою веб-службу внутри домена Windows, вы можете просто использовать проверку подлинности Windows и настроить правила на основе пользователей и групп Active Directory. Другими вариантами являются использование проверки подлинности HTTP, проверки подлинности сертификата клиента или, если вы разрабатываете .NET, проверки подлинности форм.
  3. Используйте шифрование (HTTPS), особенно если ваш веб-сайт размещен в Интернете.
person Jacob    schedule 17.07.2009

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

Если у вас есть более строгие требования к безопасности, вы можете последовать предложению Якоба или позволить клиенту начать сеанс VPN перед отправкой запросов.

person Dana the Sane    schedule 17.07.2009