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:
- Bevor das Betriebssystem Dot11ExtIhvPerformPostAssociate aufruft. Das Betriebssystem ruft diese Funktion auf, nachdem der Miniporttreiber einen Zuordnungsvorgang erfolgreich abgeschlossen hat. Weitere Informationen zu diesem Vorgang finden Sie unter Zuordnungsvorgänge.
- Nachdem das Betriebssystem Dot11ExtIhvStopPostAssociate aufgerufen hat. Das Betriebssystem ruft diese Funktion auf, nachdem der Miniporttreiber einen Vorgang zum Aufheben der Zuordnung zum AP abgeschlossen hat. Weitere Informationen zu diesem Vorgang finden Sie unter Aufheben der Zuordnungsvorgänge.
- Nachdem das Betriebssystem Dot11ExtIhvAdapterReset aufgerufen hat. Das Betriebssystem ruft diese Funktion auf, nachdem der Miniporttreiber eine Trennung mit dem BSS-Netzwerk (Basic Service Set) abgeschlossen hat. Weitere Informationen zu diesem Vorgang finden Sie unter Trennungsvorgänge.
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.