Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Windows Communication Foundation (WCF) verfügt über zwei hauptmodi für die Bereitstellung von Sicherheit (Transport
und Message
) und einen dritten Modus (TransportWithMessageCredential
), der die beiden kombiniert. In diesem Thema werden die Nachrichtensicherheit und die Gründe für die Verwendung erläutert.
Was ist Nachrichtensicherheit?
Nachrichtensicherheit verwendet die WS-Security Spezifikation zum Sichern von Nachrichten. Die WS-Security Spezifikation beschreibt Verbesserungen an SOAP-Messaging, um Vertraulichkeit, Integrität und Authentifizierung auf SOAP-Nachrichtenebene (anstelle der Transportebene) sicherzustellen.
Kurz gesagt unterscheidet sich die Nachrichtensicherheit von der Transportsicherheit, indem die Sicherheitsanmeldeinformationen und Ansprüche mit jeder Nachricht zusammen mit jedem Nachrichtenschutz (Signieren oder Verschlüsselung) gekapselt werden. Wenn die Sicherheit direkt auf die Nachricht angewendet wird, indem ihr Inhalt geändert wird, kann die gesicherte Nachricht die sicherheitstechnischen Aspekte in sich tragen. Dies ermöglicht einige Szenarien, die bei Verwendung der Transportsicherheit nicht möglich sind.
Gründe für die Verwendung der Nachrichtensicherheit
In der Sicherheit auf Nachrichtenebene werden alle Sicherheitsinformationen in der Nachricht gekapselt. Das Sichern der Nachricht mit Sicherheit auf Nachrichtenebene anstelle der Sicherheit auf Transportebene hat die folgenden Vorteile:
End-to-End-Sicherheit. Transportsicherheit, z. B. SSL (Secure Sockets Layer), sichert nur Nachrichten, wenn die Kommunikation Punkt-zu-Punkt ist. Wenn die Nachricht an einen oder mehrere SOAP-Vermittler (z. B. einen Router) weitergeleitet wird, bevor sie den ultimativen Empfänger erreicht, wird die Nachricht selbst nicht geschützt, sobald ein Vermittler sie aus dem Draht liest. Darüber hinaus sind die Clientauthentifizierungsinformationen nur für den ersten Vermittler verfügbar und müssen, falls nötig, auf außerbandmäßige Weise erneut an den ultimativen Empfänger übertragen werden. Dies gilt auch, wenn die gesamte Route SSL-Verschlüsselung zwischen einzelnen Zwischenstationen verwendet. Da die Nachrichtensicherheit direkt mit der Nachricht funktioniert und den XML-Code darin sichert, bleibt die Sicherheit bei der Nachricht, unabhängig davon, wie viele Zwischenvermittler beteiligt sind, bevor sie den ultimativen Empfänger erreicht. Dies ermöglicht ein echtes End-to-End-Sicherheitsszenario.
Erhöhte Flexibilität. Teile der Nachricht können anstelle der gesamten Nachricht signiert oder verschlüsselt werden. Dies bedeutet, dass Vermittler die Teile der Nachricht anzeigen können, die für sie vorgesehen sind. Wenn der Absender einen Teil der Informationen in der Nachricht für die Vermittler sichtbar machen muss, aber sicherstellen möchte, dass er nicht manipuliert wird, kann er es einfach signieren, aber unverschlüsselt lassen. Da die Signatur Teil der Nachricht ist, kann der ultimative Empfänger überprüfen, ob die Informationen in der Nachricht intakt empfangen wurden. Ein Szenario könnte einen SOAP-Zwischendienst nutzen, der die Nachricht nach dem Wert des Action-Headers weiterleitet. Standardmäßig verschlüsselt WCF den Aktionswert nicht, signiert ihn jedoch, wenn die Nachrichtensicherheit verwendet wird. Daher stehen diese Informationen allen Vermittlern zur Verfügung, aber niemand kann sie ändern.
Unterstützung für mehrere Transporte. Sie können gesicherte Nachrichten über viele verschiedene Transporte senden, z. B. named pipes und TCP, ohne sich auf das Protokoll für die Sicherheit verlassen zu müssen. Bei der Sicherheit auf Transportebene sind alle Sicherheitsinformationen auf eine einzelne bestimmte Transportverbindung ausgerichtet und stehen nicht vom Nachrichteninhalt selbst zur Verfügung. Die Nachrichtensicherheit stellt die Nachricht unabhängig davon sicher, welche Transporte Sie zum Übertragen der Nachricht verwenden, und der Sicherheitskontext wird direkt in die Nachricht eingebettet.
Unterstützung eines umfangreichen Satzes von Anmeldeinformationen und Ansprüchen. Die Nachrichtensicherheit basiert auf der WS-Security Spezifikation, die ein erweiterbares Framework bereitstellt, das jeden Anspruchstyp innerhalb der SOAP-Nachricht übertragen kann. Im Gegensatz zur Transportsicherheit ist der Satz von Authentifizierungsmechanismen oder Ansprüchen, die Sie verwenden können, nicht durch die Transportfunktionen beschränkt. Die WCF-Nachrichtensicherheit umfasst mehrere Arten von Authentifizierung und Anspruchsübertragung und kann erweitert werden, um zusätzliche Typen nach Bedarf zu unterstützen. Aus diesen Gründen ist beispielsweise ein Szenario mit föderierten Anmeldeinformationen ohne Nachrichtensicherheit nicht möglich. Weitere Informationen zu den Verbund-Szenarien, die WCF unterstützt, finden Sie unter Verbund und ausgestellte Tokens.
Vergleich der Nachrichten- und Transportsicherheit
Vor- und Nachteile von Transport-Level Sicherheit
Die Transportsicherheit hat die folgenden Vorteile:
Erfordert nicht, dass die kommunizierenden Parteien sicherheitskonzepte auf XML-Ebene verstehen. Dies kann die Interoperabilität verbessern, z. B. wenn HTTPS zum Sichern der Kommunikation verwendet wird.
Im Allgemeinen wurde die Leistung verbessert.
Hardwarebeschleuniger sind verfügbar.
Streaming ist möglich.
Transportsicherheit hat die folgenden Nachteile:
Nur Hop-to-Hop (übertragungsbasiert).
Beschränkter und nicht erweiterbarer Satz von Anmeldeinformationen.
Transportabhängig.
Nachteile der Message-Level-Sicherheit
Die Nachrichtensicherheit hat die folgenden Nachteile:
Leistung
Nachrichtenstreaming kann nicht verwendet werden.
Erfordert die Implementierung von Sicherheitsmechanismen auf XML-Ebene und Unterstützung für WS-Security Spezifikation. Dies kann sich auf die Interoperabilität auswirken.