2014-12-19 6 views
1

В WCF при использовании wshttpbinding с защитой сообщений (которая шифрует сериализованный XML, отправленный по кабелю), зачем нам SSL Transport Security, которая также шифрует сертификат SSL?Есть ли какая-либо польза от использования wsHttpBinding SSL Transport Security в сочетании с безопасностью сообщений?

+0

Примечания это на самом деле хороший вопрос, и не очевиден для большинства людей, поэтому я взял на себя смелость переформатирования вопроса в дух оригинального поста –

ответ

0

Чтобы решить этот вопрос, его, вероятно, лучше всего начать с некоторыми основами Windows Communication Foundation (WCF)

Понимание некоторых из этих ключевых моментов, ответ на ваш вопрос должен стать ясно

WCF Ключевые функции безопасности

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

  • Аудиторская. Эффективный аудит и ведение журнала (т. Е. Отказ от отказа). Неотказание гарантирует, что пользователь не может отрицать выполнение операции или инициирование транзакции.

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

  • Авторизация. Определите, какие системные ресурсы и операции могут быть доступны аутентифицированному пользователю.

  • Конфиденциальность. Процесс обеспечения того, чтобы данные оставались конфиденциальными и конфиденциальными, и что они не могут быть просмотрены неавторизованными пользователями. Шифрование часто используется для обеспечения конфиденциальности.

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

Более подробную информацию о выше, можно найти здесь: WCF Security Fundamentals


модели безопасности WCF

В WCF, у вас есть несколько вариантов для обеспечения безопасности передачи, которая в первую очередь расщепляет (но не ограничиваясь ими) следующие режимы безопасности передачи

  • Транспорт. Взаимная аутентификация и защита сообщений предоставляются на транспортном уровне

  • Сообщение.На уровне сообщений предоставляются взаимная аутентификация и защита сообщений

  • Оба. Взаимная аутентификация и защита сообщений предоставляются как на транспорте и сообщение

Есть другие гибридные вариации этого режима, больше информации по этой теме можно найти здесь: Message and Transport Security


Транспортная безопасность

Безопасность транспорта в отношении WSHttpBinding использует транспорт HTTP, а основным механизмом для обеспечения транспорта является Secure Sockets Layer (SSL) через HTTP, обычно называемый HTTPS.

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

enter image description here

Более подробную информацию о безопасности транспорта можно найти здесь: Transport Security Overview


безопасности Сообщение

Безопасность сообщений в отношении WSHttpBinding использует спецификацию WS-Security для защиты сообщений. Спецификация WS-Securitys описывает усовершенствования обмена сообщениями SOAP для обеспечения конфиденциальности, целостности и аутентификации на уровне сообщений SOAP (вместо уровня транспорта).

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

enter image description here

Более подробную информацию можно найти здесь Message Security in WCF


Транспорт и сообщение безопасности

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

Другим примером использования подхода hyprib может быть сценарий в ориентированном на пользователя веб-приложении, где веб-приложение работает на своем собственном сервере и разговаривает с бизнес-службой на отдельном сервере.Сервер веб-приложений говорит от имени пользователя с бизнес-сервером

В большинстве случаев комбинированный транспорт и безопасность сообщений не нужны, и поскольку безопасность на транспорте использует аппаратное ускорение и безопасность сообщений, нет, возможно, дополнительные служебные накладные расходы не требуется или подходят

Более подробная информации о транспорте и безопасности сообщений можно найти здесь Message and Transport Security