Extensions de socket sécurisé Winsock
Les extensions de socket sécurisées à Winsock permettent à une application de socket de contrôler la sécurité de leur 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 a été configuré par un administrateur via des stratégies locales et de domaine. Sur Windows Vista, les extensions de socket sécurisé permettent plutôt aux applications de configurer entièrement ou partiellement et de contrôler 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 du fournisseur de support de sécurité (SSPI). 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 plupart 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
Note
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 é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 conserver le mécanisme de sécurité sous-jacent masqué 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 les 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é traite des préoccupations relatives aux attaques de l’homme-in-the-middle approuvées.
La fonction WSADeleteSocketPeerTargetName est utilisée pour supprimer un nom d’homologue précédemment spécifié pour un socket.
Une fois qu’une connexion est établie, la fonction WSAQuerySocketSecurity permet à une application d’interroger les propriétés de sécurité de la connexion, qui peuvent inclure l’accès homologue ou le jeton d’accès ordinateur.
Une fois qu’une connexion est établie, la fonction WSAImpersonateSocketPeer permet à une application d’emprunter l’identité du principal de sécurité correspondant à un homologue de socket afin d’effectuer l’autorisation au niveau de l’application.
Le 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 WSAIoctlWSAIoctl à 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 dirige l’appel vers application layer enforcement (ALE) avec le handle de point de terminaison. Pour le WSADeleteSocketPeerTargetName, WSASetSocketPeerTargetNameet fonctions WSASetSocketSecurity, ALE configure les paramètres de l’application sur le point de terminaison local. Pour la fonctionWSAQuerySocketSecurity, 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 Application Layer Enforcement (ALE).
Rubriques connexes