原生 802.11 802.1X 模組的介面

 

作業系統從 Native 802.11 迷你埠驅動程式收到NDIS_STATUS_DOT11_ASSOCIATION_COMPLETION指示之後,它會呼叫 Dot11ExtIhvPerformPostAssociate 函式,由 IHV 擴充功能 DLL 起始關聯後作業。

雖然它會執行關聯後作業,或在作業完成之後,IHV 擴充功能 DLL 可以使用可延伸驗證通訊協定 (作業系統支援的 EAP) 演算法,以存取點 (AP) 來驗證使用者。 在此情況下,IHV 擴充功能 DLL 介面與 Native 802.11 架構的 802.1X 模組,用於處理透過 LAN 透過 LAN 傳送的 EAP 封包, (EAPOL) 格式。

如需 EAPOL 格式的詳細資訊,請參閱 IEEE 802.1X-2001 標準的第 7 條。

如需 802.1X 模組和 Native 802.11 架構的詳細資訊,請參閱 Native 802.11 軟體架構

在連接 802.1X 模組以進行使用者驗證時,IHV 延伸模組 DLL 必須遵循下列指導方針:

  • 針對 Windows Vista,IHV 擴充功能 DLL 只能針對基礎結構基本服務集 (BSS) 網路連線,透過 802.1X 模組起始 802.1X 驗證作業。

  • IHV 擴充功能 DLL 必須向作業系統註冊,才能接收 EAPOL 封包。 在此情況下,DLL 必須呼叫 Dot11ExtSetEtherTypeHandling 函式,並將 IEEE EAPOL EtherType (0x888E) 新增至透過 pusRegistration 參數傳入的已註冊 EtherType 清單。 註冊 EtherType 之後,作業系統會透過 呼叫 Dot11ExtIhvReceivePacket IHV Handler 函式,將收到的 EAPOL 封包轉送至 IHV 擴充功能 DLL。

    如需註冊 EtherTypes 的詳細資訊,請參閱 IEEE EtherType 處理

  • 執行關聯後作業時,IHV 擴充功能 DLL 會呼叫 Dot11ExtStartOneX 函式來起始 802.1X 驗證作業。 呼叫此函式時,作業系統會執行下列動作:

    • 顯示 802.1X 驗證設定的屬性頁面。 此資訊包括用於驗證的 EAP 演算法。
    • 提示使用者提供認證。
    • 將 EAPOL-Start 封包傳送至 AP,以起始 802.1X 驗證。

    IHV 延伸模組 DLL 可以在呼叫 Dot11ExtIhvPerformPostAssociate或函式呼叫傳回之後呼叫Dot11ExtStartOneX

  • IHV 擴充功能 DLL 只能在 Native 802.11 迷你埠驅動程式完成與 AP 的關聯作業之後,呼叫 Dot11ExtStartOneX 函式。 在此情況下,IHV 擴充功能 DLL 不得在下列任何情況下呼叫 Dot11ExtStartOneX 函 式:

    • 在作業系統呼叫 Dot11ExtIhvPerformPostAssociate之前。 在迷你埠驅動程式成功完成關聯作業之後,作業系統會呼叫此函式。 如需此作業的詳細資訊,請參閱 關聯作業
    • 作業系統呼叫 Dot11ExtIhvStopPostAssociate之後。 在迷你埠驅動程式完成與 AP 的解除關聯作業之後,作業系統會呼叫此函式。 如需此作業的詳細資訊,請參閱 解除關聯作業
    • 作業系統呼叫 Dot11ExtIhvAdapterReset之後。 在迷你埠驅動程式完成與 BSS) 網路 (基本服務集的中斷連線作業之後,作業系統會呼叫此函式。 如需此作業的詳細資訊,請參閱 中斷連線作業
  • 當 802.1X 驗證作業正在進行時,IHV 延伸模組 DLL 可以藉由呼叫 Dot11ExtStopOneX來取消作業。

  • 進行 802.1X 驗證作業時,IHV 擴充功能 DLL 必須呼叫 Dot11ExtProcessOneXPacket ,將 EAPOL 封包轉送至作業系統進行處理。 注意 IHV 擴充功能 DLL 負責處理從 AP 收到的封包 EAPOL-Key。 DLL 不得透過 對 Dot11ExtProcessOneXPacket的呼叫,將這些封包傳遞至作業系統。

     

  • 當 802.1X 驗證作業完成時,作業系統會呼叫 Dot11ExtIhvOneXIndicateResult IHV Handler 函式。 呼叫此函式之後,IHV 擴充功能 DLL 會負責處理從 AP 接收的所有 EAPOL 封包,例如用來衍生加密金鑰的 EAPOL-Key 封包。

  • 如果 802.1X 驗證作業順利完成,作業系統會將 MPPE-Send-Key 值傳遞給Dot11ExtIhvOneXIndicateResultpDot11MsOneXResultParams參數所指向的 DOT11_MSONEX_RESULT_PARAMS結構。 DOT11_MSONEX_RESULT_PARAMS pbMPPESendKey 成員所指向的 MPPE-Send-Key 值是透過驗證程式衍生,而 IHV 擴充功能 DLL 會在將 EAPOL-Key 封包傳送至 AP 時使用。 此金鑰會加密,而且應該藉由呼叫 Windows SDK 中所記載的 CryptUnprotectData 函式來解密。

  • 用來衍生加密金鑰的演算法取決於獨立硬體廠商的實作, (IHV) 。 IHV 延伸模組 DLL 可以支援標準金鑰衍生演算法,例如 IEEE 802.11i-2004 標準子句 8.5 中定義的演算法,也可以支援專屬金鑰衍生演算法。

  • 在衍生金鑰之後,IHV 擴充功能 DLL 可以呼叫下列函式,將加密金鑰下載至 Native 802.11 迷你埠驅動程式,以管理無線區域網路 (WLAN) 介面卡。

  • IHV 延伸模組 DLL 會藉由呼叫 Dot11ExtPostAssociateCompletion 函式來完成關聯後作業。 關聯後作業完成之後,如果 DLL 判斷必須重新驗證使用者,IHV 擴充功能 DLL 可以起始另一個 802.1X 驗證作業。

下圖顯示 IHV 擴充功能 DLL 在關聯後作業期間起始 802.1X 驗證作業時的事件順序。

此圖顯示 IHV 擴充功能 DLL 在關聯後作業期間起始 802.1X 驗證作業時的事件順序。