Übersicht über die SicherheitSecurity Overview

Windows Communication Foundation (WCF) ist eine SOAP-Nachrichten basierende verteilte Programmierplattform, und Sichern von Nachrichten zwischen Clients und Diensten ist wichtig, den Schutz von Daten.Windows Communication Foundation (WCF) is a SOAP message-based distributed programming platform, and securing messages between clients and services is essential to protecting data. WCF bietet eine vielseitige und interoperable Plattform für den Austausch sicherer Nachrichten auf Grundlage der vorhandenen Sicherheitsinfrastruktur und der anerkannten Sicherheitsstandards für SOAP-Nachrichten.WCF provides a versatile and interoperable platform for exchanging secure messages based upon both the existing security infrastructure and the recognized security standards for SOAP messages.

Hinweis

Ein umfassendes Handbuch zu WCF-Sicherheit, finden Sie unter WCF Security Guidance.For a comprehensive guide to WCF security, see WCF Security Guidance.

WCF verwendet Konzepte sind bekannt, wenn Sie sichere, verteilte Anwendungen mit vorhandenen Technologien wie HTTPS, Windows erstellt haben integrierte Sicherheit oder Benutzernamen und Kennwörter zur Authentifizierung von Benutzern.WCF uses concepts that are familiar if you have built secure, distributed applications with existing technologies such as HTTPS, Windows integrated security, or user names and passwords to authenticate users. WCF nicht nur in vorhandene Sicherheitsinfrastrukturen integriert, sondern auch verteilte Sicherheit über nur-Windows-Domänen erweitert, mithilfe von sicheren SOAP-Nachrichten.WCF not only integrates with existing security infrastructures, but also extends distributed security beyond Windows-only domains by using secure SOAP messages. Betrachten Sie WCF eine Implementierung vorhandener Sicherheitsmechanismen mit dem großen Vorteil der Verwendung von SOAP als zusätzliches Protokoll.Consider WCF an implementation of existing security mechanisms with the major advantage of using SOAP as the protocol in addition to existing protocols. Beispielsweise verfügen Anmeldeinformationen zur Identifizierung eines Clients oder Diensts, wie Benutzername, Kennwort oder X.509-Zertifikate, über interoperable XML-basierte SOAP-Profile.For example, credentials that identify a client or a service, such as user name and password or X.509 certificates, have interoperable XML-based SOAP profiles. Mithilfe dieser Profile werden Nachrichten durch Nutzen offener Spezifikationen wie digitalen XML-Signaturen und XML-Verschlüsselung sicher ausgetauscht.Using these profiles, messages are exchanged securely by taking advantage of open specifications like XML digital signatures and XML encryption. Eine Liste der Spezifikationen, finden Sie unter unterstützte Webdienstprotokolle vom sicherheitsbindungsarten Interoperabilitätsbindungen.For a list of specifications, see Web Services Protocols Supported by System-Provided Interoperability Bindings.

Eine andere Parallele ist das Component Object Model (COM) auf der Windows-Plattform, mit dem sichere verteilte Anwendungen aktiviert werden.Another parallel is the Component Object Model (COM) on the Windows platform, which enables secure, distributed applications. COM besitzt einen komplexen Sicherheitsmechanismus, in dem der Sicherheitskontext zwischen Komponenten übergehen kann; dieser Mechanismus gewährleistet Integrität, Vertraulichkeit und Authentifizierung.COM has a comprehensive security mechanism whereby security context can be flowed between components; this mechanism enforces integrity, confidentiality, and authentication. COM aktiviert jedoch nicht über Plattformen hinweg, sichere wie WCF-messaging.However COM does not enable cross-platform, secure messaging like WCF does. Verwenden von WCF, können Sie die Dienste und Clients, die von Windows-Domänen über das Internet erstrecken erstellen.Using WCF, you can build services and clients that span from Windows domains across the Internet. Die interoperablen Nachrichten von WCF sind unverzichtbar für die Erstellung dynamischer, unternehmensorientierter Dienste, die Ihnen helfen gerne die Sicherheit Ihrer persönlichen Informationen sicher.The interoperable messages of WCF are essential for building dynamic, business-driven services that help you feel confident in the security of your information.

Vorzüge der Windows Communication Foundation-SicherheitWindows Communication Foundation Security Benefits

WCF ist eine verteilte Programmierplattform basierend auf SOAP-Nachrichten.WCF is a distributed programming platform based on SOAP messages. Verwenden von WCF, können Sie Anwendungen diese Funktion sowohl Dienste als auch Service, erstellen und Verarbeiten von Nachrichten von einer unbegrenzten Zahl anderer Dienste und Clients erstellen.Using WCF, you can create applications that function as both services and service clients, creating and processing messages from an unlimited number of other services and clients. In einer derartigen verteilten Anwendung können Nachrichten zwischen Knoten, durch Firewalls, im Internet und durch zahlreiche SOAP-Vermittler fließen.In such a distributed application, messages can flow from node to node, through firewalls, onto the Internet, and through numerous SOAP intermediaries. Dies führt zu einer Vielzahl von Nachrichtensicherheitsrisiken.This introduces a variety of message security threats. Die folgenden Beispiele veranschaulichen einige häufigen Bedrohungen, die WCF-Sicherheit verringern kann, wenn Sie Nachrichten zwischen Entitäten austauschen:The following examples illustrate some common threats that WCF security can help mitigate when exchanging messages between entities:

  • Beobachtung des Netzwerkverkehrs zum Erhalt vertraulicher Informationen.Observation of network traffic to obtain sensitive information. In einem Onlinebanking-Szenario fordert ein Client die Übertragung von Geldmitteln von einem Konto zu einem anderen an.For example, in an online-banking scenario, a client requests the transfer of funds from one account to another. Ein böswilliger Benutzer fängt die Nachricht ab und gelangt dadurch in den Besitz der Kontonummer und des Kennworts. Später überträgt er vom kompromittierten Konto Geldmittel.A malicious user intercepts the message and, having the account number and password, later performs a transfer of funds from the compromised account.

  • Nicht autorisierte Entitäten, die ohne Wissen des Clients als Dienste fungieren.Rogue entities acting as services without awareness of the client. In diesem Szenario fungiert ein böswilliger Benutzer (die nicht autorisierte Person) als Onlinedienst und fängt Nachrichten vom Client ab, um an vertrauliche Informationen zu gelangen.In this scenario, a malicious user (the rogue) acts as an online service and intercepts messages from the client to obtain sensitive information. Dann verwendet der böswillige Benutzer die gestohlenen Daten, um Geldmittel vom kompromittierten Konto zu übertragen.Then the rogue uses the stolen data to transfer funds from the compromised account. Dieser Angriff wird auch bezeichnet eine Phishing-Attacke.This attack is also known a phishing attack.

  • Vom Aufrufenden nicht beabsichtigte Ergebnisse aufgrund von Nachrichtenänderung.Alteration of messages to obtain a different result than the caller intended. Beispielsweise ermöglicht die Änderung der Nummer eines Kontos, auf das ein Betrag eingezahlt wird, die Übertragung der Geldmittel auf ein nicht autorisiertes Konto.For example, altering the account number to which a deposit is made allows the funds to go to a rogue account.

  • Durch Hackermanipulation mehrfach ausgeführte Aktionen. Beispielsweise verschickt ein Hacker mehrmals die gleiche Bestellung.Hacker replays in which a nuisance hacker replays the same purchase order. Beispielsweise erhält ein Onlinebuchladen Hunderte von Bestellungen und schickt die Bücher an einen Kunden, der diese Bücher nicht bestellt hat.For example, an online bookstore receives hundreds of orders and sends the books to a customer who has not ordered them.

  • Unmöglichkeit einer Clientauthentifizierung durch einen Dienst.Inability of a service to authenticate a client. In diesem Fall kann der Dienst nicht gewährleisten, dass die Transaktion von der richtigen Person ausgeführt wurde.In this case, the service cannot assure that the appropriate person performed the transaction.

Zusammenfassung: Übertragungssicherheit bietet folgende Gewährleistungen:In summary, transfer security provides the following assurances:

  • Dienstendpunkt-Authentifizierung (Empfänger)Service endpoint (respondent) authentication.

  • Clientprinzipal-Authentifizierung (Initiator)Client principal (initiator) authentication.

  • NachrichtenintegritätMessage integrity.

  • NachrichtenvertraulichkeitMessage confidentiality.

  • WiederholungserkennungReplay detection.

Integration in vorhandene SicherheitsinfrastrukturenIntegration with Existing Security Infrastructures

Oftmals verfügen Webdienstbereitstellungen bereits über Sicherheitslösungen, beispielsweise Secure Sockets Layer (SSL) oder das Kerberos-Protokoll.Often, Web service deployments have existing security solutions in place, for example, Secure Sockets Layer (SSL) or the Kerberos protocol. Einige nutzen eine bereits zur Verfügung stehende Sicherheitsinfrastruktur; so verwenden Windows-Domänen beispielsweise Active Directory.Some take advantage of a security infrastructure that has already been deployed, such as Windows domains using Active Directory. Häufig ist eine Integration in diese vorhandenen Technologien erforderlich, während neuere Technologien bewertet und übernommen werden müssen.It is often necessary to integrate with these existing technologies while evaluating and adopting newer ones.

WCF-Sicherheit mit vorhandenen Transport Sicherheitsmodelle integriert und kann vorhandene Infrastrukturen für neuere übertragungssicherheitsmodelle basierend auf SOAP-nachrichtensicherheit nutzen.WCF security integrates with existing transport security models and can leverage existing infrastructure for newer transfer security models based on SOAP message security.

Integration in vorhandene AuthentifizierungsmodelleIntegration with Existing Authentication Models

Ein wichtiger Bestandteil jedes Kommunikationssicherheitsmodells ist die Fähigkeit zur Identifizierung und Authentifizierung von Entitäten in der Kommunikation.An important part of any communication security model is the ability to identify and authenticate entities in communication. Diese Entitäten in der Kommunikation verwenden "digitale Identitäten" oder Anmeldeinformationen, um sich bei den kommunizierenden Peers zu authentifizieren.These entities in communication use "digital identities," or credentials, to authenticate themselves with the communicating peers. Im Zuge der Entwicklung verteilter Kommunikationsplattformen wurden verschiedene Modelle für Anmeldeinformations-Authentifizierung und verwandte Sicherheitsmodelle implementiert.As distributed communication platforms evolved, various credential authentication and related security models have been implemented. Beispielsweise ist das Angeben eines Benutzernamens und Kennworts eine weit verbreitete Methode zur Identifizierung von Benutzern im Internet.For example, on the Internet, the use of a user name and password to identify users is common. In Intranets setzt sich die Verwendung eines Kerberos-Domänencontrollers zur Sicherung von Benutzer- und Dienstauthentifizierung durch.On the intranet, the use of a Kerberos domain controller to back up user and service authentication is becoming common. In bestimmten Szenarien, wie beim Kontakt zweier Geschäftspartner, können Zertifikate zur gegenseitigen Authentifizierung verwendet werden.In certain scenarios, such as between two business partners, certificates may be used to mutually authenticate the partners.

Im Bereich der Webdienste, in denen derselbe Dienst unter Umständen sowohl internen Unternehmenskunden als auch externen Partnern oder Internetkunden zur Verfügung steht, ist es wichtig, dass die Infrastruktur eine Integration in diese vorhandenen Sicherheitsauthentifizierungsmodelle ermöglicht.Thus, in the world of Web services, where the same service might be exposed to internal corporate customers as well as to external partners or Internet customers, it is important that the infrastructure provide for integration with these existing security authentication models. WCF-Sicherheit unterstützt eine Vielzahl von Anmeldeinformationstypen (Authentifizierungsmodelle), einschließlich:WCF security supports a wide variety of credential types (authentication models) including:

  • Anonymer AufruferAnonymous caller.

  • Anmeldeinformationen für BenutzernamenclientUser name client credential.

  • Anmeldeinformationen für ZertifikatclientCertificate client credential.

  • Windows (sowohl Kerberos-Protokoll als auch NT LanMan [NTLM]).Windows (both Kerberos protocol and NT LanMan [NTLM]).

Standards und InteroperabilitätStandards and Interoperability

In einer Welt mit umfangreichen vorhandenen Bereitstellungen ist Homogenität selten.In a world with large existing deployments, homogeneity is rare. Zwischen verteilten Berechnungs-/Kommunikationsplattformen und den Technologien anderer Anbieter müssen Interaktionen möglich sein.Distributed computing/communications platforms need to interoperate with the technologies different vendors offer. Ebenso muss auch Sicherheit interoperabel sein.Likewise, security must also be interoperable.

Um interoperable Sicherheitssysteme verwenden zu können, haben Unternehmen aus der Webdienstbranche verschiedene Standards entwickelt.To enable interoperable security systems, companies active in the Web services industry have authored a variety of standards. Insbesondere im Hinblick auf Sicherheitsfragen wurden einige wichtige Standards eingeführt: WS-Sicherheit: SOAP-Nachrichtensicherheit (akzeptiert vom OASIS-Standardausschuss, früher als WS-Sicherheit bezeichnet), WS-Trust, WS-SecureConversation und WS-SecurityPolicy.Specifically regarding security, a few notable standards have been proposed: WS-Security: SOAP Message Security (accepted by the OASIS standards body and formerly known as WS-Security), WS-Trust, WS-SecureConversation, and WS-SecurityPolicy.

WCF unterstützt eine Vielzahl von Interoperabilitätsszenarien.WCF supports a wide variety of interoperability scenarios. Die BasicHttpBinding-Klasse bezieht sich auf das Basic Security Profile (BSP), und die WSHttpBinding-Klasse bezieht sich auf die aktuellen Sicherheitsstandards (zum Beispiel WS-Security 1.1 und WS-SecureConversation).The BasicHttpBinding class is targeted at the Basic Security Profile (BSP) and the WSHttpBinding class is targeted at the latest security standards, such as WS-Security 1.1 and WS-SecureConversation. Durch Einhalten dieser Standards, WCF-Sicherheit interagieren und darin integriert mit Webdiensten, die auf Betriebssystemen und Plattformen als Microsoft Windows gehostet werden.By adhering to these standards, WCF security can interoperate and integrate with Web services that are hosted on operating systems and platforms other than Microsoft Windows.

WCF-Sicherheit – FunktionsbereicheWCF Security Functional Areas

WCF-Sicherheit ist in drei Funktionsbereiche unterteilt: übertragungssicherheit, Zugriffssteuerung und Überwachung.WCF security is divided into three functional areas: transfer security, access control, and auditing. In den folgenden Abschnitten finden Sie eine kurze Erläuterung dieser Bereiche und Links auf weitere Informationen.The following sections briefly discuss these areas and provide links for more information.

ÜbertragungssicherheitTransfer Security

Übertragungssicherheit umfasst drei Hauptsicherheitsfunktionen: Integrität, Vertraulichkeit und Authentifizierung.Transfer security encompasses three major security functions: integrity, confidentiality, and authentication. Integrität ist die Fähigkeit, erkennen, ob eine Nachricht manipuliert wurde.Integrity is the ability to detect whether a message has been tampered with. Vertraulichkeit ist die Fähigkeit, eine Nachricht nur für den beabsichtigten Empfänger; lesbar Dies wird durch Kryptografie erreicht.Confidentiality is the ability to keep a message unreadable by anyone other than the intended recipient; this is achieved through cryptography. Authentifizierung ist die Fähigkeit, eine beanspruchte Identität zu überprüfen.Authentication is the ability to verify a claimed identity. Durch die Kombination dieser drei Funktionen wird sichergestellt, dass Nachrichten sicher zwischen verschiedenen Punkten übertragen werden.Together, these three functions help to ensure that messages securely arrive from one point to another.

Transport- und NachrichtensicherheitsmodiTransport and Message Security Modes

Hauptsächlich zwei Mechanismen zum Implementieren von übertragungssicherheit in WCF verwendet werden: Transport Sicherheitsmodus und Nachricht Sicherheitsmodus.Two main mechanisms are used to implement transfer security in WCF: transport security mode and message security mode.

  • Sicherheitsmodus "Transport" verwendet ein Protokoll auf Transportebene wie HTTPS, um übertragungssicherheit zu erreichen.Transport security mode uses a transport-level protocol, such as HTTPS, to achieve transfer security. Der Transportmodus besitzt den Vorteil seiner großen Verbreitung, der Verfügbarkeit auf zahlreichen Plattformen und seiner geringeren rechnerischen Komplexität.Transport mode has the advantage of being widely adopted, available on many platforms, and less computationally complex. Der Modus besitzt jedoch den Nachteil, dass Nachrichten nur von Punkt zu Punkt (Point-to-Point) gesichert werden.However, it has the disadvantage of securing messages only from point-to-point.

  • Nachrichtensicherheitsmodus, auf der anderen Seite, WS-Security-verwendet (und andere Spezifikationen) zum Implementieren von übertragungssicherheit.Message security mode, on the other hand, uses WS-Security (and other specifications) to implement transfer security. Da die Nachrichtensicherheit direkt für die SOAP-Nachrichten übernommen wird und zusammen mit den Anwendungsdaten in den SOAP-Umschlägen enthalten ist, besitzt sie den Vorteil der Unabhängigkeit von Transportprotokollen, der größeren Erweiterbarkeit und der Gewährleistung von End-to-End-Sicherheit (im Vergleich zu Point-to-Point); der Modus hat den Nachteil deutlich langsamer als der Transportsicherheitsmodus zu sein, da das XML-Format der SOAP-Nachrichten verarbeitet werden muss.Because the message security is applied directly to the SOAP messages and is contained inside the SOAP envelopes, together with the application data, it has the advantage of being transport protocol-independent, more extensible, and ensuring end-to-end security (versus point-to-point); it has the disadvantage of being several times slower than transport security mode because it has to deal with the XML nature of the SOAP messages.

Weitere Informationen zu diesen Unterschieden finden Sie unter Sichern von Diensten und Clients.For more information about these differences, see Securing Services and Clients.

Ein dritter Sicherheitsmodus verwendet beide zuvor beschriebenen Modi und vereint deren Vorteile.A third security mode uses both previous modes and brings advantages of both. Dieser Modus wird als TransportWithMessageCredential bezeichnet.This mode is called TransportWithMessageCredential. In diesem Modus wird die Nachrichtensicherheit zum Authentifizieren des Clients verwendet, wohingegen die Transportsicherheit zum Authentifizieren des Servers und zum Sicherstellen von Nachrichtenvertraulichkeit und -integrität dient.In this mode, message security is used to authenticate the client and transport security is used to authenticate the server and provide message confidentiality and integrity. Daher ist der TransportWithMessageCredential-Sicherheitsmodus beinahe so schnell wie der Transportsicherheitsmodus und ermöglicht die Erweiterbarkeit der Clientauthentifizierung auf dieselbe Weise wie die Nachrichtensicherheit.Thanks to this, the TransportWithMessageCredential security mode is almost as fast as transport security mode and provides client authentication extensibility in the same way as message security. Im Gegensatz zum Nachrichtensicherheitsmodus bietet dieser Modus keine vollständige End-to-End-Sicherheit.However, unlike message security mode, it does not provide complete end-to-end security.

ZugriffssteuerungAccess Control

Steuerung des Zugriffs ist auch bekannt als Autorisierung.Access control is also known as authorization. Autorisierung können verschiedenen Benutzern unterschiedliche Rechte zum Anzeigen der Daten haben.Authorization allows different users to have different privileges to view data. Da die Dateien der Personalabteilung eines Unternehmens vertrauliche Mitarbeiterdaten enthalten, sind nur Abteilungsleiter zum Einsehen der Mitarbeiterdaten berechtigt.For example, because a company's human resources files contain sensitive employee data, only managers are allowed to view employee data. Zudem können Ableitungsleiter nur Daten für ihre direkten Berichte anzeigen.Further, managers can view only data for their direct reports. In diesem Fall basiert die Zugriffssteuerung sowohl auf der Rolle ("Abteilungsleiter") als auch auf der speziellen Identität des Abteilungsleiters (dadurch wird ein anderer Abteilungsleiter an der Einsicht in die Unterlagen eines Mitarbeiters gehindert).In this case, access control is based on both the role ("manager") as well as the specific identity of the manager (to prevent one manager from looking at another manager's employee records).

In WCF Zugriffssteuerungsfunktionen durch Integration in die common Language Runtime (CLR) bereitgestellt werden PrincipalPermissionAttribute und durch einen Satz von APIs, die als bezeichnet den Identitätsmodell.In WCF, access control features are provided through integration with the common language runtime (CLR) PrincipalPermissionAttribute and through a set of APIs known as the identity model. Weitere Informationen zu Access Control und anspruchsbasierte Autorisierung, finden Sie unter Erweitern der Sicherheit.For details about access control and claims-based authorization, see Extending Security.

ÜberwachungAuditing

Überwachung ist die Protokollierung von Sicherheitsereignissen in das Windows-Ereignisprotokoll.Auditing is the logging of security events to the Windows event log. Sie können sicherheitsbezogene Ereignisse protokollieren, z. B. Authentifizierungsfehler (oder erfolgreiche Authentifizierungen).You can log security-related events, such as authentication failures (or successes). Weitere Informationen finden Sie unter Überwachung.For more information, see Auditing. Programmierdetails, finden Sie unter Vorgehensweise: Überwachen von Sicherheitsereignissen.For programming details, see How to: Audit Security Events.

Siehe auchSee Also

PrincipalPermissionAttribute
Sichern von DienstenSecuring Services
Häufige SicherheitsszenarienCommon Security Scenarios
Bindungen und SicherheitBindings and Security
Sichern von Diensten und ClientsSecuring Services and Clients
AuthentifizierungAuthentication
AutorisierungAuthorization
Verbund und ausgestellte TokenFederation and Issued Tokens
ÜberwachungAuditing
Sicherheitsleitfaden und bewährte MethodenSecurity Guidance and Best Practices
Konfigurieren von Diensten mit KonfigurationsdateienConfiguring Services Using Configuration Files
Vom System bereitgestellte BindungenSystem-Provided Bindings
Übersicht über die EndpunkterstellungEndpoint Creation Overview
Erweitern der SicherheitExtending Security
Sicherheitsmodell für Windows Server AppFabricSecurity Model for Windows Server App Fabric