Perilaku pengacakan MAC

Fitur pengacakan MAC memungkinkan perangkat menggunakan alamat MAC acak saat terhubung ke jaringan Wi-Fi. Untuk mengetahui petunjuk implementasinya, lihat Mengimplementasikan pengacakan MAC. Halaman ini menjelaskan perilaku pengacakan MAC di Android.

Saat terhubung ke jaringan Wi-Fi atau titik akses, perangkat Anda menggunakan alamat MAC. Karena alamat MAC ini ditransmisikan tanpa enkripsi, alamat MAC ini dapat diambil dan digunakan untuk berpotensi melacak lokasi pengguna. Secara historis, perangkat menggunakan alamat MAC pabrik untuk mengaitkan ke jaringan Wi-Fi. Alamat MAC pabrik bersifat unik secara global dan statis, sehingga perangkat dapat dilacak dan diidentifikasi secara individual.

Fitur pengacakan MAC meningkatkan privasi pengguna dengan menggunakan alamat MAC acak saat terhubung ke jaringan Wi-Fi.

Alamat MAC memiliki panjang 48 bit dan biasanya direpresentasikan oleh 12 digit heksadesimal (6 oktet karena setiap oktet adalah 8 bit) seperti 00:11:22:AA:BB:CC. Fitur pengacakan MAC mengacak alamat dengan menetapkan bit yang dikelola secara lokal ke 1, dan bit unicast ke 0. 46 bit lainnya diacak.

Untuk perangkat yang menjalankan Android 10 atau yang lebih tinggi, framework menggunakan alamat MAC acak secara default. Anda dapat mengaktifkan atau menonaktifkan pengacakan MAC untuk setiap jaringan melalui opsi di layar Detail jaringan di Setelan, seperti yang ditunjukkan pada Gambar 1. Jika Anda menonaktifkan pengacakan MAC untuk jaringan, framework akan menggunakan alamat MAC pabrik (alamat yang unik secara global).

Opsi pengacakan MAC

Gambar 1. Opsi pengacakan MAC.

Jenis pengacakan MAC

Framework Android menggunakan dua jenis pengacakan MAC: pengacakan persisten dan pengacakan non-persisten. Jika pengguna menonaktifkan pengacakan MAC, alamat MAC pabrik akan digunakan.

Android menentukan jenis pengacakan MAC yang akan digunakan saat perangkat Anda dikaitkan dengan jaringan Wi-Fi. Secara default, Android menggunakan pengacakan persisten. Mulai Android 12, Android menggunakan pengacakan non-persisten dalam situasi berikut:

  • Aplikasi saran jaringan menentukan bahwa pengacakan non-persisten harus digunakan untuk jaringan melalui WifiNetworkSuggestion.Builder#setMacRandomizationSetting API.
  • Jaringan adalah jaringan terbuka yang belum menemukan portal captive dan overlay config_wifiAllowEnhancedMacRandomizationOnOpenSsids ditetapkan ke true. Overlay ini dinonaktifkan (ditetapkan ke false) secara default.

Pengacakan persisten

Android menggunakan jenis pengacakan persisten secara default saat pengacakan MAC diaktifkan. Android membuat alamat MAC acak persisten berdasarkan parameter profil jaringan, termasuk SSID, jenis keamanan, atau FQDN (untuk jaringan Passpoint). Alamat MAC ini tetap sama hingga reset ke setelan pabrik. Alamat MAC tidak diacak ulang jika Anda lupa dan menambahkan kembali jaringan Wi-Fi, karena alamat MAC bergantung pada parameter profil jaringan.

Alamat MAC persisten diperlukan saat jaringan mengandalkan persistensi alamat MAC untuk menyediakan fungsi yang berguna. Misalnya, alamat MAC persisten dapat membantu mengingat perangkat dan memungkinkan Anda melewati layar login seperti yang diharapkan, atau mengaktifkan kontrol orang tua.

Untuk Android 10 dan 11, framework menggunakan pengacakan persisten untuk semua jaringan saat pengacakan MAC diaktifkan.

Pengacakan non-persisten

Dengan pengacakan non-persisten, yang digunakan untuk beberapa jaringan di Android 12 atau yang lebih tinggi, modul Wi-Fi mengacak ulang alamat MAC pada awal setiap koneksi, atau framework menggunakan alamat MAC acak yang ada untuk terhubung ke jaringan. Modul Wi-Fi mengacak ulang alamat MAC dalam situasi berikut:

  • Durasi masa berlaku DHCP telah berakhir dan lebih dari 4 jam telah berlalu sejak perangkat terakhir terputus dari jaringan ini.
  • MAC acak saat ini untuk profil jaringan dibuat lebih dari 24 jam yang lalu. Pengacakan ulang alamat MAC hanya terjadi pada awal koneksi baru. Wi-Fi tidak akan aktif terputus untuk mengacak ulang alamat MAC.

Jika tidak ada situasi ini yang berlaku, framework akan menggunakan alamat MAC acak sebelumnya untuk terhubung ke jaringan.

Opsi developer untuk pengacakan non-persisten

Untuk perangkat yang menjalankan Android 11 atau yang lebih tinggi, Anda dapat mengaktifkan pengacakan MAC non-persisten secara global untuk semua jaringan Wi-Fi (yang mengaktifkan pengacakan MAC ) melalui layar opsi developer. Anda dapat menemukan opsi untuk mengaktifkan pengacakan MAC non-persisten untuk semua profil di Setelan > Opsi Developer > Pengacakan MAC non-persisten Wi-Fi.

Opsi pengacakan MAC tidak tetap Wi-Fi

Gambar 2. Opsi pengacakan MAC non-persisten Wi-Fi.