Verdict yang ditingkatkan di perangkat Android 13 dan yang lebih baru

Baru-baru ini kami mengumumkan bahwa kami memperkuat verdict Play Integrity API agar lebih cepat, lebih tahan terhadap serangan, dan lebih pribadi bagi pengguna bersama dengan peningkatan keamanan lainnya.

Ringkasan perubahan

Anda dapat menemukan ringkasan mendetail tentang perubahan dan dampak yang diharapkan nanti dalam dokumen ini. Verdict baru akan tersedia sebagai berikut:

  • Integrasi baru: Semua integrasi baru akan otomatis menerima verdict baru.

  • Integrasi yang ada hingga Mei 2025: Developer dengan integrasi yang ada dapat memilih ikut serta di halaman setelan Play Integrity API di Konsol Play untuk menerima verdict baru bersama verdict lama sekarang, sehingga memberi Anda waktu untuk meninjau dan mempertimbangkan untuk membuat perubahan pada perilaku aplikasi Anda. Sebelum mengaktifkannya, Anda dapat melihat perubahan yang diharapkan dalam % perangkat yang menampilkan setiap verdict dan contoh JSON verdict baru. Jika memilih ikut serta, Anda akan menerima dua kolom tambahan dalam respons dengan versi Android SDK dan verdict lama.

  • Integrasi yang ada setelah Mei 2025: Peningkatan ini akan diaktifkan untuk semua integrasi, tanpa memerlukan pekerjaan developer. Aplikasi yang memilih ikut serta sebelum Mei 2025 tidak akan menerima kolom sementara yang berisi verdict lama.

Apa Yang berubah Estimasi dampak* Perangkat mana
Perubahan yang memengaruhi semua developer yang membuat permintaan Play Integrity API
Respons verdict perangkat: meets-device-integrity Wajib memiliki verdict booting terverifikasi positif yang didukung hardware Dampak minimal karena Play Integrity API sudah menggunakan sinyal keamanan yang didukung hardware di perangkat Android 13 atau yang lebih baru (~0,4%) Android 13 dan yang lebih baru
Respons integritas aplikasi: Verdict pengenalan aplikasi Tidak ada perubahan Pengaruh minimal, hal ini akan mencerminkan perubahan dalam verdict perangkat (~0,4%) Android 13 dan yang lebih baru
Respons detail akun: Verdict lisensi Play Aplikasi yang meminta harus diinstal atau diupdate oleh Google Play Penurunan kecil pada respons berlisensi (~2,5%) Android 11 dan yang lebih baru (perubahan ini akan diluncurkan secara bertahap)
Perubahan yang hanya memengaruhi developer Konsol Play dan developer Play SDK Console yang menggunakan fitur opsional
Respons verdict perangkat: meets-basic-integrity Wajib memiliki Pengesahan Kunci Platform Android, tetapi status booting dapat diverifikasi atau tidak diverifikasi Penurunan kecil pada respons dasar (~0,4%) Android 13 dan yang lebih baru
Respons verdict perangkat: meets-strong-integrity Wajib memiliki update keamanan dalam setahun terakhir Penurunan respons kuat (~14,5%) Android 13 dan yang lebih baru
Semua sinyal opsional Aplikasi yang meminta harus diinstal atau diupdate oleh Google Play Penurunan % respons yang menyertakan sinyal opsional (~7%) Android 13 dan yang lebih baru

*Semua estimasi persentase dampak di atas didasarkan pada rata-rata dan aplikasi yang berbeda mungkin mengalami perubahan yang lebih kecil atau lebih besar bergantung pada basis penginstalannya.

Pertanyaan umum (FAQ)

Ringkasan

Apa yang dimaksud dengan Play Integrity API?

Play Integrity API membantu Anda menilai tingkat kepercayaan lingkungan aplikasi pengguna dengan mendapatkan informasi tentang perangkat, aplikasi, dan pengguna, sehingga Anda dapat mendeteksi dan merespons potensi penyalahgunaan dan serangan.

Sinyal apa yang diberikan Play Integrity API?

Play Integrity API menyertakan identitas aplikasi yang meminta, apakah aplikasi yang meminta diinstal oleh Google Play, dan apakah perangkat tersebut merupakan Perangkat Android Bersertifikat Play Protect yang asli. Sinyal ini disediakan secara default. Anda dapat membaca sinyal ini di server backend aplikasi dan memutuskan apakah dan bagaimana aplikasi harus merespons. Developer Google Play dapat memilih untuk menerima sinyal tambahan dalam penginstalan Play mereka untuk melihat lebih banyak informasi.

Apa yang dimaksud dengan Android Platform Key Attestation?

Pengesahan Kunci Platform Android memungkinkan aplikasi memverifikasi status perangkat dan mendapatkan sinyal yang kuat tentang integritas booting yang didukung hardware. Hal ini bergantung pada kunci yang disediakan oleh Google di keystore yang didukung hardware perangkat. Play Integrity API sudah menggunakan pengesahan kunci untuk mendapatkan sinyal keamanan yang didukung hardware di beberapa perangkat dan kini akan mengintegrasikannya lebih dalam di semua perangkat yang menjalankan Android 13 atau yang lebih baru.

Perubahan verdict

Perubahan apa yang dilakukan pada verdict Play Integrity API di perangkat Android 13 atau yang lebih baru?

Play Integrity API kini akan memerlukan sinyal keamanan yang didukung hardware untuk semua verdict integritas:

  • Verdict pengenalan perangkat meets-device-integrity adalah indikasi bahwa perangkat tempat aplikasi berjalan adalah perangkat Android asli yang bersertifikasi Play Protect. Putusan ini akan mewajibkan bootloader perangkat terkunci dan Android OS yang dimuat menjadi image produsen perangkat bersertifikasi.
  • Verdict pengenalan perangkat meets-strong-integrity adalah indikasi perangkat Android asli bersertifikasi Play Protect dengan update keamanan terbaru. Verdict ini akan memerlukan meets-device-integrity dan perangkat harus memiliki update keamanan dalam setahun terakhir. Kondisi ini dapat berubah pada masa mendatang.
  • Verdict pengenalan perangkat meets-basic-integrity adalah indikasi bahwa pemeriksaan terjadi di perangkat fisik yang didukung Android. Bootloader perangkat dapat dikunci atau tidak terkunci, dan status booting dapat diverifikasi atau tidak diverifikasi. Perangkat tersebut mungkin tidak bersertifikasi Play Protect. Jika demikian, Google tidak dapat memberikan jaminan keamanan, privasi, atau kompatibilitas aplikasi dan tidak dapat memastikan bahwa perangkat tidak bertindak sebagai proxy, seperti untuk instance virtual Android. Ini juga berarti bahwa perangkat yang telah di-root memenuhi syarat untuk menampilkan meets-basic-integrity selama pengesahan kunci ada.

Perubahan ini tidak memengaruhi Play Integrity API di Play Game untuk PC yang akan terus menampilkan meets-virtual-integrity.

Mengapa verdict Play Integrity API diubah di perangkat Android 13 atau yang lebih baru?

Play Integrity API hanya menggunakan sebagian sinyal keamanan yang didukung hardware di seluruh versi Android SDK. Dengan meningkatkan integrasinya, verdict Play Integrity API akan lebih tahan terhadap penyerang, lebih berperforma baik untuk aplikasi, dan lebih pribadi bagi pengguna. Setelah transisi selesai, kami berharap peningkatan berikut di perangkat yang menjalankan Android 13 atau yang lebih baru:

  • Pengurangan sinyal perangkat yang perlu dikumpulkan dan dievaluasi untuk membuat verdict default di server Google sebesar ~90%. Sinyal opsional akan terus memerlukan sinyal tambahan untuk dikumpulkan.
  • Peningkatan latensi verdict hingga 80% untuk permintaan standar kasus terburuk dan hingga 80% untuk semua permintaan klasik guna mendapatkan verdict default. Sinyal opsional dapat meningkatkan latensi.
  • Tingkat keandalan dan dukungan yang konsisten untuk semua faktor bentuk Android dengan pengesahan kunci termasuk perangkat seluler, tablet, perangkat foldable, TV, Auto, Wear OS, dan ChromeOS.
  • Diferensiasi yang lebih besar antara setiap label perangkat dalam verdict pengenalan perangkat: meets-strong-integrity, meets-device-integrity, dan meets-basic-integrity.

Performa tidak akan berubah selama periode keikutsertaan saat Play Integrity API menghasilkan verdict integritas lama dan baru. Namun, setelah verdict baru diluncurkan untuk semua developer pada Mei 2025, kami memperkirakan peningkatan performa akan terlihat secara bertahap, saat kami menghapus atau mentransisikan dependensi lama untuk semua sinyal default dan opsional.

Verdict Play Integrity API di Play Game untuk PC tidak diubah dan akan sama di Android 12 dan yang lebih lama seperti di Android 13 dan yang lebih tinggi.

Bagaimana cara mengupdate logika backend aplikasi saya untuk verdict integritas agar mempertimbangkan versi Android SDK?

Jika ingin menggunakan logika yang berbeda di server backend aplikasi berdasarkan versi Android SDK, Anda dapat menggunakan kolom atribut perangkat baru dalam verdict. Berikut adalah contoh cara melakukannya:

Kotlin

val deviceIntegrity =
  JSONObject(payload).getJSONObject("deviceIntegrity")
val sdkVersion =
  if (deviceIntegrity.has("deviceAttributes")) {
    deviceIntegrity.getJSONObject("deviceAttributes").getInt("sdkVersion")
  } else {
    0
  }

if (sdkVersion >= 30) {
  // Provide Android R+ specific experience to the user.
}

Java

JSONObject deviceIntegrity =
  new JSONObject(payload).getJSONObject("deviceIntegrity");
int sdkVersion =
  deviceIntegrity.has("deviceAttributes")
    ? deviceIntegrity.getJSONArray("deviceAttributes").getInt("sdkVersion")
    : 0;

if (sdkVersion >= 30) {
  // Provide Android R+ specific experience to the user.
}

Bagaimana cara menggunakan definisi label meets-strong-integrity lama di semua versi Android SDK?

Anda dapat melakukannya dengan mengupdate logika backend aplikasi untuk menggunakan meets-strong-integrity jika perangkat tersebut adalah perangkat pra-Android 13 dan meets-device-integrity jika perangkat tersebut adalah perangkat Android 13 atau yang lebih baru menggunakan kolom atribut perangkat baru dalam verdict yang berisi versi Android SDK. Berikut contoh cara melakukannya:

Kotlin

val deviceRecognitionVerdict =
  if (deviceIntegrity.has("deviceRecognitionVerdict")) {
    deviceIntegrity.getJSONArray("deviceRecognitionVerdict").toString()
  } else {
    ""
  }

val deviceIntegrityToCheckFor =
  sdkVersion < 33 ? "MEETS_STRONG_INTEGRITY" : "MEETS_DEVICE_INTEGRITY";

if (deviceRecognitionVerdict.contains(deviceIntegrityToCheckFor)) {
  // Looks good!
}

Java

JSONObject deviceIntegrity =
  new JSONObject(payload).getJSONObject("deviceIntegrity");
String deviceRecognitionVerdict =
  deviceIntegrity.has("deviceRecognitionVerdict")
    ? deviceIntegrity.getJSONArray("deviceRecognitionVerdict").toString()
    : "";

String deviceIntegrityToCheckFor =
  sdkVersion < 33 ? "MEETS_STRONG_INTEGRITY" : "MEETS_DEVICE_INTEGRITY";

if (deviceRecognitionVerdict.contains(deviceIntegrityToCheckFor)) {
  // Looks good!
}

Karena juga merupakan sinyal yang didukung hardware, kolom atribut perangkat paling andal di perangkat yang menjalankan Android 13 dan yang lebih tinggi.

Perubahan verdict apa lagi yang dilakukan Play Integrity API?

Kami terus berinvestasi untuk membuat sinyal yang ada di Play Integrity API lebih andal dan kami meluncurkan fitur baru secara berkala untuk membantu developer menangani ancaman yang muncul dan kasus penggunaan baru. Peningkatan verdict lainnya yang kami lakukan meliputi:

  • Respons berlisensi Play: Untuk menampilkan respons berlisensi Play, Play Integrity API kini selalu mewajibkan aplikasi yang meminta untuk diinstal atau diupdate oleh Google Play. Hal ini memperbaiki beberapa kasus ekstrem dan membuat respons lebih mudah ditafsirkan oleh developer. Fitur ini tersedia di Android 13 atau versi yang lebih baru.
  • Ketersediaan sinyal opsional: Semua sinyal opsional yang tersedia bagi developer yang menggunakan Konsol Google Play atau Konsol Play SDK kini akan mewajibkan aplikasi yang meminta untuk diinstal, atau diupdate, oleh Google Play di Android 13 atau yang lebih baru. Hal ini mencakup meets-strong-integrity, meets-basic-integrity, aktivitas perangkat terbaru, verdict risiko akses aplikasi, dan verdict Play Protect. Semua permintaan Play Integrity API lainnya akan distandarisasi untuk menerima pemeriksaan perangkat (hanya dengan label meets-device-integrity), pemeriksaan penginstal, dan pemeriksaan integritas aplikasi.
  • Perubahan verdict untuk perangkat tertentu: Play Integrity API juga akan mulai otomatis mengubah verdict perangkat dalam lebih banyak skenario untuk melindungi aplikasi lebih awal di semua versi Android SDK, seperti saat ada bukti aktivitas yang berlebihan atau kompromi kunci. Hal ini akan mencakup kemampuan Play untuk kembali ke sinyal lain guna menghasilkan verdict perangkat sementara untuk pengguna saat sinyal yang didukung hardware tidak tersedia. Developer direkomendasikan untuk menggunakan dialog perbaikan Play dalam aplikasi atau mengarahkan pengguna ke aplikasi Play Store untuk memperbaiki masalah verdict integritas. Seiring waktu, dialog ini akan menangani lebih banyak skenario dan menyertakan panduan khusus bagi pengguna yang memberi tahu mereka hal yang perlu diperbaiki berdasarkan perangkat atau akun tertentu.

Memilih ikut serta dan tidak ikut serta

Bagaimana cara ikut serta dalam verdict yang ditingkatkan di perangkat Android 13 atau yang lebih baru?

Developer yang menggunakan Konsol Play dapat memilih ikut serta di halaman setelan Play Integrity API.

Apa yang akan terjadi pada respons Play Integrity API saya setelah saya ikut serta?

Tiga hal akan terjadi jika Anda memilih untuk ikut serta:

  • Respons di kolom deviceRecognitionVerdict akan segera mulai dibuat dan ditampilkan berdasarkan persyaratan evaluasi verdict baru di perangkat Android 13 atau yang lebih baru. Pada perangkat yang menjalankan Android 12 dan yang lebih rendah, deviceRecognitionVerdict akan dibuat menggunakan evaluasi verdict historis.
  • Anda akan menerima kolom baru, deviceAttributes, yang berisi versi Android SDK di perangkat.
  • Anda akan menerima kolom baru, legacyDeviceRecognitionVerdict, yang berisi respons integritas perangkat berdasarkan persyaratan evaluasi verdict historis, terlepas dari versi Android SDK.

Saat perubahan verdict diluncurkan untuk semua integrasi pada Mei 2025, aplikasi yang memilih ikut serta akan berhenti menerima kolom legacyDeviceRecognitionVerdict.

Bagaimana cara melaporkan masalah terkait verdict integritas?

Untuk melaporkan masalah terkait respons dari Play Integrity API, baik masalah terkait verdict historis maupun yang baru, ikuti petunjuk di halaman dukungan.

Dapatkah saya memilih untuk tidak ikut setelah saya memilih untuk ikut?

Ya, Anda dapat memilih tidak ikut di halaman setelan Play Integrity API.

Ketersediaan

Apa yang diperlukan Play Integrity API agar dapat berfungsi?

Play Integrity API mengharuskan Google Play Store dan layanan Google Play diinstal di perangkat, termasuk perangkat Android dan Google Play Game untuk PC. Permintaan klasik memerlukan Android 4.4 (API level 19) atau yang lebih baru dan permintaan standar memerlukan Android 5.0 (API level 21) atau yang lebih baru. Di perangkat yang menjalankan Android 13 (level API 33) dan yang lebih baru, Play Integrity API kini akan memiliki tingkat keandalan dan dukungan yang sama di semua faktor bentuk Android dengan pengesahan kunci termasuk perangkat seluler, tablet, perangkat foldable, TV, Auto, Wear OS, dan ChromeOS.

Mengapa Play Integrity API memiliki verdict yang berbeda untuk perangkat yang berbeda?

Play Integrity API memberikan beberapa verdict perangkat untuk mengakomodasi developer dengan kasus penggunaan dan toleransi risiko yang berbeda serta memungkinkan adanya strategi penerapan bertingkat. Misalnya, jika aplikasi dan perangkat lebih dipercaya, developer dapat menyederhanakan langkah-langkah verifikasi penggunanya; sedangkan, jika perangkat tidak dikenal, developer mungkin memerlukan verifikasi pengguna tambahan sebelum melakukan tindakan yang dilindungi atau sensitif. Hal ini dapat menjadi cara yang efektif untuk mengurangi penyalahgunaan dan serangan.

Apa yang dimaksud dengan perangkat Android bersertifikasi Play Protect?

Perangkat yang didukung Android dan bersertifikasi Play Protect (juga dikenal sebagai perangkat Android GMS) adalah perangkat yang menjalankan software yang dapat diprediksi dan telah lulus ratusan pengujian kompatibilitas Google, mematuhi model keamanan dan izin Android, serta dilengkapi dengan rangkaian fitur anti-malware Google Play Protect. Jika Play Integrity API dapat memverifikasi bahwa perangkat adalah perangkat Android yang bersertifikasi Play Protect, API ini akan menampilkan respons meets-device-integrity dalam verdict pengenalan perangkat.

Apa yang dimaksud dengan perangkat meets-basic-integrity?

Play Integrity API juga menampilkan respons opsional dalam verdict perangkat, meets-basic-integrity. Jika perangkat hanya menampilkan verdict meets-basic-integrity tanpa meets-device-integrity atau meets-strong-integrity, artinya OS Android tidak dapat diverifikasi, tetapi pengesahan kunci ada. Hal ini menunjukkan bahwa pemeriksaan terjadi di perangkat fisik yang didukung Android, tetapi Google tidak dapat memberikan jaminan tentang keamanan, privasi, atau kompatibilitas aplikasi perangkat dan tidak dapat menjamin bahwa perangkat tidak bertindak sebagai proxy, seperti untuk instance virtual Android. Bergantung pada kasus penggunaan dan toleransi risiko developer, mereka dapat memutuskan cara mereka ingin aplikasi berjalan di perangkat ini.

Dapatkah semua developer menggunakan Play Integrity API?

Ya, developer Android mana pun dapat membuat permintaan Play Integrity API untuk menerima verdict integritas default. Penggunaan dibatasi hingga 10 ribu permintaan per hari, terlepas dari saluran distribusi. Developer yang memublikasikan aplikasi mereka di Google Play selain di saluran distribusi lainnya juga dapat meminta untuk meningkatkan kuota harian mereka.

Dapatkah developer mana pun menggunakan Android Platform Key Attestation?

Ya, setiap developer Android dapat menggunakan Pengujian Kunci Platform Android untuk mendapatkan data pengujian kunci, yang dapat mereka verifikasi dengan sertifikat publik kunci root pengujian Google. Play Integrity API memberikan manfaat pengesahan kunci dan fitur tambahan kepada developer tanpa semua kerumitan yang harus diintegrasikan dengan pengesahan kunci itu sendiri.

Penegakan

Bagaimana cara developer menggunakan verdict Play Integrity API?

Developer dapat memutuskan apakah dan bagaimana menggunakan verdict Play Integrity API. Beberapa developer mengumpulkan sinyal untuk analisis anti-penyalahgunaan internal, sedangkan developer lain akan membuat keputusan tentang perilaku aplikasi mereka berdasarkan verdict. Misalnya, developer dapat memutuskan untuk mewajibkan perangkat yang kurang tepercaya melakukan langkah verifikasi pengguna tambahan saat membuat akun; atau mereka dapat memutuskan bahwa perangkat yang kurang tepercaya harus bermain bersama di server multiplayer yang sama.

Apakah Play Integrity API memblokir pengguna atau perangkat?

Tidak, Play Integrity API tidak memblokir akses ke fungsi apa pun. Ini adalah layanan developer opsional yang memberikan sinyal dan developer memilih cara menindaklanjuti sinyal tersebut.

Apa yang harus dilakukan pengguna jika perangkat mereka gagal dalam pemeriksaan perangkat Play Integrity API?

Pengguna dapat membuka aplikasi Play Store di perangkat mereka, membuka menu Setelan, men-scroll ke bawah ke Tentang, lalu melihat di bagian sertifikasi Play Protect. Jika ada masalah dengan sertifikasi Play Protect perangkat mereka, akan ada tombol yang dapat ditekan pengguna untuk mencoba memperbaiki masalah tersebut. Tindakan ini akan memperbarui status sertifikasi perangkat dan memberikan panduan spesifik tentang hal yang perlu diperbaiki.