Extensões Winsock Secure Socket
As extensões de soquete seguro para Winsock permitem que um aplicativo de soquete controle a segurança de seu tráfego em uma rede. Essas extensões permitem que um aplicativo forneça política de segurança e requisitos para seu tráfego de rede e consulte as configurações de segurança aplicadas. Por exemplo, um aplicativo pode usar essas extensões para consultar o token de segurança de mesmo nível que pode ser usado para executar verificações de acesso no nível do aplicativo.
As extensões de soquete seguro destinam-se a integrar os serviços fornecidos pelo IPsec e outros protocolos de segurança com a estrutura Winsock. Antes do Windows Vista, no Windows Server 2003 e no Windows XP, o IPsec era configurado por um administrador por meio de políticas locais e de domínio. No Windows Vista, as extensões de soquete seguro permitem que os aplicativos configurem e controlem total ou parcialmente a segurança do tráfego de rede no nível do soquete.
Os aplicativos já podem proteger o tráfego de rede usando APIs públicas, como gerenciamento de IPsec, Plataforma de Filtragem do Windows e SSPI (Security Support Provider Interface). No entanto, o uso dessas APIs pode tornar o aplicativo mais difícil de desenvolver e pode dificultar a configuração e a implantação. As extensões de soquete seguro Winsock foram projetadas para simplificar o desenvolvimento de aplicativos de rede que exigem tráfego de rede seguro, permitindo que o Winsock lide com a maior parte da complexidade.
Essas extensões de soquete seguro estão disponíveis no Windows Vista e versões posteriores.
Funções de soquete seguro
As funções de extensão de soquete seguro são as seguintes:
- WSADeleteSocketPeerTargetName
- WSAImpersonateSocketPeer
- WSAQuerySocketSecurity
- WSARevertImpersonation
- WSASetSocketPeerTargetName
- WSASetSocketSecurity
Observação
Atualmente, as funções de soquete seguro suportam apenas o protocolo IPsec e estão disponíveis no Windows Vista e posterior.
As estruturas e enumerações usadas pelas funções de soquete seguro são as seguintes:
- SOCKET_PEER_TARGET_NAME
- SOCKET_SECURITY_PROTOCOL
- SOCKET_SECURITY_QUERY_INFO
- SOCKET_SECURITY_QUERY_TEMPLATE
- SOCKET_SECURITY_SETTINGS
- SOCKET_SECURITY_SETTINGS_IPSEC
As funções de soquete seguro são simples de usar para aplicações normais e são flexíveis o suficiente para aplicações que precisam de um alto grau de controle sobre sua segurança. Essas funções tornam possível manter o mecanismo de segurança subjacente oculto do aplicativo. Um aplicativo pode especificar requisitos de segurança genéricos e permitir que o administrador controle o protocolo de segurança usado para dar suporte aos requisitos. Embora seja possível estender essas funções para adicionar outros protocolos de segurança, atualmente apenas o IPsec se integra com as funções de soquete seguro.
A função WSASetSocketSecurity permite que um aplicativo habilite a segurança e aplique configurações de segurança antes que uma conexão seja estabelecida.
A função WSASetSocketPeerTargetName permite que um aplicativo especifique o nome de destino correspondente a uma entidade de mesmo nível. O protocolo de segurança selecionado usará essas informações ao autenticar o par. Esse recurso aborda preocupações sobre ataques man-in-the-middle confiáveis.
A funçãoWSADeleteSocketPeerTargetNameé usada para excluir um nome de par especificado anteriormente para um soquete.
Depois que uma conexão é estabelecida, a função WSAQuerySocketSecurity permite que um aplicativo consulte as propriedades de segurança da conexão, que podem incluir o acesso de mesmo nível ou o token de acesso do computador.
Depois que uma conexão é estabelecida, a função deWSAImpersonateSocketPeerpermite que um aplicativo represente a entidade de segurança correspondente a um par de soquete para executar a autorização no nível do aplicativo.
O WSARevertImpersonation permite que um aplicativo encerre a representação de um par de soquete.
Arquitetura de soquete seguro
- Um aplicativo chama as funções de soquete seguro para definir ou consultar configurações de segurança para um soquete.
- As funções de soquete seguro são um conjunto de funções de extensão de tipo seguro que encapsulam chamadas para a função deWSAIoctlusando valores recém-definidos para o parâmetro dwIoControlCode disponível no Windows Vista e posterior. Esses IOCTLs são manipulados pela pilha de rede.
- A pilha de rede direcionará a chamada para de Imposição de Camada de Aplicativo (ALE) junto com o identificador de ponto de extremidade. Para o WSADeleteSocketPeerTargetName, WSASetSocketPeerTargetNamee funções de WSASetSocketSecurity, o ALE definirá as configurações do aplicativo no ponto de extremidade local. Para a funçãoWSAQuerySocketSecurity, o ALE lerá as informações solicitadas dos pontos de extremidade locais e remotos aplicáveis.
- Com base em eventos de soquete, a Imposição da Camada de Aplicativo (ALE) impõe políticas para a arquitetura de soquete seguro usando a Plataforma de Filtragem do Windows. Para obter mais informações, consulte Sobre o da Plataforma de Filtragem do Windows e de Aplicação da Camada de Aplicação (ALE) .
Tópicos relacionados
-
Sobre o da Plataforma de Filtragem do Windows
-
exemplos avançados de Winsock usando extensões de soquete seguro