Winsock Secure Socket Extensions
Les extensions de socket sécurisé pour Winsock permettent à une application socket de contrôler la sécurité de son trafic sur un réseau. Ces extensions permettent à une application de fournir une stratégie de sécurité et des exigences pour son trafic réseau, et d’interroger les paramètres de sécurité appliqués. Par exemple, une application peut utiliser ces extensions pour interroger le jeton de sécurité homologue qui peut être utilisé pour effectuer des vérifications d’accès au niveau de l’application.
Les extensions de socket sécurisé sont destinées à intégrer les services fournis par IPsec et d’autres protocoles de sécurité à l’infrastructure Winsock. Avant Windows Vista, sur Windows Server 2003 et Windows XP, IPsec était configuré par un administrateur via des stratégies locales et de domaine. Sur Windows Vista, les extensions de socket sécurisé permettent aux applications de configurer et de contrôler entièrement ou partiellement la sécurité de leur trafic réseau au niveau du socket.
Les applications peuvent déjà sécuriser le trafic réseau à l’aide d’API publiques, telles que la gestion IPsec, la plateforme de filtrage Windows et l’interface SSPI (Security Support Provider Interface). Toutefois, l’utilisation de ces API peut rendre l’application plus difficile à développer et rendre plus difficile la configuration et le déploiement. Les extensions de socket sécurisé Winsock ont été conçues pour simplifier le développement d’applications réseau qui nécessitent un trafic réseau sécurisé en permettant à Winsock de gérer la plus grande partie de la complexité.
Ces extensions de socket sécurisé sont disponibles sur Windows Vista et versions ultérieures.
Fonctions de socket sécurisé
Les fonctions d’extension de socket sécurisé sont les suivantes :
- WSADeleteSocketPeerTargetName
- WSAImpersonateSocketPeer
- WSAQuerySocketSecurity
- WSARevertImpersonation
- WSASetSocketPeerTargetName
- WSASetSocketSecurity
Notes
Les fonctions de socket sécurisé prennent actuellement en charge uniquement le protocole IPsec et sont disponibles sur Windows Vista et versions ultérieures.
Les structures et les énumérations utilisées par les fonctions de socket sécurisé sont les suivantes :
- SOCKET_PEER_TARGET_NAME
- SOCKET_SECURITY_PROTOCOL
- SOCKET_SECURITY_QUERY_INFO
- SOCKET_SECURITY_QUERY_TEMPLATE
- SOCKET_SECURITY_SETTINGS
- SOCKET_SECURITY_SETTINGS_IPSEC
Les fonctions de socket sécurisé sont simples à utiliser pour les applications normales et sont suffisamment flexibles pour les applications qui ont besoin d’un degré élevé de contrôle sur leur sécurité. Ces fonctions permettent de masquer le mécanisme de sécurité sous-jacent de l’application. Une application peut spécifier des exigences de sécurité génériques et laisser l’administrateur contrôler le protocole de sécurité utilisé pour prendre en charge les exigences. Bien qu’il soit possible d’étendre ces fonctions pour ajouter d’autres protocoles de sécurité, seul IPsec s’intègre actuellement aux fonctions de socket sécurisé.
La fonction WSASetSocketSecurity permet à une application d’activer la sécurité et d’appliquer des paramètres de sécurité avant l’établissement d’une connexion.
La fonction WSASetSocketPeerTargetName permet à une application de spécifier le nom cible correspondant à une entité homologue. Le protocole de sécurité sélectionné utilise ces informations lors de l’authentification de l’homologue. Cette fonctionnalité répond aux préoccupations relatives aux attaques d’intercepteurs approuvés.
La fonction WSADeleteSocketPeerTargetName permet de supprimer un nom d’homologue précédemment spécifié pour un socket.
Une fois la connexion établie, la fonction WSAQuerySocketSecurity permet à une application d’interroger les propriétés de sécurité de la connexion, ce qui peut inclure le jeton d’accès homologue ou l’ordinateur.
Une fois la connexion établie, la fonction WSAImpersonateSocketPeer permet à une application d’emprunter l’identité du principal de sécurité correspondant à un homologue de socket afin d’effectuer une autorisation au niveau de l’application.
WSARevertImpersonation permet à une application de mettre fin à l’emprunt d’identité d’un homologue de socket.
Architecture de socket sécurisé
- Une application appelle les fonctions de socket sécurisé pour définir ou interroger les paramètres de sécurité d’un socket.
- Les fonctions de socket sécurisé sont un ensemble de fonctions d’extension de type sécurisé qui encapsulent les appels à la fonction WSAIoctl à l’aide de valeurs nouvellement définies pour le paramètre dwIoControlCode disponible sur Windows Vista et versions ultérieures. Ces IOCTL sont gérés par la pile réseau.
- La pile réseau dirigera l’appel vers Application Layer Enforcement (ALE) avec le handle de point de terminaison. Pour les fonctions WSADeleteSocketPeerTargetName, WSASetSocketPeerTargetName et WSASetSocketSecurity , ALE configure les paramètres de l’application sur le point de terminaison local. Pour la fonction WSAQuerySocketSecurity , ALE lit les informations demandées à partir des points de terminaison locaux et distants applicables.
- En fonction des événements de socket, Application Layer Enforcement (ALE) applique des stratégies pour l’architecture de socket sécurisé à l’aide de la plateforme de filtrage Windows. Pour plus d’informations, consultez À propos de la plateforme de filtrage Windows et de l’application de l’application (ALE).
Rubriques connexes