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 정의에 Android 인터페이스 정의 언어 (AIDL)를 사용합니다. Android 13 이전 출시에서는 인터페이스와 공급업체 파티션이 HAL 인터페이스 정의 언어 (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

VTS 테스트

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

atest VtsHalWifiSupplicantV1_3TargetTest

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

atest VtsHalWifiSupplicantStaIfaceTargetTest