Нужна ли безопасность на транспортном уровне при использовании безопасности на уровне сообщений в WCF? - PullRequest
7 голосов
/ 28 января 2011

Я все еще пытаюсь лучше понять безопасность WCF.

Один вопрос, над которым я не могу разобраться, это ... если используется защита на уровне сообщений, тогда все сообщение можно подписать / зашифровать. Если это так, имеет ли смысл использовать как безопасность на уровне сообщений, так и безопасность на транспортном уровне? Другими словами, если само сообщение защищено, зачем мне использовать что-то вроде HTTPS для безопасности транспорта?

Спасибо.

Ответы [ 3 ]

7 голосов
/ 28 января 2011

HTTPS (SSL, TLS) обеспечивают двухточечную безопасность. Я уже объяснил, что это значит в одном из моих предыдущих ответов .

Термин Безопасность в WCF состоит из 4 компонентов:

  • Аутентификация - учетные данные передаются на сервер для идентификации клиента
  • Авторизация - выборочно определить, какие операции могут выполняться аутентифицированным клиентом
  • Конфиденциальность - шифрование - только ожидаемый получатель может расшифровать сообщение и прочитать конфиденциальные данные
  • Целостность - подпись - ожидаемый получатель может проверить, что сообщение получено от объявленного клиента и оно не было изменено во время передачи

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

0 голосов
/ 28 января 2011

Насколько я помню, при использовании NetMsmqBinding можно использовать только безопасность на транспортном уровне и уровне сообщений.

0 голосов
/ 28 января 2011

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

Важно использовать защиту на транспортном уровне, когда нет сообщений.используется уровень шифрования.Фактически, WCF требует, чтобы вы использовали SSL при использовании незашифрованного текста UsernameToken, например.

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