Partilhar via


Aplicação do mecanismo EAPHost LEAP

Este tópico descreve o mecanismo EAPHost que permite que terceiros escrevam módulos LEAP (Lightweight Extensible Authentication Protocol) para Windows. O LEAP é um método de autenticação legado, criado pela Cisco, de acordo com RFC 3748. Para obter mais informações sobre o LEAP, consulte Cisco LEAP Q&A.

Processo de autenticação EAPHost

O processo de autenticação EAPHost regular ocorre da seguinte maneira:

  • O autenticador envia uma solicitação para autenticar o parceiro. Por exemplo, o aplicativo chama EapHostPeerBeginSession com a configuração EAPHost e dados do usuário.
  • O par envia um pacote de resposta em resposta a uma solicitação válida. Por exemplo, uma chamada bem-sucedida retorna um identificador de sessão EAP_SESSION_HANDLE.
  • O autenticador envia um pacote de solicitação adicional e o par responde com uma resposta. Por exemplo, o aplicativo chama EapHostPeerGetSendPacket para obter pacotes EAP recebidos pelo EAPHost durante toda a sessão. Cada pacote é processado através de uma chamada para EapHostPeerProcessReceivedPacket.
  • EapHostPeerProcessReceivedPacket sempre retornará um código de ação. O suplicante deve então chamar a função correspondente ao código de ação.
  • A sequência de Solicitações e Respostas continua enquanto for necessário. Por exemplo, a aplicação pode chamar EapHostPeerGetResponseAttributes para solicitar atributos EAP disponíveis, e o par responde com EapHostPeerSetResponseAttributes para retorná-los.
  • Após uma Solicitação inicial, uma nova Solicitação não poderá ser enviada até que uma Resposta válida seja recebida.
  • A conversa continua até que o autenticador não consiga autenticar o parceiro, caso em que a implementação do autenticador deve transmitir um EAP Failure. Por exemplo, respostas inaceitáveis a uma ou mais solicitações fariam com que o autenticador transmitisse uma falha EAP do código 4.
  • Como alternativa, a conversa de autenticação pode continuar até que o autenticador determine que a autenticação bem-sucedida ocorreu, caso em que o autenticador deve transmitir uma mensagem de sucesso EAP (Código 3).
  • Se o resultado indicar sucesso ou falha, o aplicativo chama EapHostPeerEndSession para encerrar a sessão. Em caso de falha, a reautenticação pode ser tentada abrindo outra sessão com o EAPHost e fornecendo a mesma ou uma nova identidade.

Processo de autenticação LEAP

O processo de autenticação LEAP difere do processo de autenticação EAPhost regular da seguinte forma:

  • A autenticação EAP é iniciada pelo servidor (autenticador). O LEAP, ao contrário, é iniciado pelo cliente (peer).

    • Portanto, ao escrever um módulo LEAP, deve garantir que o pacote de Solicitação de Desafio do método peer e a Resposta EAP do servidor EAP tenham sempre o mesmo ID de pacote que o pacote EAP Success do servidor.
    • Por outro lado, os pacotes EAPHost Request and Response e Success normalmente têm IDs diferentes.

      Observação

      Cada solicitação EAP tem um campo Tipo para indicar o que está sendo solicitado. Assim como o pacote Solicitação, cada pacote de Resposta EAP contém um campo Tipo, que corresponde ao campo Tipo da Solicitação. Os exemplos incluem pacotes de Solicitação de Identidade e Solicitação de Desafio.

       

  • No caso de falha com EAPHost, a reautenticação pode ser tentada abrindo outra sessão com EAPHost e fornecendo a mesma identidade ou uma nova identidade.

Implementação do método LEAP Authenticator

Ao desenvolver um método de autenticador LEAP, certifique-se do seguinte:

Implementação do método LEAP Peer

Ao desenvolver um método de pares LEAP, certifique-se do seguinte

Sequência de chamadas EAPHost

Usando o EAPHost