Interfaz del módulo Native 802.11 802.1X
Después de que el sistema operativo reciba una indicación de NDIS_STATUS_DOT11_ASSOCIATION_COMPLETION del controlador de minipuerto Native 802.11, llama a la función Dot11ExtIhvPerformPostAssociate para iniciar una operación posterior a la asociación por parte del archivo DLL de extensiones de IHV.
Mientras realiza la operación posterior a la asociación o una vez completada la operación, el archivo DLL de extensiones de IHV puede usar los algoritmos del protocolo de autenticación extensible (EAP) compatibles con el sistema operativo para autenticar al usuario con el punto de acceso (AP). En esta situación, el archivo DLL de extensiones IHV interfaces con el módulo 802.1X del marco Native 802.11 para el procesamiento de paquetes EAP enviados por el AP en el formato EAP sobre LAN (EAPOL).
Para obtener más información sobre el formato EAPOL, consulte la cláusula 7 del estándar IEEE 802.1X-2001.
Para obtener más información sobre el módulo 802.1X y el marco Native 802.11, consulte Arquitectura de software nativa 802.11.
Al interconectar el módulo 802.1X para la autenticación de usuario, el archivo DLL de extensiones de IHV debe seguir estas instrucciones:
Para Windows Vista, el archivo DLL de extensiones de IHV puede iniciar operaciones de autenticación 802.1X a través del módulo 802.1X solo para conexiones de red del conjunto de servicios básicos de infraestructura (BSS).
El archivo DLL de extensiones IHV debe registrarse en el sistema operativo para recibir paquetes EAPOL. En esta situación, el archivo DLL debe llamar a la función Dot11ExtSetEtherTypeHandling y agregar ieee EAPOL EtherType (0x888E) a la lista de EtherTypes registrados que se pasan a través del parámetro pusRegistration . Una vez registrado etherType, el sistema operativo reenvía los paquetes EAPOL recibidos al archivo DLL de extensiones de IHV mediante llamadas a la función de controlador IHV Dot11ExtIhvReceivePacket .
Para obtener más información sobre cómo registrar EtherTypes, vea IEEE EtherType Handling.
Mientras realiza la operación posterior a la asociación, el archivo DLL de extensiones de IHV inicia la operación de autenticación 802.1X mediante una llamada a la función Dot11ExtStartOneX . Cuando se llama a esta función, el sistema operativo hace lo siguiente:
- Muestra la página de propiedades de la configuración de la autenticación 802.1X. Esta información incluye el algoritmo EAP usado para la autenticación.
- Pedir las credenciales al usuario.
- Envíe un paquete EAPOL-Start al AP para iniciar la autenticación 802.1X.
El archivo DLL de extensiones IHV puede llamar a Dot11ExtStartOneX dentro de la llamada a Dot11ExtIhvPerformPostAssociate o después de que se devuelva la llamada a la función.
El archivo DLL de extensiones IHV puede llamar a la función Dot11ExtStartOneX solo después de que el controlador de miniporte Nativo 802.11 haya completado una operación de asociación con el AP. En esta situación, el archivo DLL de extensiones de IHV no debe llamar a la función Dot11ExtStartOneX en cualquiera de las condiciones siguientes:
- Antes de que el sistema operativo llame a Dot11ExtIhvPerformPostAssociate. El sistema operativo llama a esta función después de que el controlador de miniporte haya completado correctamente una operación de asociación. Para obtener más información sobre esta operación, vea Operaciones de asociación.
- Después de que el sistema operativo llame a Dot11ExtIhvStopPostAssociate. El sistema operativo llama a esta función después de que el controlador de miniporte haya completado una operación de desasociación con el AP. Para obtener más información sobre esta operación, vea Operaciones de desasociación.
- Después de que el sistema operativo llame a Dot11ExtIhvAdapterReset. El sistema operativo llama a esta función después de que el controlador de miniporte haya completado una operación de desconexión con la red básica del conjunto de servicios (BSS). Para obtener más información sobre esta operación, vea Operaciones de desconexión.
Mientras la operación de autenticación 802.1X está en curso, el archivo DLL de extensiones IHV puede cancelar la operación llamando a Dot11ExtStopOneX.
Mientras la operación de autenticación 802.1X está en curso, el archivo DLL de extensiones IHV debe llamar a Dot11ExtProcessOneXPacket para reenviar paquetes EAPOL al sistema operativo para su procesamiento. Nota El archivo DLL de extensiones de IHV es responsable del procesamiento de paquetes EAPOL-Key recibidos del AP. El archivo DLL no debe pasar estos paquetes al sistema operativo a través de llamadas a Dot11ExtProcessOneXPacket.
Cuando se completa la operación de autenticación 802.1X, el sistema operativo llama a la función Dot11ExtIhvOneXIndicateResult IHV Handler. Después de llamar a esta función, el archivo DLL de extensiones de IHV es responsable de procesar todos los paquetes EAPOL recibidos del AP, como los paquetes de EAPOL-Key usados para la derivación de las claves de cifrado.
Si la operación de autenticación 802.1X se completó correctamente, el sistema operativo pasa el valor MPPE-Send-Key a la estructura de DOT11_MSONEX_RESULT_PARAMS a la que apunta el parámetro pDot11MsOneXResultParams de Dot11ExtIhvOneXIndicateResult. El valor MPPE-Send-Key al que apunta el miembro pbMPPESendKey de DOT11_MSONEX_RESULT_PARAMS se deriva a través del proceso de autenticación y lo usa el archivo DLL de extensiones de IHV al enviar paquetes EAPOL-Key al AP. Esta clave está cifrada y se debe descifrar llamando a la función CryptUnprotectData que se documenta en Windows SDK.
El algoritmo que se usa para derivar las claves de cifrado depende de la implementación del proveedor de hardware independiente (IHV). El archivo DLL de extensiones IHV puede admitir algoritmos de derivación de claves estándar, como el algoritmo definido en la cláusula 8.5 del estándar IEEE 802.11i-2004, así como puede admitir un algoritmo de derivación de claves propietaria.
Después de derivar las claves, el archivo DLL de extensiones IHV puede llamar a las siguientes funciones para descargar las claves de cifrado al controlador de minipuerto Native 802.11, que administra el adaptador de LAN inalámbrica (WLAN).
El archivo DLL de extensiones IHV completa la operación posterior a la asociación llamando a la función Dot11ExtPostAssociateCompletion . Una vez completada la operación posterior a la asociación, el archivo DLL de extensiones IHV puede iniciar otra operación de autenticación 802.1X si el archivo DLL determina que el usuario debe volver a autenticarse.
En la ilustración siguiente se muestra la secuencia de eventos cuando el archivo DLL de extensiones de IHV inicia una operación de autenticación 802.1X durante una operación posterior a la asociación.