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:

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:

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

arquitetura básica das extensões de soquete seguro winsock

  • 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).

Sobre a Plataforma de Filtragem do Windows

Exemplos avançados do Winsock usando extensões de soquete seguro

ALE (Application Layer Enforcement)

Configuração do IPsec

Funções IPsec

Programação segura do Winsock

Interface do provedor de suporte de segurança (SSPI)

Usando extensões de soquete seguro

Plataforma de filtragem do Windows

Funções da API da Plataforma de Filtragem do Windows