Freigeben über


Sichern von Nachrichten mithilfe der Nachrichtensicherheit

In diesem Abschnitt wird die Nachrichtensicherheit von WCF bei der Verwendung von NetMsmqBinding erläutert.

ms789036.note(de-de,VS.100).gifHinweis:
Es wird empfohlen, vor diesem Thema zuerst Begriffe der Sicherheit zu lesen.

Die folgende Abbildung zeigt ein Modell einer Kommunikation unter Verwendung von Warteschlangen in WCF. Anhand dieser Abbildung und der Terminologie werden

die Konzepte der Transportsicherheit erläutert.

In die Warteschlange gestelltes Anwendungsdiagramm

Wenn Sie Nachrichten in einer Warteschlange in WCF senden, wird die WCF-Nachricht als Textkörper der MSMQ-Nachricht (Message Queuing) angefügt. Mit der Transportsicherheit wird die gesamte MSMQ-Nachricht gesichert, mit der Nachrichtensicherheit (oder SOAP-Sicherheit) hingegen wird nur der Textkörper der MSMQ-Nachricht gesichert.

Das Kernkonzept der Nachrichtensicherheit besteht darin, dass der Client die Nachricht für die empfangende Anwendung (Dienst) sichert. Im Gegensatz dazu sichert der Client bei der Transportsicherheit die Nachricht für die Zielwarteschlange. Folglich spielt MSMQ keine aktive Rolle, wenn die WCF-Nachricht mit der Nachrichtensicherheit gesichert wird.

Mit der WCF-Nachrichtensicherheit werden der WCF-Nachricht Sicherheitsheader hinzugefügt, die sich in vorhandene Sicherheitsinfrastrukuren integrieren lassen, wie z. B. ein Zertifikat oder das Kerberos-Protokoll.

Anmeldeinformationstypen für Nachrichten

Bei der Verwendung der Nachrichtensicherheit können der Dienst und der Client Anmeldeinformationen bereitstellen, um sich gegenseitig zu authentifizieren. Sie können die Nachrichtensicherheit auswählen, indem Sie den Security-Modus auf Message oder Both (d. h. Transport- und Nachrichtensicherheit werden verwendet) festlegen.

Der Dienst kann anhand der Current-Eigenschaft die Anmeldeinformationen überprüfen, mit denen der Client authentifiziert wird. Damit können weitere Autorisierungsüberprüfungen vorgenommen werden, die der Dienst zur Implementierung auswählen kann.

Dieser Abschnitt erklärt die verschiedenen Anmeldeinformationstypen und ihre Verwendung mit Warteschlangen.

Zertifikat (Certificate)

Der Zertifikat-Anmeldeinformationstyp identifiziert mit einem X.509-Zertifikat den Dienst und den Client.

In einem typischen Szenario stellt eine vertrauenswürdige Zertifizierungsstelle dem Client und dem Dienst ein gültiges Zertifikat aus. Dann wird die Verbindung hergestellt, und der Client authentifiziert die Gültigkeit des Dienstes, indem er anhand des Zertifikat des Dienstes entscheidet, ob der Dienst vertrauenswürdig ist. Entsprechend verwendet der Dienst das Zertifikat des Clients, um dessen Vertrauenswürdigkeit zu überprüfen.

Da im Fall von Warteschlangen nicht immer eine Verbindung hergestellt ist, sind der Client und der Dienst möglicherweise nicht zur selben Zeit online. Daher müssen der Client und der Dienst Zertifikate out-of-band austauschen. Insbesondere der Client, bei dem sich das Dienstzertifikat (das mit einer Zertifizierungsstelle verkettet sein kann) im vertrauenswürdigen Speicher befindet, muss verlässlich mit dem richtigen Dienst kommunizieren. Zur Authentifizierung des Clients gleicht der Dienst das X.509-Zertifikat, das an die Nachricht angehängt ist, mit dem Zertifikat in seinem Speicher ab, um die Echtzeit des Clients zu überprüfen. Auch hier muss das Zertifikat mit einer Zertifizierungsstelle verkettet sein.

Auf einem Computer unter Windows befinden sich die Zertifikate in verschiedenen Arten von Speichern. Weitere Informationen über zu den verschiedenen Speichern finden Sie unter Zertifikatspeicher (möglicherweise in englischer Sprache).

Windows

Der Windows-Anmeldeinformationstyp für Nachrichten verwendet das Kerberos-Protokoll.

Das Kerberos-Protokoll ist ein Sicherheitsmechanismus, der Benutzer in einer Domäne authentifiziert und den authentifizierten Benutzern das Erstellen sicherer Kontexte mit anderen Entitäten einer Domäne ermöglicht.

Die Verwendung des Kerberos-Protokolls für die Kommunikation unter Verwendung von Warteschlangen ist problematisch, insofern als die vom Schlüsselverteilungscenter verteilten Tickets mit der Clientidentität relativ kurzlebig sind. Dem Kerberos-Ticket wird eine Lebensdauer zugeordnet, die die Gültigkeit des Tickets angibt. Bei einer hohen Latenz können Sie somit nicht sicher sein, ob das Token noch für den Dienst gültig ist, der den Client authentifiziert.

Wenn dieser Anmeldeinformationstyp verwendet wird, muss der Dienst unter dem SERVICE-Konto ausgeführt werden.

Das Kerberos-Protokoll wird standardmäßig bei der Auswahl von Nachrichtenanmeldeinformationen verwendet. Weitere Informationen finden Sie unter Untersuchen von Kerberos, dem Protokoll für verteilte Sicherheit unter Windows 2000 (möglicherweise in englischer Sprache).

Benutzernamenkennwort (Username Password)

Mit dieser Eigenschaft kann sich der Client beim Server durch Angabe eines Benutzernamenkennworts im Sicherheitsheader der Nachricht authentifizieren.

IssuedToken

Der Client kann den Sicherheitstokendienst zum Ausstellen eines Tokens verwenden. Dieses Token kann dann der Nachricht angefügt werden, um den Client für den Dienst zu identifizieren.

Verwenden der Transport- und der Nachrichtensicherheit

Wenn die Transportsicherheit und die Nachrichtensicherheit verwendet werden, muss das auf der Transportebene zum Sichern der Nachricht verwendete Zertifikat mit dem auf der SOAP-Nachrichtenebene verwendeten Zertifikat identisch sein.

Siehe auch

Aufgaben

Nachrichtensicherheit über Message Queuing

Konzepte

Sichern von Nachrichten mit Transportsicherheit

Weitere Ressourcen

Begriffe der Sicherheit
Sichern von Diensten und Clients