Schnittstelle zum nativen Modul 802.11 802.1X

 

Nachdem das Betriebssystem eine NDIS_STATUS_DOT11_ASSOCIATION_COMPLETION Vom nativen 802.11-Miniporttreiber erhalten hat, ruft es die Dot11ExtIhvPerformPostAssociate-Funktion auf, um einen Vorgang nach der Zuordnung durch die IHV-Erweiterungs-DLL zu initiieren.

Während der Vorgang nach der Zuordnung oder nach Abschluss des Vorgangs ausgeführt wird, kann die DLL für IHV-Erweiterungen die vom Betriebssystem unterstützten EAP-Algorithmen (Extensible Authentication Protocol) verwenden, um den Benutzer beim Zugriffspunkt (Access Point, AP) zu authentifizieren. In dieser Situation ist die DLL für IHV-Erweiterungen mit dem Modul 802.1X des nativen 802.11-Frameworks für die Verarbeitung von EAP-Paketen, die vom AP im EAPOL-Format (EAP over LAN) gesendet werden, schnittstellen.

Weitere Informationen zum EAPOL-Format finden Sie in Klausel 7 des IEEE 802.1X-2001-Standards.

Weitere Informationen zum 802.1X-Modul und zum nativen 802.11-Framework finden Sie unter Native 802.11-Softwarearchitektur.

Beim Interfacing des Moduls 802.1X für die Benutzerauthentifizierung muss die DLL für IHV-Erweiterungen die folgenden Richtlinien befolgen:

  • Unter Windows Vista kann die DLL für IHV-Erweiterungen 802.1X-Authentifizierungsvorgänge über das 802.1X-Modul nur für BSS-Netzwerkverbindungen (Infrastructure Basic Service Set) initiieren.

  • Die DLL für IHV-Erweiterungen muss sich beim Betriebssystem registrieren, um EAPOL-Pakete zu empfangen. In diesem Fall muss die DLL die Dot11ExtSetEtherTypeHandling-Funktion aufrufen und den IEEE EAPOL EtherType (0x888E) zur Liste der registrierten EtherTypes hinzufügen, die über den PusRegistration-Parameter übergeben werden. Nachdem etherType registriert wurde, leitet das Betriebssystem empfangene EAPOL-Pakete über Aufrufe der Dot11ExtIhvReceivePacket IHV-Handlerfunktion an die IHV-Erweiterungs-DLL weiter.

    Weitere Informationen zum Registrieren von EtherTypes finden Sie unter IEEE EtherType Handling.

  • Während der Ausführung des Vorgangs nach der Zuordnung initiiert die DLL für IHV-Erweiterungen den 802.1X-Authentifizierungsvorgang durch Aufrufen der Dot11ExtStartOneX-Funktion . Wenn diese Funktion aufgerufen wird, führt das Betriebssystem folgende Aktionen aus:

    • Zeigt die Eigenschaftenseite für die Konfiguration der 802.1X-Authentifizierung an. Diese Informationen enthalten den EAP-Algorithmus, der für die Authentifizierung verwendet wird.
    • Aufforderung zur Eingabe der Anmeldeinformationen.
    • Senden Sie ein EAPOL-Start-Paket an den AP, um die 802.1X-Authentifizierung zu initiieren.

    Die DLL für IHV-Erweiterungen kann Dot11ExtStartOneX entweder innerhalb des Aufrufs von Dot11ExtIhvPerformPostAssociate oder nach der Rückgabe des Funktionsaufrufs aufrufen.

  • Die DLL für IHV-Erweiterungen kann die Dot11ExtStartOneX-Funktion erst aufrufen, nachdem der Native 802.11-Miniporttreiber einen Zuordnungsvorgang mit dem AP abgeschlossen hat. In diesem Fall darf die DLL für IHV-Erweiterungen die Dot11ExtStartOneX-Funktion unter keinen der folgenden Bedingungen aufrufen:

  • Während der 802.1X-Authentifizierungsvorgang ausgeführt wird, kann die DLL für IHV-Erweiterungen den Vorgang durch Aufrufen von Dot11ExtStopOneX abbrechen.

  • Während der 802.1X-Authentifizierungsvorgang ausgeführt wird, muss die DLL für IHV-Erweiterungen Dot11ExtProcessOneXPacket aufrufen, um EAPOL-Pakete zur Verarbeitung an das Betriebssystem weiterzuleiten. Hinweis Die DLL für IHV-Erweiterungen ist für die Verarbeitung EAPOL-Key Pakete verantwortlich, die vom AP empfangen werden. Die DLL darf diese Pakete nicht über Aufrufe von Dot11ExtProcessOneXPacket an das Betriebssystem übergeben.

     

  • Wenn der Authentifizierungsvorgang 802.1X abgeschlossen ist, ruft das Betriebssystem die Dot11ExtIhvOneXIndicateResult IHV-Handlerfunktion auf. Nachdem diese Funktion aufgerufen wurde, ist die DLL für IHV-Erweiterungen für die Verarbeitung aller EAPOL-Pakete verantwortlich, die vom AP empfangen werden, z. B. die EAPOL-Key Pakete, die für die Ableitung der Verschlüsselungsschlüssel verwendet werden.

  • Wenn der Authentifizierungsvorgang 802.1X erfolgreich abgeschlossen wurde, übergibt das Betriebssystem den MPPE-Send-Key-Wert an die DOT11_MSONEX_RESULT_PARAMS Struktur, auf die der pDot11MsOneXResultParams-Parameter von Dot11ExtIhvOneXIndicateResult verweist. Der MPPE-Send-Key-Wert, auf den das pbMPPESendKey-Element von DOT11_MSONEX_RESULT_PARAMS verweist, wird durch den Authentifizierungsprozess abgeleitet und von der IHV-Erweiterungs-DLL verwendet, wenn EAPOL-Key Pakete an den AP gesendet werden. Dieser Schlüssel ist verschlüsselt und sollte durch Aufrufen der CryptUnprotectData-Funktion entschlüsselt werden, die im Windows SDK dokumentiert ist.

  • Der Algorithmus, der zum Ableiten der Verschlüsselungsschlüssel verwendet wird, hängt von der Implementierung des unabhängigen Hardwareherstellers (Independent Hardware Vendor, IHV) ab. Die DLL für IHV-Erweiterungen kann Standardmäßige Schlüsselableitungsalgorithmen unterstützen, z. B. den in Klausel 8.5 des IEEE 802.11i-2004-Standards definierten Algorithmus, sowie einen proprietären Schlüsselableitungsalgorithmus.

  • Nachdem die Schlüssel abgeleitet wurden, kann die DLL für IHV-Erweiterungen die folgenden Funktionen aufrufen, um die Verschlüsselungsschlüssel auf den nativen 802.11-Miniporttreiber herunterzuladen, der den WLAN-Adapter verwaltet.

  • Die DLL für IHV-Erweiterungen schließt den Vorgang nach der Zuordnung durch Aufrufen der Dot11ExtPostAssociateCompletion-Funktion ab. Nach Abschluss des Vorgangs nach der Zuordnung kann die DLL für IHV-Erweiterungen einen weiteren 802.1X-Authentifizierungsvorgang initiieren, wenn die DLL feststellt, dass der Benutzer erneut authentifiziert werden muss.

Die folgende Abbildung zeigt die Abfolge von Ereignissen, wenn die DLL für IHV-Erweiterungen während eines Vorgangs nach der Zuordnung einen 802.1X-Authentifizierungsvorgang initiiert.

Diagramm, das die Abfolge der Ereignisse zeigt, wenn die DLL für IHV-Erweiterungen während eines Vorgangs nach der Zuordnung einen 802.1X-Authentifizierungsvorgang initiiert.