Extensiones de socket seguro winsock

Las extensiones de socket seguro a Winsock permiten que una aplicación de socket controle la seguridad de su tráfico a través de una red. Estas extensiones permiten a una aplicación proporcionar directivas de seguridad y requisitos para su tráfico de red y consultar la configuración de seguridad aplicada. Por ejemplo, una aplicación puede usar estas extensiones para consultar el token de seguridad del mismo nivel que se puede usar para realizar comprobaciones de acceso a nivel de aplicación.

Las extensiones de socket seguro están diseñadas para integrar los servicios proporcionados por IPsec y otros protocolos de seguridad con el marco Winsock. Antes de Windows Vista, en Windows Server 2003 y Windows XP, un administrador ha configurado IPsec a través de directivas de dominio y locales. En Windows Vista, las extensiones de socket seguro permiten a las aplicaciones configurar completamente o parcialmente y controlar la seguridad de su tráfico de red en el nivel de socket.

Las aplicaciones ya pueden proteger el tráfico de red mediante API públicas, como la administración de IPsec, la plataforma de filtrado de Windows y la interfaz del proveedor de compatibilidad de seguridad (SSPI). Sin embargo, el uso de estas API puede hacer que la aplicación sea más difícil de desarrollar y puede dificultar la configuración e implementación. Las extensiones de socket seguro winsock se han diseñado para simplificar el desarrollo de aplicaciones de red que requieren tráfico de red seguro al permitir que Winsock controle la mayor parte de la complejidad.

Estas extensiones de socket seguro están disponibles en Windows Vista y versiones posteriores.

Funciones de socket seguro

Las funciones de extensión de socket seguro son las siguientes:

Nota

Actualmente, las funciones de socket seguro solo admiten el protocolo IPsec y están disponibles en Windows Vista y versiones posteriores.

 

Las estructuras y enumeraciones usadas por las funciones de socket seguro son las siguientes:

Las funciones de socket seguro son sencillas de usar para aplicaciones normales y son lo suficientemente flexibles para las aplicaciones que necesitan un alto grado de control sobre su seguridad. Estas funciones permiten mantener oculto el mecanismo de seguridad subyacente de la aplicación. Una aplicación puede especificar requisitos de seguridad genéricos y permitir que el administrador controle el protocolo de seguridad que se usa para admitir los requisitos. Aunque es posible ampliar estas funciones para agregar otros protocolos de seguridad, actualmente solo IPsec se integra con las funciones de socket seguro.

La función WSASetSocketSecurity permite a una aplicación habilitar la seguridad y aplicar la configuración de seguridad antes de establecer una conexión.

La función WSASetSocketPeerTargetName permite a una aplicación especificar el nombre de destino correspondiente a una entidad del mismo nivel. El protocolo de seguridad seleccionado usará esta información al autenticar el elemento del mismo nivel. Esta característica aborda las preocupaciones sobre los ataques de tipo man in the middle de confianza.

La función WSADeleteSocketPeerTargetName se usa para eliminar un nombre del mismo nivel especificado anteriormente para un socket.

Una vez establecida una conexión, la función WSAQuerySocketSecurity permite a una aplicación consultar las propiedades de seguridad de la conexión, que pueden incluir el acceso del mismo nivel o el token de acceso del equipo.

Una vez establecida una conexión, la función WSAImpersonateSocketPeer permite a una aplicación suplantar a la entidad de seguridad correspondiente a un elemento del mismo nivel de socket para realizar la autorización de nivel de aplicación.

WSARevertImpersonation permite a una aplicación finalizar la suplantación de un socket del mismo nivel.

Arquitectura de sockets seguros

arquitectura básica de las extensiones de socket seguro winsock

  • Una aplicación llama a las funciones de socket seguro para establecer o consultar la configuración de seguridad de un socket.
  • Las funciones de socket seguro son un conjunto de funciones de extensión seguras para tipos que encapsulan las llamadas a la función WSAIoctl mediante valores recién definidos para el parámetro dwIoControlCode disponible en Windows Vista y versiones posteriores. Estas ICTL se controlan mediante la pila de red.
  • La pila de red dirigirá la llamada a Application Layer Enforcement (ALE) junto con el identificador del punto de conexión. Para las funciones WSADeleteSocketPeerTargetName, WSASetSocketPeerTargetName y WSASetSocketSecurity , ALE configurará las opciones de la aplicación en el punto de conexión local. Para la función WSAQuerySocketSecurity , ALE leerá la información solicitada de los puntos de conexión locales y remotos aplicables.
  • En función de los eventos de socket, Application Layer Enforcement (ALE) aplica directivas para la arquitectura de sockets seguros mediante la Plataforma de filtrado de Windows. Para obtener más información, vea Acerca de la plataforma de filtrado de Windows y el cumplimiento de la capa de aplicación (ALE).

Acerca de la plataforma de filtrado de Windows

Ejemplos avanzados de Winsock mediante extensiones de socket seguro

Aplicación de la capa de aplicación (ALE)

Configuración de IPsec

Funciones de IPsec

Programación segura de Winsock

Interfaz del proveedor de compatibilidad con seguridad (SSPI)

Uso de extensiones de socket seguro

Plataforma de filtrado de Windows

Funciones de api de plataforma de filtrado de Windows