Как обезопасить службу WCF для использования только конкретным приложением? - PullRequest
0 голосов
/ 15 апреля 2010

У меня есть определенное приложение Silverlight, которое снабжается данными службой WCF. Я хочу убедиться, что WCF-служба вызывается только этим конкретным приложением Silverlight. Каков наилучший способ сделать это и что я должен сделать? Это не должно быть решение с высокой степенью безопасности.

Спасибо заранее, Frank

Ответы [ 4 ]

3 голосов
/ 15 апреля 2010

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

Проще, но менее безопасно, возможно, просто использовать какой-либо идентификатор (известный только клиенту Silverlight) в качестве параметра службы.

Обе опции, очевидно, наиболее безопасны при использовании HTTPS. Это может быть достигнуто с помощью сертификата сервера.

1 голос
/ 15 апреля 2010

Если ваше приложение работает анонимно, то практически невозможно быть на 100% безопасным.

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

1 голос
/ 15 апреля 2010

Вы НЕ МОЖЕТЕ ограничить доступ к такой услуге. Вашему приложению потребуется доступ к любому ключу / паролю, который вы выбрали. Это тривиально декомпилировать ваше приложение и извлечь ключ. SSL / TLS не поможет - пароль можно извлечь из скомпилированного кода.

Этот вопрос в последнее время задавался довольно часто -

  1. Обеспечить эксклюзивный доступ к веб-сервису
  2. Как ограничить доступ к моему веб-сервису?
  3. Как я могу создать и использовать веб-сервис публично, но при этом ограничить его использование только моим приложением?
0 голосов
/ 15 апреля 2010

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

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