WPA3 및 Wi-Fi Enhanced Open

Android 10은 Wi-Fi Alliance(WFA)의 Wi-Fi Protected Access 버전 3(WPA3) 및 Wi-Fi Enhanced Open 표준을 지원합니다. 자세한 내용은 WFA 사이트의 보안을 참고하세요.

WPA3은 개인 및 기업 네트워크를 위한 새로운 WFA 보안 표준입니다. 현대적인 보안 알고리즘과 강력한 암호화 스위트를 사용하여 전반적인 Wi-Fi 보안을 개선하는 것이 목표입니다. WPA3에는 다음 두 요소가 있습니다.

  • WPA3-Personal: 사전 공유 키(PSK) 대신 SAE(Simultaneous Authentication of Equals)를 사용하여 오프라인 사전 공격, 키 복구 및 메시지 위조와 같은 공격에 맞서 사용자에게 강력한 보안 보호 기능을 제공합니다.
  • WPA3-Enterprise: 강력한 인증 및 링크 레이어 암호화 메서드와 민감한 보안 환경을 위한 192비트 보안 모드(선택사항)를 제공합니다.

Wi-Fi Enhanced Open은 Opportunistic Wireless Encryption(OWE)을 기반으로 하는 공용 네트워크의 새로운 WFA 보안 표준입니다. 카페, 호텔, 식당, 도서관 등 비밀번호로 보호되지 않는 개방형 네트워크에서 암호화를 제공하고 개인 정보를 보호합니다. Enhanced Open은 인증을 제공하지 않습니다.

WPA3 및 Wi-Fi Enhanced Open은 전반적인 Wi-Fi 보안을 개선하여 더 나은 개인 정보 보호 기능을 제공하고 알려진 공격을 강력하게 차단합니다. 아직 많은 기기가 이러한 표준을 지원하지 않거나 이러한 기능을 지원하기 위한 소프트웨어 업그레이드를 받지 못했으므로 WFA는 다음과 같은 전환 모드를 제안했습니다.

  • WPA2/WPA3 전환 모드: 제공하는 액세스 포인트는 WPA2 및 WPA3 표준을 동시에 지원합니다. 이 모드에서 Android 10 기기는 WPA3을 사용하여 연결하고, Android 9 이하를 실행하는 기기는 WPA2를 사용하여 동일한 액세스 포인트에 연결합니다.
  • WPA2/WPA3-Enterprise 전환 모드: 제공하는 액세스 포인트는 WPA2-Enterprise 및 WPA3-Enterprise 표준을 동시에 지원합니다.
  • OWE 전환 모드: 제공하는 액세스 포인트는 OWE와 개방형 표준을 동시에 지원합니다. 이 모드에서 Android 10 기기는 OWE를 사용하여 연결하고, Android 9 이하를 실행하는 기기는 암호화 없이 동일한 액세스 포인트에 연결합니다.

Android 12는 기기에 WPA2를 사용하지 않고 WPA3을 대신 사용하도록 지시하는 메커니즘인 전환 중지 표시를 지원합니다. 기기가 이 표시를 수신하면 WPA3을 사용하여 전환 모드를 지원하는 WPA3 네트워크에 연결합니다. Android 12는 WPA3 Hash-to-Element(H2E) 인증 교환도 지원합니다. 자세한 내용은 WPA3 사양을 참고하세요.

WPA3 및 Wi-Fi Enhanced Open은 클라이언트 모드에서만 지원됩니다.

구현

WPA3 및 Wi-Fi Enhanced Open을 지원하려면 서플리컨트 HAL 인터페이스를 구현합니다. Android 13부터 인터페이스는 HAL 정의에 AIDL을 사용합니다. Android 13 이전의 출시에서는 인터페이스와 공급업체 파티션이 HIDL을 사용합니다. HIDL 인터페이스는 hardware/interfaces/wifi/supplicant/1.3/에서, AIDL 인터페이스는 hardware/interfaces/wifi/supplicant/aidl/에서 찾을 수 있습니다.

WPA3 및 OWE를 지원하려면 다음이 필요합니다.

  • SAE 및 OWE를 지원하는 Linux 커널 패치

    • cfg80211
    • nl80211
  • SAE, SUITEB192 및 OWE를 지원하는 wpa_supplicant

  • SAE, SUITEB192 및 OWE를 지원하는 Wi-Fi 드라이버

  • SAE, SUITEB192 및 OWE를 지원하는 Wi-Fi 펌웨어

  • WPA3 및 OWE를 지원하는 Wi-Fi 칩

Android 10에서는 앱이 기기에서 다음 기능이 지원되는지를 확인할 수 있도록 공개 API 메서드가 제공됩니다.

WifiConfiguration.java에는 OWE, WPA3-Personal 및 WPA3-Enterprise에 필요한 쌍방향 암호화, 그룹 암호화, 그룹 관리 암호화 및 Suite B 암호화는 물론 새로운 키 관리 유형도 포함되어 있습니다.

WPA3 및 Wi-Fi Enhanced Open 사용 설정

Android 프레임워크에서 WPA3-Personal, WPA3-Enterprise 및 Wi-Fi Enhanced Open을 사용 설정하려면 다음과 같이 하세요.

  • WPA3-Personal: wpa_supplicant 구성 파일CONFIG_SAE 컴파일 옵션을 포함합니다.

    # WPA3-Personal (SAE)
    CONFIG_SAE=y
    
  • WPA3-Enterprise: wpa_supplicant 구성 파일에 CONFIG_SUITEB192CONFIG_SUITEB 컴파일 옵션을 포함합니다.

    # WPA3-Enterprise (SuiteB-192)
    CONFIG_SUITEB=y
    CONFIG_SUITEB192=y
    
  • Wi-Fi Enhanced Open: wpa_supplicant 구성 파일에 CONFIG_OWE 컴파일 옵션을 포함합니다.

    # Opportunistic Wireless Encryption (OWE)
    # Experimental implementation of draft-harkins-owe-07.txt
    CONFIG_OWE=y
    

WPA3-Personal, WPA3-Enterprise 또는 Wi-Fi Enhanced Open이 사용 설정되지 않았다면 사용자는 이러한 유형의 네트워크를 수동으로 추가, 검사 또는 연결할 수 없습니다.

유효성 검사

구현을 테스트하려면 다음 테스트를 실행하세요.

단위 테스트

SupplicantStaIfaceHalTest를 실행하여 WPA3 및 OWE의 기능 플래그 동작을 확인합니다.

atest SupplicantStaIfaceHalTest

WifiManagerTest를 실행하여 이 기능의 공개 API 동작을 확인합니다.

atest WifiManagerTest

통합 테스트(ACTS)

통합 테스트를 실행하려면 tools/test/connectivity/acts_tests/tests/google/wifi에 있는 Android 커뮤니케이션 테스트 도구 모음(ACTS) 파일 WifiWpa3OweTest.py를 사용합니다.

VTS 테스트

HIDL 인터페이스가 구현된 경우 다음을 실행합니다.

atest VtsHalWifiSupplicantV1_3TargetTest

AIDL 인터페이스가 구현된 경우 다음을 실행합니다.

atest VtsHalWifiSupplicantStaIfaceTargetTest