2013-02-20 2 views
11

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

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

ответ

12

это в значительной степени, как и следовало ожидать, транспортная безопасность обеспечивает транспорт - например, 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 (вместо уровня транспорта).

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

Причины для использования Message Security

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

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

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

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

+0

Итак, если вы хотите использовать SSL через HTTP, вам понадобится транспортная безопасность, если я не ошибаюсь? –

+0

по определению, ssl over http обеспечивает транспорт, а не сообщение. Вот отличный справочник по использованию: http://wcfsecurityguide.codeplex.com/ – NDJ

+1

Спасибо за ваше время и помощь! –

1

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

2

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

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

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

Смежные вопросы