Extensões de soquete seguro winsock
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 o 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 par 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 foi 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 totalmente 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 IPsec, Plataforma de Filtragem do Windows e SSPI (Interface do Provedor de Suporte de Segurança). No entanto, o uso dessas APIs pode dificultar o desenvolvimento do aplicativo e 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 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
As funções de soquete seguro atualmente dão suporte apenas ao protocolo IPsec e estão disponíveis no Windows Vista e posteriores.
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 aplicativos normais e são flexíveis o suficiente para aplicativos que precisam de um alto grau de controle sobre sua segurança. Essas funções possibilitam 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 às funções de soquete seguro.
A função WSASetSocketSecurity permite que um aplicativo habilite a segurança e aplique as 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 par. 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ção WSADeleteSocketPeerTargetName é 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 ao par ou o token de acesso do computador.
Depois que uma conexão é estabelecida, a função WSAImpersonateSocketPeer permite que um aplicativo represente a entidade de segurança correspondente a um par de soquetes para executar a autorização no nível do aplicativo.
O WSARevertImpersonation permite que um aplicativo encerre a representação de um par de soquetes.
Arquitetura de soquete seguro
- Um aplicativo chama as funções de soquete seguro para definir ou consultar as configurações de segurança de 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 WSAIoctl usando valores recém-definidos para o parâmetro dwIoControlCode disponível no Windows Vista e posteriores. Esses IOCTLs são tratados pela pilha de rede.
- A pilha de rede direcionará a chamada para a ALE (Application Layer Enforcement) juntamente com o identificador do ponto de extremidade. Para as funções WSADeleteSocketPeerTargetName, WSASetSocketPeerTargetName e WSASetSocketSecurity , o ALE definirá as configurações do aplicativo no ponto de extremidade local. Para a função WSAQuerySocketSecurity , o ALE lerá as informações solicitadas de pontos de extremidade locais e remotos aplicáveis.
- Com base em eventos de soquete, a ALE (Application Layer Enforcement) impõe políticas para a arquitetura de soquete seguro usando a Plataforma de Filtragem do Windows. Para obter mais informações, consulte Sobre a Plataforma de Filtragem do Windows e ALE (Application Layer Enforcement).
Tópicos relacionados