MAC 무작위화 동작

MAC 랜덤화 기능을 사용하면 장치가 Wi-Fi 네트워크에 연결할 때 랜덤화된 MAC 주소를 사용할 수 있습니다. 구현 지침은 MAC 무작위화 구현 을 참조하십시오. 이 페이지에서는 Android의 MAC 무작위화 동작에 대해 설명합니다.

MAC 주소는 Wi-Fi 네트워크 또는 액세스 포인트에 연결할 때 장치에서 사용됩니다. 이러한 MAC 주소는 암호화 없이 전송되기 때문에 캡처하여 잠재적으로 사용자의 위치를 ​​추적하는 데 사용할 수 있습니다. 역사적으로 장치는 공장 MAC 주소 를 사용하여 Wi-Fi 네트워크에 연결합니다. 공장 MAC 주소는 전 세계적으로 고유하고 정적이므로 장치를 추적하고 개별적으로 식별할 수 있습니다.

MAC 랜덤화 기능은 Wi-Fi 네트워크에 연결할 때 랜덤화된 MAC 주소를 사용하여 사용자의 개인 정보를 보호합니다.

MAC 주소는 길이가 48비트이며 일반적으로 00:11:22:AA:BB:CC 와 같이 12개의 16진수(각 옥텟이 8비트이므로 6옥텟)로 표시됩니다. MAC 랜덤화 기능은 로컬 관리 비트를 1로 설정하고 유니캐스트 비트를 0으로 설정하여 주소를 랜덤화합니다. 다른 46비트는 랜덤화됩니다.

Android 10 이상을 실행하는 기기의 경우 프레임워크는 기본적으로 무작위 MAC 주소를 사용합니다. 사용자는 그림 1과 같이 설정네트워크 세부 정보 화면에 있는 옵션을 통해 개별 네트워크에 대한 MAC 무작위화를 활성화하거나 비활성화할 수 있습니다. 사용자가 네트워크에 대한 MAC 무작위화를 비활성화하면 프레임워크는 공장 출하시 MAC 주소(전역적으로 고유한 주소)를 사용합니다.

MAC 무작위화 옵션

그림 1. MAC 무작위화 옵션.

MAC 무작위화 유형

Android 프레임워크는 영구 무작위화 영구적 무작위화의 두 가지 유형의 MAC 무작위화를 사용합니다. 사용자가 MAC 무작위화를 비활성화하면 공장 MAC 주소가 사용됩니다.

Android는 기기가 Wi-Fi 네트워크에 연결될 때 사용할 MAC 무작위화 유형을 결정합니다. 기본적으로 Android는 영구 무작위화를 사용합니다. Android 12부터 Android는 다음 상황에서 비영구 무작위화를 사용합니다.

  • 네트워크 제안 앱은 WifiNetworkSuggestion.Builder#setMacRandomizationSetting API를 통해 네트워크에 대해 비영구적 무작위화가 사용되도록 지정합니다.
  • 네트워크는 종속 포털을 만나지 않은 개방형 네트워크이고 config_wifiAllowEnhancedMacRandomizationOnOpenSsids 오버레이가 true 로 설정되어 있습니다. 이 오버레이는 기본적으로 비활성화되어 있습니다( false 로 설정).

지속적인 무작위화

Android는 MAC 무작위화 기능이 활성화된 경우 기본적으로 영구 무작위화 유형을 사용합니다. Android는 SSID, 보안 유형 또는 FQDN(Passpoint 네트워크용)을 포함한 네트워크 프로필의 매개변수를 기반으로 영구적인 무작위 MAC 주소를 생성합니다. 이 MAC 주소는 공장 초기화될 때까지 동일하게 유지됩니다. MAC 주소는 네트워크 프로필의 매개변수에 따라 달라지므로 사용자가 Wi-Fi 네트워크를 잊어버렸다가 다시 추가하는 경우 MAC 주소가 다시 무작위화되지 않습니다 .

영구 MAC 주소는 네트워크가 사용자에게 유용한 기능을 제공하기 위해 MAC 주소의 지속성에 의존하는 경우에 필요합니다(예: 장치를 기억하고 사용자가 예상대로 로그인 화면을 우회하도록 허용하거나 자녀 보호 기능을 활성화).

Android 10 및 11의 경우 프레임워크는 MAC 무작위화가 활성화된 경우 모든 네트워크에 대해 영구 무작위화를 사용합니다.

비지속적 무작위화

Android 12 이상에서 일부 네트워크에 사용되는 비영구 랜덤화 유형에서 Wi-Fi 모듈은 모든 연결 시작 시 MAC 주소를 다시 랜덤화하거나 프레임워크는 기존 랜덤화된 MAC 주소를 사용하여 연결합니다. 회로망. Wi-Fi 모듈은 다음 상황에서 MAC 주소를 다시 무작위화합니다.

  • DHCP 임대 기간이 만료되었으며 장치가 이 네트워크에서 마지막으로 연결 해제된 후 4시간 이상이 경과했습니다.
  • 네트워크 프로필에 대한 현재 무작위 MAC이 생성된 지 24시간이 넘었습니다. MAC 주소 재무작위화는 새 연결이 시작될 때만 발생합니다. Wi-Fi는 MAC 주소를 다시 무작위화할 목적으로 능동적으로 연결을 끊지 않습니다.

이러한 상황이 적용되지 않는 경우 프레임워크는 이전에 무작위화된 MAC 주소를 사용하여 네트워크에 연결합니다.

비영구 무작위화를 위한 개발자 옵션

Android 11 또는 12를 실행하는 기기의 경우 사용자는 개발자 옵션 화면을 통해 모든 Wi-Fi 네트워크(MAC 무작위화가 활성화된)에 대해 전역적으로 비영구적 MAC 무작위화를 활성화할 수 있습니다. 모든 프로필에 대해 비영구적 MAC 무작위화를 활성화하는 옵션은 설정 > 개발자 옵션 > Wi-Fi 비영구적 MAC 무작위화 에서 찾을 수 있습니다.

Wi-Fi 비영구적 MAC 무작위화 옵션

그림 2. Wi-Fi 비영구적 MAC 무작위화 옵션.