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

WCF Transport vs Message

Я читал о реализации безопасности WCF и выяснил, что существует 2 типа безопасности:   Transport Mode and Message Mode (or both)

Если я использовал HTTPS для транспортного режима, он более защищен, если я также использовал защиту сообщений? Я спрашиваю об этом, потому что я понимаю следующее:

https использует протокол SSL, который шифрует сообщения... поэтому почему я должен добавить Message Security и шифровать зашифрованное сообщение SSL? или я не понимаю вещи?

4b9b3361

Ответ 1

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

Безопасность транспорта обеспечивает только двухточечную защиту канала. Это означает, что HTTPS устанавливает безопасный канал только между клиентом и сервером, подверженным клиенту. Но если этот сервер просто балансировщик нагрузки или обратный прокси-сервер, он имеет прямой доступ к содержимому сообщения.

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

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

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

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

  • WS-Security 1.0 и 1.1 - основные правила шифрования, подписи, переноса токенов, временных меток и т.д.
  • Профиль токена UserName 1.0 - определение токена, используемого для транспортировки имени пользователя и пароля. Эта спецификация реализована только частично, потому что WCF из коробки не поддерживает переваренный пароль и требует использования этого токена либо с помощью транспорта, либо с помощью шифрования сообщения.
  • Профиль токена X509 1.1 - определение токена, используемого для транспортировки сертификатов.
  • Профиль маркера Kerberos 1.1 - определение токена, используемого для транспортировки билетов Kerberos.
  • Профиль токена SAML 1.1 1.0 и 1.1 - определение токена, используемого для федеративной безопасности. SAML 2.0 предоставляется WIF.
  • WS-SecurityPolicy 1.1 и 1.2 - обеспечивает поддержку для определения утверждения безопасности в WSDL.
  • WS-SecureConversation 1.3 и Feb. 2005 - обеспечивает поддержку сеанса безопасности, в котором учетные данные обмениваются только во время первого вызова, а остальная часть связи использует уникальный токен безопасности.
  • WS-Trust 1.3 и февраль 2005 - обеспечивает поддержку федеративных сценариев и служб маркеров безопасности (STS).

WCF также поддерживает WS-I Basic Security Profile 1.0, который является просто подмножеством прежних протоколов с заданной конфигурацией.

Для несовместимых функций WCF предлагает такие функции, как защита Windows или TLSNego и SPNego (оба должны быть в целом совместимы, но они недоступны во многих пакетах SOAP) для обмена учетными данными службы.

Ответ 2

В этой указаны причины использования или отсутствия использования безопасности сообщений.

В принципе безопасность транспорта предпочтительна, если она не может быть использована.

Отрывок из ссылки:

Плюсы и минусы уровня транспорта Безопасность

Безопасность транспорта имеет следующие Преимущества:

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

В целом улучшенная производительность.

Доступны аппаратные ускорители.

Возможно потоковое вещание.

Безопасность транспорта имеет следующие Недостатки:

Только хоп-хоп.

Ограниченный и нерастяжимый набор полномочия.

Транспорт-зависимый.

Недостатки уровня сообщений Безопасность

Безопасность сообщений имеет следующее Недостатки:

Производительность

Невозможно использовать потоковое сообщение.

Требуется реализация уровня XML механизмов безопасности и поддержки Спецификация WS-Security. Это может влияют на интероперабельность.

Ответ 3

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

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

Ответ 4

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