ID Perangkat yang Tidak Dapat Diubah

Di Android 6 dan lebih tinggi, penyedia layanan Wi-Fi dan penganalisis paket telah dibatasi dalam mengambil alamat MAC pabrik perangkat melalui tumpukan Wi-Fi dari permintaan jaringan. Mulai Android 10, terdapat pembatasan tambahan yang membatasi akses ke pengidentifikasi perangkat (ID) untuk aplikasi dengan tingkat izin istimewa . Ini melindungi ID perangkat seperti

  • nomor telepon IMEI, MEID, ESN, dan IMSI.
  • nomor seri build, SIM, atau USB.

Siapa yang dapat mengakses ID perangkat

ID Perangkat dibatasi di semua perangkat Android 10, meskipun aplikasi menargetkan Android 9 atau lebih rendah. ID Perangkat dapat diakses oleh

Akses paket istimewa

Sebuah paket harus memiliki hak istimewa untuk mengakses ID perangkat. Itu harus memiliki izin READ_PRIVILEGED_PHONE_STATE di kelas Manifest.permission , dan diizinkan dalam file privapp-permission.xml . Untuk informasi tentang proses daftar yang diizinkan, lihat Daftar Izin Izin Istimewa .

Untuk informasi tentang mendapatkan ID unik untuk paket yang tidak memiliki hak istimewa , lihat Kasus penggunaan umum dan pengidentifikasi yang sesuai untuk digunakan .

ID perangkat yang dibatasi dan alamat MAC yang diacak

Untuk lebih membatasi ID perangkat, semua perangkat di Android 10 mengirimkan alamat MAC acak secara default untuk penyelidikan dan permintaan terkait, dan harus memiliki alamat MAC acak yang berbeda untuk setiap SSID. Jangan gunakan alamat MAC pabrik perangkat dalam mode klien, titik akses lunak (AP), atau kasus penggunaan Wi-Fi Direct. Itu harus tetap tersembunyi dari API yang dapat diakses publik yang bukan merupakan aplikasi yang memiliki hak istimewa. Aplikasi istimewa yang memerlukan pengembalian alamat MAC pabrik harus memiliki izin LOCAL_MAC_ADDRESS .

Pengguna memiliki opsi untuk mempertahankan alamat MAC acak default yang ditetapkan untuk setiap SSID. Opsi ini dapat dilihat di bawah Privasi di Pengaturan > Detail jaringan . Untuk mempelajari cara mendapatkan alamat MAC acak, lihat Alamat MAC acak .

Screen shows if device ID uses a randomized MAC address for privacy
Gambar 1. Alamat MAC ditampilkan secara acak pada Privasi di detail Jaringan

Aplikasi yang memanggil API ID perangkat

Aplikasi yang memanggil API ID perangkat harus memenuhi persyaratan Android 10. Jika tidak, ketika mereka mencoba mengakses ID perangkat, hal berikut akan dikembalikan:

  • Aplikasi yang menargetkan Android 10
  • Aplikasi yang menargetkan Android 9 atau lebih lama
    • Jika mereka memiliki izin READ_PHONE_STATE , respons null atau data placeholder akan dikembalikan.
    • Jika tidak, API ID perangkat akan menampilkan SecurityException yang berisi nama metode yang dipanggil, dan indikasi bahwa aplikasi pemanggil tidak memenuhi persyaratan untuk mengakses ID yang diminta.

Untuk informasi selengkapnya tentang ID perangkat yang tidak dapat diubah, lihat Pengidentifikasi perangkat yang tidak dapat disetel ulang dan praktik terbaik untuk pengidentifikasi unik .

Pengujian

Aplikasi harus dicegah mengakses nomor seri perangkat dan, jika berlaku, IMEI/MEID, nomor seri SIM, dan ID pelanggan. Aplikasi yang memiliki izin untuk mengakses ID ini juga harus memenuhi salah satu kriteria yang tercantum di Siapa yang dapat mengakses ID perangkat .