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) ist eine SOAP-nachrichtenbasierte verteilte Programmierplattform, und das Schützen von Nachrichten zwischen Clients und Diensten ist für den Schutz von Daten von wesentlicher Bedeutung. WCF bietet eine vielseitige und interoperable Plattform für den Austausch sicherer Nachrichten basierend auf der vorhandenen Sicherheitsinfrastruktur und den anerkannten Sicherheitsstandards für SOAP-Nachrichten.
WCF verwendet Konzepte, die vertraut sind, wenn Sie sichere, verteilte Anwendungen mit vorhandenen Technologien wie HTTPS, integrierter Windows-Sicherheit oder Benutzernamen und Kennwörtern zur Authentifizierung von Benutzern erstellt haben. WCF lässt sich nicht nur in vorhandene Sicherheitsinfrastrukturen integrieren, sondern erweitert auch verteilte Sicherheit über Windows-Domänen hinaus, indem sichere SOAP-Nachrichten verwendet werden. Betrachten Sie WCF als Implementierung vorhandener Sicherheitsmechanismen mit dem hauptvorteil der Verwendung von SOAP als Protokoll zusätzlich zu vorhandenen Protokollen. Beispielsweise verfügen Anmeldeinformationen, die einen Client oder einen Dienst identifizieren, z. B. Benutzername und Kennwort oder X.509-Zertifikate, über interoperable XML-basierte SOAP-Profile. Mithilfe dieser Profile werden Nachrichten sicher ausgetauscht, indem offene Spezifikationen wie digitale XML-Signaturen und XML-Verschlüsselung genutzt werden. Eine Liste der Spezifikationen finden Sie unter Webdienstprotokolle, die von System-Provided Interoperabilitätsbindungen unterstützt werden.
Eine weitere Parallele ist das Component Object Model (COM) auf der Windows-Plattform, das sichere, verteilte Anwendungen ermöglicht. COM verfügt über einen umfassenden Sicherheitsmechanismus, mit dem der Sicherheitskontext zwischen Komponenten fließen kann; Dieser Mechanismus erzwingt Integrität, Vertraulichkeit und Authentifizierung. COM aktiviert jedoch nicht plattformübergreifendes, sicheres Messaging wie WCF. Mithilfe von WCF können Sie Dienste und Clients erstellen, die sich über Windows-Domänen im gesamten Internet erstrecken. Die interoperablen Nachrichten von WCF sind für die Erstellung dynamischer, geschäftsgesteuerter Dienste unerlässlich, die Ihnen helfen, sich sicher in die Sicherheit Ihrer Informationen zu fühlen.
Sicherheitsvorteile von Windows Communication Foundation
WCF ist eine verteilte Programmierplattform, die auf SOAP-Nachrichten basiert. Mithilfe von WCF können Sie Anwendungen erstellen, die sowohl als Dienste als auch als Dienstclients funktionieren und Nachrichten aus einer unbegrenzten Anzahl anderer Dienste und Clients erstellen und verarbeiten. In einer solchen verteilten Anwendung können Nachrichten von Knoten zu Knoten, über Firewalls, in das Internet und über zahlreiche SOAP-Vermittler fließen. Dies führt zu einer Vielzahl von Sicherheitsbedrohungen für Nachrichten. Die folgenden Beispiele veranschaulichen einige häufige Bedrohungen, die die WCF-Sicherheit beim Austausch von Nachrichten zwischen Entitäten helfen kann zu mindern.
Beobachtung des Netzwerkdatenverkehrs, um vertrauliche Informationen zu erhalten. Beispielsweise fordert ein Kunde in einem Online-Banking-Szenario die Überweisung von Guthaben von einem Konto auf ein anderes an. Ein böswilliger Benutzer fängt die Nachricht ab und führt später mit der Kontonummer und dem Kennwort eine Überweisung von Guthaben aus dem kompromittierten Konto durch.
Nicht autorisierte Entitäten, die ohne Wissen des Clients als Dienste fungieren. In diesem Szenario fungiert ein böswilliger Benutzer (der nicht autorisierte Benutzer) als Onlinedienst und fängt Nachrichten vom Client ab, um vertrauliche Informationen zu erhalten. Dann verwendet der Schurken die gestohlenen Daten, um Geld aus dem kompromittierten Konto zu übertragen. Dieser Angriff ist auch als Phishingangriff bekannt.
Änderung von Nachrichten, damit ein anderes Ergebnis als vom Anrufer beabsichtigt erzielt wird. Wenn Sie beispielsweise die Kontonummer ändern, auf die eine Einzahlung erfolgt, können die Guthaben auf ein nicht autorisiertes Konto gehen.
Durch Hackermanipulation mehrfach ausgeführte Aktionen. Beispielsweise verschickt ein Hacker mehrmals die gleiche Bestellung. Beispielsweise erhält ein Online-Bookstore Hunderte von Bestellungen und sendet die Bücher an einen Kunden, der sie nicht bestellt hat.
Die Unfähigkeit eines Diensts, einen Client zu authentifizieren. In diesem Fall kann der Dienst nicht sicherstellen, dass die entsprechende Person die Transaktion ausgeführt hat.
Zusammenfassend stellt die Übertragungssicherheit die folgenden Garantien bereit:
Dienstendpunkt-Authentifizierung (Empfänger)
Clientprinzipal-Authentifizierung (Initiator)
Nachrichtenintegrität.
Vertraulichkeit der Nachricht.
Wiederholungserkennung
Integration in bestehende Sicherheitsinfrastrukturen
Häufig verfügen Webdienstbereitstellungen über vorhandene Sicherheitslösungen, z. B. Secure Sockets Layer (SSL) oder das Kerberos-Protokoll. Einige nutzen eine Sicherheitsinfrastruktur, die bereits bereitgestellt wurde, z. B. Windows-Domänen mit Active Directory. Es ist oft notwendig, sich in diese vorhandenen Technologien zu integrieren und dabei neuere Technologien zu bewerten und einzuführen.
WCF-Sicherheit ist in vorhandene Transportsicherheitsmodelle integriert und kann vorhandene Infrastruktur für neuere Übertragungssicherheitsmodelle basierend auf SOAP-Nachrichtensicherheit nutzen.
Integration in vorhandene Authentifizierungsmodelle
Ein wichtiger Bestandteil jedes Kommunikationssicherheitsmodells ist die Möglichkeit, Entitäten in der Kommunikation zu identifizieren und zu authentifizieren. Diese Entitäten in der Kommunikation verwenden "digitale Identitäten" oder Anmeldeinformationen, um sich bei den kommunizierenden Peers zu authentifizieren. Da sich verteilte Kommunikationsplattformen weiterentwickelt haben, wurden verschiedene Authentifizierungs- und zugehörige Sicherheitsmodelle implementiert. Beispielsweise ist im Internet die Verwendung eines Benutzernamens und kennworts zur Identifizierung von Benutzern üblich. Im Intranet wird die Verwendung eines Kerberos-Domänencontrollers zum Sichern der Benutzer- und Dienstauthentifizierung immer häufiger. In bestimmten Szenarien, z. B. zwischen zwei Geschäftspartnern, können Zertifikate verwendet werden, um die Partner gegenseitig zu authentifizieren.
In der Welt der Webdienste, in der derselbe Dienst sowohl internen Unternehmenskunden als auch externen Partnern oder Internetkunden bereitgestellt werden kann, ist es wichtig, dass die Infrastruktur die Integration mit diesen vorhandenen Sicherheitsauthentifizierungsmodellen ermöglicht. WCF-Sicherheit unterstützt zahlreiche verschiedene Anmeldeinformationstypen (Authentifizierungsmodelle). Dazu zählen unter anderem folgende:
Anonymer Anrufer.
Benutzername Client-Anmeldeinformationen.
Anmeldeinformationen für Zertifikatclient
Windows (sowohl Kerberos-Protokoll als auch NT LanMan [NTLM]).
Standards und Interoperabilität
In einer Welt mit großen vorhandenen Bereitstellungen ist homogenität selten. Verteilte Computing-/Kommunikationsplattformen müssen mit den verschiedenen Anbietern zusammenarbeiten. Ebenso muss die Sicherheit auch interoperabel sein.
Um interoperable Sicherheitssysteme zu ermöglichen, haben Unternehmen, die in der Webdienstbranche tätig sind, eine Vielzahl von Standards erstellt. Insbesondere hinsichtlich der Sicherheit wurden einige wichtige Standards vorgeschlagen: WS-Security: SOAP Message Security (akzeptiert vom OASIS Standards Body und früher bekannt als WS-Security), WS-Trust, WS-SecureConversation und WS-SecurityPolicy.
WCF unterstützt eine Vielzahl von Interoperabilitätsszenarien. Die BasicHttpBinding Klasse ist auf das Basic Security Profile (BSP) ausgerichtet, und die WSHttpBinding Klasse ist auf die neuesten Sicherheitsstandards ausgerichtet, z. B. WS-Security 1.1 und WS-SecureConversation. Durch die Einhaltung dieser Standards kann die WCF-Sicherheit mit Webdiensten interoperieren und integrieren, die auf anderen Betriebssystemen und Plattformen als Microsoft Windows gehostet werden.
WCF-Sicherheitsfunktionsbereiche
WCF-Sicherheit ist in drei Funktionsbereiche unterteilt: Transportverschlüsselung, Zugriffssteuerung und Überwachung. In den folgenden Abschnitten werden diese Bereiche kurz erläutert und Links zu weiteren Informationen bereitgestellt.
Übertragungssicherheit
Die Übertragungssicherheit umfasst drei wichtige Sicherheitsfunktionen: Integrität, Vertraulichkeit und Authentifizierung. Integrität ist die Möglichkeit, zu erkennen, ob eine Nachricht manipuliert wurde. Vertraulichkeit ist die Möglichkeit, eine Nachricht von anderen Personen als dem vorgesehenen Empfänger unlesbar zu halten; Dies wird durch Kryptografie erreicht. Die Authentifizierung ist die Möglichkeit, eine beanspruchte Identität zu überprüfen. Zusammen tragen diese drei Funktionen dazu bei, sicherzustellen, dass Nachrichten von einem Punkt zu einem anderen sicher ankommen.
Transport- und Nachrichtensicherheitsmodi
Zwei Hauptmechanismen werden verwendet, um die Übertragungssicherheit in WCF zu implementieren: Transportsicherheitsmodus und Nachrichtensicherheitsmodus.
Der Transportsicherheitsmodus verwendet ein Protokoll auf Transportebene, z. B. HTTPS, um die Übertragungssicherheit zu erreichen. Der Transportmodus hat den Vorteil, weit verbreitet zu sein, auf vielen Plattformen verfügbar und weniger rechenintensiv. Es hat jedoch den Nachteil, Nachrichten nur von Punkt zu Punkt zu sichern.
Der Nachrichtensicherheitsmodus verwendet dagegen WS-Security (und andere Spezifikationen), um die Übertragungssicherheit zu implementieren. Da die Nachrichtensicherheit direkt auf die SOAP-Nachrichten angewendet wird und in den SOAP-Umschlägen enthalten ist, hat sie zusammen mit den Anwendungsdaten den Vorteil, dass sie transportprotokollunabhängig ist, erweiterbarer und End-to-End-Sicherheit (im Vergleich zu Punkt-zu-Punkt) gewährleistet; sie hat den Nachteil, mehrfach langsamer als der Transportsicherheitsmodus zu sein, da sie mit der XML-Natur der SOAP-Nachrichten umgehen muss.
Weitere Informationen zu diesen Unterschieden finden Sie unter Sicherstellung von Diensten und Clients.
Ein dritter Sicherheitsmodus verwendet beide vorherigen Modi und bietet Vorteile beider. Dieser Modus heißt TransportWithMessageCredential
. In diesem Modus wird die Nachrichtensicherheit verwendet, um den Client zu authentifizieren, und die Transportsicherheit wird verwendet, um den Server zu authentifizieren sowie die Vertraulichkeit und Integrität der Nachrichten sicherzustellen. Daher ist der TransportWithMessageCredential
-Sicherheitsmodus beinahe so schnell wie der Transportsicherheitsmodus und ermöglicht die Erweiterbarkeit der Clientauthentifizierung auf dieselbe Weise wie die Nachrichtensicherheit. Im Gegensatz zum Nachrichtensicherheitsmodus bietet es jedoch keine vollständige End-to-End-Sicherheit.
Zugriffssteuerung
Die Zugriffssteuerung wird auch als Autorisierung bezeichnet. Die Autorisierung ermöglicht es verschiedenen Benutzern, unterschiedliche Berechtigungen zum Anzeigen von Daten zu haben. Da beispielsweise die Personaldateien eines Unternehmens vertrauliche Mitarbeiterdaten enthalten, dürfen nur Manager Mitarbeiterdaten anzeigen. Darüber hinaus können Manager nur Daten für ihre direkten Berichte anzeigen. In diesem Fall basiert die Zugriffssteuerung sowohl auf der Rolle ("Vorgesetzten") als auch auf der spezifischen Identität des Vorgesetzten (um zu verhindern, dass ein Vorgesetzter die Mitarbeiterdatensätze eines anderen Vorgesetzten betrachtet).
In WCF werden Zugriffssteuerungsfeatures über die Integration in die Common Language Runtime (CLR) PrincipalPermissionAttribute und über eine Reihe von APIs bereitgestellt, die als Identitätsmodell bezeichnet werden. Ausführliche Informationen zur Zugriffssteuerung und anspruchsbasierten Autorisierung finden Sie unter Erweitern der Sicherheit.
Überwachung
Die Überwachung ist die Protokollierung von Sicherheitsereignissen im Windows-Ereignisprotokoll. Sie können sicherheitsbezogene Ereignisse protokollieren, z. B. Authentifizierungsfehler (oder Erfolge). Weitere Informationen finden Sie unter Überwachung. Details zur Programmierung finden Sie unter How to: Audit Security Events.
Siehe auch
- PrincipalPermissionAttribute
- Sichern von Diensten
- Allgemeine Sicherheitsszenarien
- Bindungen und Sicherheit
- Sichern von Diensten und Clients
- Authentifizierung
- Autorisierung
- Föderation und ausgestellte Token
- Überwachung
- Sicherheitsleitfaden und bewährte Methoden
- Konfigurieren von Diensten mit Konfigurationsdateien
- Vom System bereitgestellte Bindungen
- Übersicht zur Erstellung von Endpunkten
- Erweitern der Sicherheit
- Sicherheitsmodell für Windows Server App Fabric