2015-01-28 5 views
2

Я хотел бы знать разницу между TransportWithMessageCredential Vs Message с точки зрения безопасности WCF.WCF Security: разница между TransportWithMessageCredential и режимом безопасности сообщений

То, что я знаю:

Транспортная безопасность: Используется для обеспечения точка-точка безопасности между двумя конечными точками.

Безопасность сообщений: Обеспечивает сквозную защиту. Потому что защита сообщений напрямую шифрует и подписывает сообщение, поскольку посредники не нарушают безопасность.

Если мы используем режим TransportWithMessageCredential, является ли сообщение SOAP (заголовок и тело) зашифрованным?

Я обеспокоен тем, что хочу, чтобы данные приложения были зашифрованы между сервером WCF и клиентом WinForms.

+0

Возможный дубликат [WCF Transport vs Message] (http://stackoverflow.com/questions/5673283/wcf-transport-vs-message) –

+0

Я не думаю, что его дубликат. Мне нужно знать разные сообщения TransportWithMessageCredentials Vs. Тот, к которому вы обращаетесь, - Transport vs Message. –

+0

Что мне нужно знать, если мы используем режим TransportWithMessageCredentials, зашифровано ли сообщение SOAP (заголовок и тело)? Меня беспокоит, что я хочу, чтобы данные приложения были зашифрованы между сервером WCF и клиентом формы Windows. –

ответ

7

Если мы используем режим TransportWithMessageCredentials, будет ли зашифровано сообщение SOAP (Header and Body)?

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

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

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

Update Per Комментарии

вы сказали, «Когда сообщение SOAP оставляет клиент для службы он зашифрован» Затем он должен быть конец -end безопасности. Почему это только точка -в -точка.

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

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

Могу ли я заключить TransportWithMessageCredential обеспечить точку безопасности -в точку и сообщение безопасности Уровень обеспечения впритык безопасности. то почему Руководство по безопасности WCF предлагает использовать TransportWithMessageCredential с UserName Когда мы используем WCF с клиентом формы Windows в Интернете.

Да, это правильно. Безопасность TransportWithMessageCredential обеспечивает двухточечную и Message безопасность обеспечивает сквозную защиту. Руководство по безопасности WCF предлагает установить учетные данные клиента на UserName, поскольку это будет использоваться для аутентификации клиента. В случае UserName у нас есть пара слов пользователя и пароля, которые помещаются непосредственно в сообщение SOAP. Если клиент не предоставляет какие-то учетные данные, такие как UserName или Certificate, чтобы пройти аутентификацию для службы, у вас будет анонимный клиент. Анонимный клиент означает, что любой пользователь может получить доступ к вашему сервису, поскольку клиент не проходит проверку подлинности.

Если тело сообщения не шифруются с TransportWithMessageCredential то почему Microsoft говорит TransportWithMessageCredential является сочетание обоих транспорта и сообщений безопасности

Как мой оригинальный ответ: Сообщения SOAP шифруются и подписываются транспортный слой (например, HTTPS). TransportWithMessageCredential представляет собой комбинацию безопасности транспорта и сообщений, так как безопасность транспорта шифрует и подписывает сообщения, а также аутентифицирует службу для клиента, а безопасность сообщения используется для аутентификации клиента в службе.

+0

вы сказали: «Когда сообщение SOAP покидает клиент для службы, оно зашифровывается». Тогда он должен быть защищен от конечной точки. Почему это только точка-точка. –

+0

Могу ли я заключить, что TransportWithMessageCredential обеспечивает точку безопасности для точки и message Безопасность уровня безопасности обеспечивает сквозную безопасность, а затем Почему руководство по безопасности WCF предлагает использовать TransportWithMessageCredential с UserName. Когда мы используем WCF с клиентом формы Windows в Интернете. –

+0

У меня есть клиент (приложение для формы Win), которое будет подключать WCF через Я хочу, чтобы мое клиентское сообщение SOAP было зашифровано и отправлено в Servre, чтобы никто не мог помешать моим данным приложения в теле сообщения SOAP. –