Partager via


Implémentation du mécanisme EAPHost LEAP

Cette rubrique décrit le mécanisme EAPHost qui permet à des tiers d’écrire des modules LEAP (Lightweight Extensible Authentication Protocol) pour Windows. LEAP est une méthode d’authentification héritée, créée par Cisco, conformément à la RFC 3748. Pour plus d’informations sur LEAP, consultez Cisco LEAP Q&A.

Processus d’authentification EAPHost

Le processus d’authentification EAPHost normal se produit comme suit :

  • L’authentificateur envoie une demande d’authentification de l’homologue. Par exemple, l’application appelle EapHostPeerBeginSession avec la configuration EAPHost et les données utilisateur.
  • L’homologue envoie un paquet de réponse en réponse à une demande valide. Par exemple, un appel réussi retourne un handle de session EAP_SESSION_HANDLE .
  • L’authentificateur envoie un paquet de requête supplémentaire et l’homologue répond avec une réponse. Par exemple, l’application appelle EapHostPeerGetSendPacket pour obtenir les paquets EAP reçus par EAPHost tout au long de la session. Chaque paquet est traité par un appel à EapHostPeerProcessReceivedPacket.
  • EapHostPeerProcessReceivedPacket retourne toujours un code d’action. Le demandeur doit ensuite appeler la fonction correspondant au code d’action.
  • La séquence de requêtes et de réponses se poursuit aussi longtemps que nécessaire. Par exemple, l’application peut appeler EapHostPeerGetResponseAttributes pour demander les attributs EAP disponibles, et l’homologue répond avec EapHostPeerSetResponseAttributes pour les renvoyer .
  • Après une demande initiale, une nouvelle demande ne peut pas être envoyée tant qu’une réponse valide n’a pas été reçue.
  • La conversation se poursuit jusqu’à ce que l’authentificateur ne puisse pas authentifier l’homologue, auquel cas l’implémentation de l’authentificateur doit transmettre un échec EAP. Par exemple, des réponses inacceptables à une ou plusieurs demandes entraîneraient la transmission par l’authentificateur d’un échec EAP code 4.
  • Sinon, la conversation d’authentification peut se poursuivre jusqu’à ce que l’authentificateur détermine que l’authentification a réussi, auquel cas l’authentificateur doit transmettre une réussite EAP (code 3).
  • Si le résultat indique la réussite ou l’échec, l’application appelle EapHostPeerEndSession pour mettre fin à la session. En cas d’échec, la réauthentification peut être tentée en ouvrant une autre session avec EAPHost et en fournissant la même identité ou une nouvelle identité.

Processus d’authentification LEAP

Le processus d’authentification LEAP diffère du processus d’authentification EAPhost normal comme suit :

  • L’authentification EAP est lancée par le serveur (authentificateur). LEAP, en revanche, est initié par le client (homologue).

    • Par conséquent, lors de l’écriture d’un module LEAP, vous devez toujours vous assurer que le paquet de demande de défi de la méthode homologue et la réponse EAP du serveur EAP doivent toujours avoir le même ID de paquet que celui du paquet EAP Success du serveur.
    • En revanche, les paquets de requête et de réponse et de réussite EAPHost ont généralement tous des ID différents.

      Notes

      Chaque demande EAP a un champ Type pour indiquer ce qui est demandé. Comme pour le paquet de requête, chaque paquet de réponse EAP contient un champ Type, qui correspond au champ Type de la demande. Les paquets de demande d’identité et de requête de défi sont des exemples.

       

  • En cas d’échec avec EAPHost, une nouvelle authentification peut être tentée en ouvrant une autre session avec EAPHost et en fournissant la même identité ou une nouvelle identité.

Implémentation de la méthode LEAP Authenticator

Lorsque vous développez une méthode d’authentificateur LEAP, vérifiez ce qui suit :

Implémentation de la méthode d’homologue LEAP

Lors du développement d’une méthode d’homologue LEAP, vérifiez les points suivants

  • Les méthodes d’homologue LEAP doivent retourner le code d’action EapPeerMethodResponseActionSend une fois la première phase d’authentification (authentification d’homologue) réussie.
  • Les méthodes d’homologue LEAP doivent retourner le code d’action EapPeerMethodResponseActionResult une fois la 2e phase d’authentification réussie.

Séquence d’appels EAPHost

Utilisation d’EAPHost