Fitur pengacakan MAC memungkinkan perangkat menggunakan alamat MAC acak saat terhubung ke jaringan Wi-Fi. Untuk petunjuk penerapan, lihat Menerapkan pengacakan MAC. Halaman ini menjelaskan perilaku pengacakan MAC di Android.
Alamat MAC digunakan oleh perangkat saat terhubung ke jaringan Wi-Fi atau titik akses. Karena alamat MAC ini dikirimkan tanpa enkripsi, alamat tersebut 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 terpisah.
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 octet karena setiap octet adalah 8 bit) seperti 00:11:22:AA:BB:CC
. Fitur
randomisasi MAC melakukan randomisasi alamat dengan menetapkan bit 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. Pengguna dapat mengaktifkan atau menonaktifkan pengacakan MAC untuk setiap jaringan melalui opsi di layar Detail jaringan di Setelan, seperti yang ditunjukkan pada Gambar 1. Jika pengguna menonaktifkan pengacakan MAC untuk jaringan, framework akan menggunakan alamat MAC pabrik (alamat unik global).
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 dikaitkan ke jaringan Wi-Fi. Secara default, Android menggunakan randomisasi persisten. Mulai Android 12, Android menggunakan randomisasi non-persisten dalam situasi berikut:
- Aplikasi saran jaringan menentukan bahwa randomisasi non-persisten
digunakan untuk jaringan melalui
WifiNetworkSuggestion.Builder#setMacRandomizationSetting
API. - Jaringan ini adalah jaringan terbuka yang belum menemukan captive portal dan
overlay
config_wifiAllowEnhancedMacRandomizationOnOpenSsids
disetel ketrue
. Overlay ini dinonaktifkan (ditetapkan kefalse
) secara default.
Pengacakan persisten
Android menggunakan jenis pengacakan persisten secara default saat fitur pengacakan MAC diaktifkan. Android menghasilkan alamat MAC acak persisten berdasarkan parameter profil jaringan, termasuk SSID, jenis keamanan, atau FQDN (untuk jaringan Passpoint). Alamat MAC ini tetap sama hingga reset pabrik. Alamat MAC tidak diacak ulang jika pengguna lupa dan menambahkan kembali jaringan Wi-Fi karena alamat MAC bergantung pada parameter profil jaringan.
Alamat MAC persisten diperlukan jika jaringan mengandalkan persistensi alamat MAC untuk menyediakan fungsi yang berguna bagi pengguna, misalnya, untuk mengingat perangkat dan memungkinkan pengguna mengabaikan layar login seperti yang diharapkan, atau untuk mengaktifkan kontrol orang tua.
Untuk Android 10 dan 11, framework menggunakan pengacakan persisten untuk semua jaringan saat pengacakan MAC diaktifkan.
Pengacakan tidak tetap
Berdasarkan jenis pengacakan non-persisten, yang digunakan untuk beberapa jaringan di Android 12 atau yang lebih tinggi, modul Wi-Fi akan mengacaukan ulang alamat MAC di awal setiap koneksi atau framework menggunakan alamat MAC acak yang ada untuk terhubung ke jaringan. Modul Wi-Fi akan membuat alamat MAC acak lagi dalam situasi berikut:
- Durasi sewa DHCP telah berakhir dan lebih dari 4 jam telah berlalu sejak perangkat terakhir kali terputus dari jaringan ini.
- MAC acak saat ini untuk profil jaringan dibuat lebih dari 24 jam yang lalu. Pengacakan ulang alamat MAC hanya terjadi di awal koneksi baru. Wi-Fi tidak akan secara aktif memutuskan koneksi untuk tujuan mengacak ulang alamat MAC.
Jika tidak ada situasi di atas yang berlaku, framework akan menggunakan alamat MAC acak sebelumnya untuk terhubung ke jaringan.
Opsi developer untuk randomisasi non-persisten
Untuk perangkat yang menjalankan Android 11 atau yang lebih baru, pengguna dapat mengaktifkan acakan MAC non-persisten secara global untuk semua jaringan Wi-Fi (yang mengaktifkan acakan MAC) melalui layar opsi developer. Opsi untuk mengaktifkan pengacakan MAC tidak tetap untuk semua profil dapat ditemukan di Setelan > Opsi Developer > Pengacakan MAC Wi-Fi tidak tetap.
Gambar 2. Opsi pengacakan MAC tidak tetap Wi-Fi.