Perilaku Pengacakan MAC

Fitur pengacakan MAC memungkinkan perangkat menggunakan alamat MAC yang diacak saat menyambung ke jaringan Wi-Fi. Untuk instruksi penerapan, lihat Menerapkan Pengacakan MAC . Halaman ini menjelaskan perilaku pengacakan MAC di Android.

Alamat MAC digunakan oleh perangkat saat menyambung ke jaringan Wi-Fi atau titik akses. Karena alamat MAC ini dikirimkan tanpa enkripsi, alamat tersebut dapat ditangkap dan digunakan untuk melacak lokasi pengguna. Secara historis, perangkat menggunakan alamat MAC pabrik untuk dikaitkan ke jaringan Wi-Fi. Alamat MAC pabrik bersifat unik dan statis secara global, memungkinkan perangkat dilacak dan diidentifikasi secara individual.

Fitur pengacakan MAC meningkatkan privasi pengguna dengan menggunakan alamat MAC yang diacak saat menyambung ke jaringan Wi-Fi.

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

Untuk perangkat yang menjalankan Android 10 atau lebih tinggi, kerangka kerja ini menggunakan alamat MAC acak secara default. Pengguna dapat mengaktifkan atau menonaktifkan pengacakan MAC untuk masing-masing jaringan melalui opsi di layar Detail jaringan di Pengaturan , seperti yang ditunjukkan pada Gambar 1. Jika pengguna menonaktifkan pengacakan MAC untuk suatu jaringan, kerangka kerja menggunakan alamat MAC pabrik (alamat unik global).

Opsi pengacakan MAC

Gambar 1. Opsi pengacakan MAC.

Jenis pengacakan MAC

Kerangka kerja 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 terhubung ke jaringan Wi-Fi. Secara default, Android menggunakan pengacakan persisten. Mulai Android 12, Android menggunakan pengacakan non-persisten dalam situasi berikut:

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

Pengacakan yang persisten

Android menggunakan jenis pengacakan persisten secara default ketika fitur pengacakan MAC diaktifkan. Android menghasilkan alamat MAC acak yang 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 yang persisten diperlukan jika jaringan mengandalkan persistensi alamat MAC untuk menyediakan fungsionalitas yang berguna bagi pengguna, misalnya, untuk mengingat perangkat dan memungkinkan pengguna melewati layar login seperti yang diharapkan, atau untuk mengaktifkan kontrol orang tua.

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

Pengacakan non-persisten

Di bawah jenis pengacakan non-persisten, yang digunakan untuk beberapa jaringan di Android 12 atau lebih tinggi, modul Wi-Fi mengacak ulang alamat MAC di awal setiap koneksi atau framework menggunakan alamat MAC acak yang ada untuk menyambung ke jaringan. Modul Wi-Fi mengacak ulang alamat MAC 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 pada awal koneksi baru. Wi-Fi tidak akan terputus secara aktif untuk tujuan mengacak ulang alamat MAC.

Jika tidak satu pun dari situasi ini yang berlaku, kerangka kerja akan menggunakan alamat MAC yang diacak sebelumnya untuk menyambung ke jaringan.

Opsi pengembang untuk pengacakan non-persisten

Untuk perangkat yang menjalankan Android 11 atau lebih tinggi, pengguna dapat mengaktifkan pengacakan MAC non-persisten secara global untuk semua jaringan Wi-Fi (yang mengaktifkan pengacakan MAC) melalui layar opsi pengembang . Opsi untuk mengaktifkan pengacakan MAC non-persisten untuk semua profil dapat ditemukan di Pengaturan > Opsi Pengembang > Pengacakan MAC non-persisten Wi-Fi .

Opsi pengacakan MAC non-persisten Wi-Fi

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