Winsock Secure Socket-Erweiterungen
Die Secure Socket-Erweiterungen für Winsock ermöglichen es einer Socketanwendung, die Sicherheit ihres Datenverkehrs über ein Netzwerk zu steuern. Diese Erweiterungen ermöglichen es einer Anwendung, Sicherheitsrichtlinien und -anforderungen für ihren Netzwerkdatenverkehr bereitzustellen und die angewendeten Sicherheitseinstellungen abzufragen. Beispielsweise kann eine Anwendung diese Erweiterungen verwenden, um das Peersicherheitstoken abzufragen, das zum Durchführen von Zugriffsprüfungen auf Anwendungsebene verwendet werden kann.
Die Secure Socket-Erweiterungen sollen die von IPsec und anderen Sicherheitsprotokollen bereitgestellten Dienste in das Winsock-Framework integrieren. Vor Windows Vista unter Windows Server 2003 und Windows XP wurde IPsec von einem Administrator über lokale Richtlinien und Domänenrichtlinien konfiguriert. Unter Windows Vista ermöglichen die Secure Socket-Erweiterungen stattdessen Anwendungen, die Sicherheit ihres Netzwerkdatenverkehrs auf Socketebene ganz oder teilweise zu konfigurieren und zu steuern.
Anwendungen können den Netzwerkdatenverkehr bereits schützen, indem sie öffentliche APIs wie iPsec-Verwaltung, Windows-Filterplattform und Security Support Provider Interface (SSPI) verwenden. Die Verwendung dieser APIs kann jedoch die Entwicklung der Anwendung erschweren und die Konfiguration und Bereitstellung erschweren. Die Winsock-Erweiterungen für sichere Sockets wurden entwickelt, um die Entwicklung von Netzwerkanwendungen zu vereinfachen, die sicheren Netzwerkdatenverkehr erfordern, indem Winsock den größten Teil der Komplexität verarbeiten lässt.
Diese Secure Socket-Erweiterungen sind unter Windows Vista und höher verfügbar.
Secure Socket Functions
Die Secure Socket-Erweiterungsfunktionen sind wie folgt:
- WSADeleteSocketPeerTargetName
- WSAImpersonateSocketPeer
- WSAQuerySocketSecurity
- WSARevertImpersonation
- WSASetSocketPeerTargetName
- WSASetSocketSecurity
Hinweis
Die Secure Socket-Funktionen unterstützen derzeit nur das IPsec-Protokoll und sind unter Windows Vista und höher verfügbar.
Die von den Secure Socket-Funktionen verwendeten Strukturen und Enumerationen sind wie folgt:
- SOCKET_PEER_TARGET_NAME
- SOCKET_SECURITY_PROTOCOL
- SOCKET_SECURITY_QUERY_INFO
- SOCKET_SECURITY_QUERY_TEMPLATE
- SOCKET_SECURITY_SETTINGS
- SOCKET_SECURITY_SETTINGS_IPSEC
Die Secure Socket-Funktionen sind für normale Anwendungen einfach zu verwenden und flexibel genug für Anwendungen, die ein hohes Maß an Kontrolle über ihre Sicherheit benötigen. Diese Funktionen ermöglichen es, den zugrunde liegenden Sicherheitsmechanismus vor der Anwendung verborgen zu halten. Eine Anwendung kann generische Sicherheitsanforderungen angeben und dem Administrator die Steuerung des Sicherheitsprotokolls ermöglichen, das zur Unterstützung der Anforderungen verwendet wird. Während es möglich ist, diese Funktionen zu erweitern, um andere Sicherheitsprotokolle hinzuzufügen, ist derzeit nur IPsec in die Secure Socket-Funktionen integriert.
Mit der WSASetSocketSecurity-Funktion kann eine Anwendung die Sicherheit aktivieren und Sicherheitseinstellungen anwenden, bevor eine Verbindung hergestellt wird.
Mit der WSASetSocketPeerTargetName-Funktion kann eine Anwendung den Zielnamen angeben, der einer Peerentität entspricht. Das ausgewählte Sicherheitsprotokoll verwendet diese Informationen beim Authentifizieren des Peers. Dieses Feature behandelt Bedenken bei vertrauenswürdigen Man-in-the-Middle-Angriffen.
Die WSADeleteSocketPeerTargetName-Funktion wird verwendet, um einen zuvor angegebenen Peernamen für einen Socket zu löschen.
Nachdem eine Verbindung hergestellt wurde, ermöglicht die WSAQuerySocketSecurity-Funktion einer Anwendung, die Sicherheitseigenschaften der Verbindung abzufragen, die den Peerzugriff oder das Computerzugriffstoken enthalten können.
Nachdem eine Verbindung hergestellt wurde, ermöglicht die WSAImpersonateSocketPeer-Funktion einer Anwendung das Imitieren des Sicherheitsprinzipals, der einem Socketpeer entspricht, um eine Autorisierung auf Anwendungsebene durchzuführen.
Mit WSARevertImpersonation kann eine Anwendung den Identitätswechsel eines Socketpeers beenden.
Secure Socket-Architektur
- Eine Anwendung ruft die Secure Socket-Funktionen auf, um Sicherheitseinstellungen für einen Socket festzulegen oder abzufragen.
- Die Secure Socket-Funktionen sind eine Reihe typsicherer Erweiterungsfunktionen, die Aufrufe der WSAIoctl-Funktion mithilfe neu definierter Werte für den unter Windows Vista und höher verfügbaren dwIoControlCode-Parameter umschließen. Diese IOCTLs werden vom Netzwerkstapel verarbeitet.
- Der Netzwerkstapel leitet den Aufruf an Application Layer Enforcement (ALE) zusammen mit dem Endpunkthandle weiter. Für die Funktionen WSADeleteSocketPeerTargetName, WSASetSocketPeerTargetName und WSASetSocketSecurity konfiguriert ALE die Einstellungen der Anwendung auf dem lokalen Endpunkt. Für die WSAQuerySocketSecurity-Funktion liest ALE die angeforderten Informationen von entsprechenden lokalen und Remoteendpunkten.
- Basierend auf Socketereignissen erzwingt die Application Layer Enforcement (ALE) Mithilfe der Windows-Filterplattform Richtlinien für die Secure Socket-Architektur. Weitere Informationen finden Sie unter Informationen zur Windows-Filterplattform und Erzwingung auf Anwendungsebene (Application Layer Enforcement, ALE).
Zugehörige Themen
-
Erweiterte Winsock-Beispiele mit Secure Socket-Erweiterungen
-
Erzwingung auf Anwendungsebene (Application Layer Enforcement, ALE)