次の方法で共有


EAPHost LEAP メカニズムの実装

このトピックでは、サード パーティが Windows 用の Lightweight Extensible Authentication Protocol (LEAP) モジュールを記述できるようにする EAPHost メカニズムについて説明します。 LEAP は、 RFC 3748 に従って Cisco によって作成されたレガシ認証方法です。 LEAP の詳細については、「 Cisco LEAP Q&A」を参照してください。

EAPHost 認証プロセス

通常の EAPHost 認証プロセスは、次のように行われます。

  • 認証子は、ピアを認証するための要求を送信します。 たとえば、アプリケーションは EAPHost 構成とユーザー データを使用して EapHostPeerBeginSession を呼び出します。
  • ピアは、有効な要求に応答して応答パケットを送信します。 たとえば、呼び出しが成功すると、EAP_SESSION_HANDLEセッション ハンドル 返されます。
  • 認証子は追加の要求パケットを送信し、ピアは応答で応答します。 たとえば、アプリケーションは EapHostPeerGetSendPacket を呼び出して、セッション全体で EAPHost によって受信された EAP パケットを取得します。 各パケットは、 EapHostPeerProcessReceivedPacket の呼び出しによって処理されます。
  • EapHostPeerProcessReceivedPacket は常にアクション コードを返します。 その後、サプリカントはアクション コードに対応する関数を呼び出す必要があります。
  • 要求と応答のシーケンスは、必要な限り続行されます。 たとえば、アプリケーションは EapHostPeerGetResponseAttributes を呼び出して使用可能な EAP 属性を要求し、ピアは EapHostPeerSetResponseAttributes で応答してそれらを返すことができます。
  • 最初の要求の後、有効な応答を受信するまで、新しい要求を送信できません。
  • メッセージ交換は、認証子がピアを認証できないまで続行されます。その場合、認証子の実装は EAP エラーを送信する必要があります。 たとえば、1 つ以上の要求に対して許容できない応答を行うと、認証システムが Code 4 EAP エラーを送信します。
  • または、認証の会話は、認証が成功したと認証子が判断するまで続行できます。その場合、認証子は EAP の成功 (コード 3) を送信する必要があります。
  • 結果が成功または失敗のいずれであるかを示す場合でも、アプリケーションは EapHostPeerEndSession を呼び出してセッションを終了します。 障害が発生した場合は、EAPHost で別のセッションを開き、同じ ID または新しい ID を指定することで、再認証を試みることができます。

LEAP 認証プロセス

LEAP 認証プロセスは、通常の EAPhost 認証プロセスとは次のように異なります。

  • EAP 認証は、サーバー (認証子) によって開始されます。 これに対し、LEAP はクライアント (ピア) によって開始されます。

    • したがって、LEAP モジュールを記述するときは、常にピア メソッドからのチャレンジ要求パケットと EAP サーバーからの EAP 応答が、サーバーからの EAP 成功パケットと同じパケット ID を持っている必要があります。
    • これに対し、EAPHost 要求パケットと応答パケットと成功パケットはすべて異なる ID を持ちます。

      Note

      すべての EAP 要求には、要求対象を示す [種類] フィールドがあります。 要求パケットと同様に、すべての EAP 応答パケットには、要求の Type フィールドに対応する Type フィールドが含まれます。 例としては、ID 要求パケットとチャレンジ要求パケットがあります。

       

  • EAPHost で障害が発生した場合は、EAPHost との別のセッションを開き、同じ ID または新しい ID を指定することで、再認証を試みることができます。

LEAP Authenticator メソッドの実装

LEAP 認証方法を開発する場合は、次のことを確認してください。

LEAP ピア メソッドの実装

LEAP ピア メソッドを開発する場合は、次のことを確認してください

  • LEAP ピア メソッドは、認証の第 1 フェーズ (ピア認証) が成功した後に EapPeerMethodResponseActionSend アクション コードを返す必要があります。
  • LEAP ピア メソッドは、認証の第 2 フェーズが成功した後に EapPeerMethodResponseActionResult アクション コードを返す必要があります。

EAPHost 呼び出しシーケンス

EAPHost の使用