네이티브 802.11 802.1X 모듈에 대한 인터페이스

 

운영 체제가 Native 802.11 미니포트 드라이버로부터 NDIS_STATUS_DOT11_ASSOCIATION_COMPLETION 표시를 받은 후 Dot11ExtIhvPerformPostAssociate 함수를 호출하여 IHV 확장 DLL에 의한 사후 연결 작업을 시작합니다.

연결 후 작업을 수행하거나 작업이 완료된 후 IHV 확장 DLL은 운영 체제에서 지원하는 EAP(확장 가능한 인증 프로토콜) 알고리즘을 사용하여 AP(액세스 지점)로 사용자를 인증할 수 있습니다. 이 경우 IHV 확장 DLL은 EAP over LAN(EAPOL) 형식으로 AP에서 보낸 EAP 패킷 처리를 위해 Native 802.11 프레임워크의 802.1X 모듈과 인터페이스합니다.

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 매개 변수를 통해 전달되는 등록된 EtherTypes 목록에 추가해야 합니다. EtherType이 등록되면 운영 체제는 Dot11ExtIhvReceivePacket IHV 처리기 함수에 대한 호출을 통해 수신된 EAPOL 패킷을 IHV 확장 DLL로 전달합니다.

    EtherTypes 등록에 대한 자세한 내용은 IEEE EtherType 처리를 참조하세요.

  • 연결 후 작업을 수행하는 동안 IHV 확장 DLL은 Dot11ExtStartOneX 함수를 호출하여 802.1X 인증 작업을 시작합니다. 이 함수가 호출되면 운영 체제는 다음을 수행합니다.

    • 802.1X 인증 구성에 대한 속성 페이지를 표시합니다. 이 정보에는 인증에 사용되는 EAP 알고리즘이 포함됩니다.
    • 사용자에게 자격 증명을 입력하도록 메시지 표시
    • AP에 EAPOL-Start 패킷을 보내 802.1X 인증을 시작합니다.

    IHV 확장 DLL은 Dot11ExtIhvPerformPostAssociate 호출 내에서 또는 함수 호출이 반환된 후 Dot11ExtStartOneX를 호출할 수 있습니다.

  • IHV 확장 DLL은 Native 802.11 미니포트 드라이버가 AP와의 연결 작업을 완료한 후에만 Dot11ExtStartOneX 함수를 호출할 수 있습니다. 이 경우 IHV 확장 DLL은 다음 조건 중 하나라도 Dot11ExtStartOneX 함수를 호출해서는 안 됩니다.

  • 802.1X 인증 작업이 진행되는 동안 IHV 확장 DLL은 Dot11ExtStopOneX를 호출하여 작업을 취소할 수 있습니다.

  • 802.1X 인증 작업이 진행되는 동안 IHV 확장 DLL은 Dot11ExtProcessOneXPacket 을 호출하여 처리를 위해 운영 체제에 EAPOL 패킷을 전달해야 합니다. 참고 IHV 확장 DLL은 AP에서 받은 EAPOL-Key 패킷을 처리합니다. DLL은 Dot11ExtProcessOneXPacket 호출을 통해 이러한 패킷을 운영 체제에 전달해서는 안 됩니다.

     

  • 802.1X 인증 작업이 완료되면 운영 체제는 Dot11ExtIhvOneXIndicateResult IHV 처리기 함수를 호출합니다. 이 함수가 호출된 후 IHV 확장 DLL은 암호 키 파생에 사용되는 EAPOL-Key 패킷과 같이 AP에서 받은 모든 EAPOL 패킷을 처리합니다.

  • 802.1X 인증 작업이 성공적으로 완료되면 운영 체제는 DOT11ExtIhvOneXIndicateResultpDot11MsOneXResultParams 매개 변수가 가리키는 DOT11_MSONEX_RESULT_PARAMS 구조에 MPPE-Send-Key 값을 전달합니다. DOT11_MSONEX_RESULT_PARAMS pbMPPESendKey 멤버가 가리키는 MPPE-Send-Key 값은 인증 프로세스를 통해 파생되며 AP에 EAPOL-Key 패킷을 보낼 때 IHV 확장 DLL에서 사용됩니다. 이 키는 암호화되며 Windows SDK에 설명된 CryptUnprotectData 함수를 호출하여 암호 해독해야 합니다.

  • 암호화 키를 파생시키는 데 사용되는 알고리즘은 IHV(독립 하드웨어 공급업체)의 구현에 따라 달라집니다. IHV 확장 DLL은 IEEE 802.11i-2004 표준의 절 8.5에 정의된 알고리즘과 같은 표준 키 파생 알고리즘을 지원할 수 있을 뿐만 아니라 독점 키 파생 알고리즘을 지원할 수 있습니다.

  • 키를 파생한 후 IHV 확장 DLL은 다음 함수를 호출하여 암호화 키를 WLAN(무선 LAN) 어댑터를 관리하는 Native 802.11 미니포트 드라이버에 다운로드할 수 있습니다.

  • IHV 확장 DLL은 Dot11ExtPostAssociateCompletion 함수를 호출하여 연결 후 작업을 완료합니다. 연결 후 작업이 완료되면 DLL이 사용자를 다시 인증해야 한다고 판단하는 경우 IHV 확장 DLL에서 다른 802.1X 인증 작업을 시작할 수 있습니다.

다음 그림에서는 IHV 확장 DLL이 연결 후 작업 중에 802.1X 인증 작업을 시작할 때의 이벤트 시퀀스를 보여 줍니다.

IHV 확장 DLL이 연결 후 작업 중에 802.1X 인증 작업을 시작할 때의 이벤트 시퀀스를 보여 주는 다이어그램