Подтвердить что ты не робот

Какая разница между безопасностью и безопасностью сообщений в WCF

Я просматриваю WCF и безопасность. Существует несколько режимов безопасности, но большая картина заключается в том, что вы можете защитить 2 основных слоя: Транспорт или сообщение.

Может кто-нибудь объяснить это более подробно? Что я должен представить, когда я защищаю транспорт, как он работает и т.д.

4b9b3361

Ответ 1

это в значительной степени, как и следовало ожидать, транспортная безопасность защищает транспорт - например, SSL через HTTP, тогда как защита сообщений обеспечивает безопасность сообщений. Здесь приведен обзор msdn по причинам использования безопасности сообщений: http://msdn.microsoft.com/en-us/library/ms733137.aspx

и обзор для транспорта: http://msdn.microsoft.com/en-us/library/ms729700.aspx

(Из ссылки безопасности сообщений): Windows Communication Foundation (WCF) имеет два основных режима обеспечения безопасности (транспорт и сообщение) и третий режим (TransportWithMessageCredential), который объединяет эти два. В этом разделе обсуждается безопасность сообщений и причины его использования.

Что такое безопасность сообщений?

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

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

Причины использования безопасности сообщений

В безопасности на уровне сообщений вся информация о безопасности инкапсулируется в сообщении. Защита сообщения с безопасностью на уровне сообщений вместо безопасности на транспортном уровне имеет следующие преимущества: • Полная защита. Транспортная безопасность, такая как Secure Sockets Layer (SSL), обеспечивает только сообщения, когда связь является точкой-точкой. Если сообщение направляется одному или нескольким посредникам SOAP (например, маршрутизатору) до достижения конечного получателя, само сообщение не защищается, как только посредник считывает его с провода. Кроме того, информация аутентификации клиента доступна только для первого посредника и должна быть повторно передана в конечный приемник внеполосно, если это необходимо. Это применимо, даже если весь маршрут использует SSL-защиту между отдельными перелетами. Поскольку безопасность сообщений работает непосредственно с сообщением и защищает XML в нем, безопасность остается с сообщением независимо от того, сколько посредников задействовано до того, как оно достигнет конечного получателя. Это позволяет создать подлинный сквозной сценарий безопасности.

• Повышенная гибкость. Части сообщения, а не целое сообщение, могут быть подписаны или зашифрованы. Это означает, что посредники могут просматривать части сообщения, которые предназначены для них. Если отправитель должен сделать часть информации в сообщении видимой для посредников, но хочет убедиться, что она не подделана, она может просто подписать ее, но оставить ее незашифрованной. Поскольку подпись является частью сообщения, конечный получатель может проверить, что информация в сообщении получена нетронутой. Один сценарий может иметь промежуточную службу SOAP, которая маршрутизирует сообщение в соответствии со значением заголовка действия. По умолчанию WCF не шифрует значение Action, но подписывает его, если используется защита сообщений. Поэтому эта информация доступна всем посредникам, но никто не может ее изменить.

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

• Поддержка широкого набора учетных данных и требований. Безопасность сообщений основана на спецификации WS-Security, которая обеспечивает расширяемую структуру, способную передавать любые претензии в сообщении SOAP. В отличие от безопасности на транспорте, набор механизмов аутентификации или заявлений, которые вы можете использовать, не ограничивается транспортными возможностями. Безопасность сообщений WCF включает в себя несколько типов аутентификации и передачи заявок и может быть расширена для поддержки дополнительных типов по мере необходимости. По этим причинам, например, сценарий федеративных учетных данных невозможен без безопасности сообщений. Для получения дополнительной информации о сценариях федерации, поддерживаемых WCF, см. Федерации и выпущенные токены.

Ответ 2

Безопасность транспорта, такая как Secure Sockets Layer (SSL), обеспечивает только безопасность когда сообщение является "точка-точка". Если сообщение направляется одному или нескольким посредникам SOAP (например, маршрутизатору) до достижения конечного получателя, само сообщение не защищенный, когда посредник считывает его с провода.

Ложная. Сетевой маршрутизатор или коммутатор (OSI Layer 2 и 3) не будут иметь доступ к содержимому сообщения, если он зашифрован с помощью безопасности транспортного уровня (сертификат SSL на стороне сервера), поскольку для расшифровки сообщения необходим сертификат SSL сторон службы. Безопасность транспортного уровня защищает сообщение между клиентом и предполагаемым IP-адресом назначения, поскольку предполагается, что только поставщик услуг назначения имеет сертификат SSL, который требуется для дешифрования сообщения. Промежуточный агент SOAP мог бы только читать содержимое, если посредник SOAP (то есть ESB) был фактически предназначенным пунктом назначения сообщения, который фактически устанавливает зашифрованный транспортный канал с клиентом, обеспечивая безопасный канал от клиента к серверу, независимо от количества сетевые переходы, маршрутизаторы и коммутаторы и т.д. (уровни 2 и 3 OSI).

Безопасность уровня сообщения добавит безопасность в сообщение и может зашифровать части сообщения, если промежуточное ПО ESB (предназначенное для SOAP-посредника) должно читать части сообщения для принятия решений о маршрутизации (Content Based Routing), но не должно быть читать другие части сообщения, доступ к которым должен осуществляться только по нисходящим системам.

Ответ 3

При использовании транспорта обеспечьте канал, который вы используете, и с сообщением отправляемого сообщения (контента).