Ringkasan Play Integrity API

Play Integrity API membantu Anda memeriksa apakah interaksi dan permintaan server berasal dari biner aplikasi asli yang berjalan di perangkat Android asli. Dengan mendeteksi interaksi yang berpotensi berisiko dan menipu, seperti dari versi aplikasi yang dimodifikasi dan lingkungan yang tidak tepercaya, server backend aplikasi Anda dapat merespons dengan tindakan yang sesuai untuk mencegah serangan dan mengurangi penyalahgunaan.

Saat aplikasi atau game Anda digunakan di perangkat Android dengan Google Play Store dan didukung oleh layanan Google Play, Play Integrity API akan memberikan respons yang membantu Anda menentukan apakah Anda berinteraksi dengan:

  • Biner aplikasi asli: Menentukan apakah Anda berinteraksi dengan biner yang tidak dimodifikasi dan dikenali Google Play.
  • Penginstalan Play asli: Menentukan apakah akun pengguna saat ini memiliki lisensi, yang artinya pengguna telah menginstal atau membayar aplikasi atau game Anda di Google Play.
  • Perangkat Android asli: Menentukan apakah aplikasi Anda berjalan di perangkat Android asli yang didukung oleh layanan Google Play (atau instance asli Google Play Game untuk PC).

Anda juga dapat memilih untuk menerima informasi tentang lingkungan dalam respons Play Integrity API, termasuk:

  • Risiko akses aplikasi: Menentukan apakah aplikasi sedang berjalan dan dapat digunakan untuk mengambil screenshot, menampilkan overlay, atau mengontrol perangkat.
  • Risiko dari malware yang diketahui: Menentukan apakah Google Play Protect telah diaktifkan dan apakah Google Play Protect telah menemukan aplikasi berisiko atau berbahaya yang diinstal di perangkat.

Ringkasan

Saat pengguna melakukan tindakan di aplikasi, Anda dapat memanggil Play Integrity API untuk memeriksa apakah tindakan tersebut terjadi di biner aplikasi yang asli, aplikasi diinstal oleh Google Play, dan aplikasi berjalan di perangkat Android asli. Anda juga dapat memilih untuk menerima informasi tambahan dalam respons, termasuk volume permintaan yang dibuat perangkat baru-baru ini dan sinyal tentang lingkungan, termasuk verdict risiko akses aplikasi dan verdict Play Protect. Jika ada sesuatu yang salah dengan verdict, server backend aplikasi Anda dapat memutuskan tindakan yang harus dilakukan untuk mengatasi masalah seperti pelanggaran dan penipuan, penyalahgunaan dan kecurangan, akses tidak sah, dan serangan.

Alur
Ringkasan Play Integrity API

Pertimbangan keamanan

Play Integrity API memberikan nilai tertinggi untuk aplikasi jika Anda mengikuti praktik yang direkomendasikan berikut:

Memiliki strategi anti-penyalahgunaan

Play Integrity API akan berfungsi optimal jika digunakan bersama sinyal lain sebagai bagian dari keseluruhan strategi anti-penyalahgunaan dan bukan sebagai satu-satunya mekanisme anti-penyalahgunaan. Gunakan API ini bersama praktik terbaik keamanan lainnya yang sesuai untuk aplikasi Anda. Secara default, aplikasi Anda dapat membuat hingga 10.000 total permintaan per hari pada semua penginstalan. Anda dapat meminta untuk meningkatkan jumlah maksimum harian.

Mengumpulkan telemetri dan memahami audiens sebelum mengambil tindakan

Sebelum mengubah perilaku aplikasi berdasarkan verdict Play Integrity API, Anda dapat memahami situasi saat ini dengan audiens yang ada dengan menerapkan API tanpa penegakan. Setelah mengetahui verdict yang ditampilkan basis penginstalan Anda saat ini, Anda dapat memperkirakan dampak dari penerapan yang Anda rencanakan, dan menyesuaikan strategi anti-penyalahgunaan dengan tepat.

Menentukan cara meminta verdict integritas

Play Integrity API menawarkan dua opsi untuk meminta dan menerima verdict integritas. Baik Anda membuat permintaan standar, permintaan klasik, atau kombinasi kedua jenis permintaan, respons verdict integritas akan ditampilkan dalam format yang sama.

Permintaan API standar cocok untuk aplikasi atau game apa pun dan dapat dibuat on demand untuk memeriksa apakah tindakan pengguna atau permintaan server asli. Permintaan standar memiliki latensi terendah (rata-rata beberapa ratus milidetik) dan keandalan tinggi untuk mendapatkan verdict yang dapat digunakan. Permintaan standar menggunakan cache dalam perangkat yang cerdas sekaligus mendelegasikan perlindungan terhadap jenis serangan tertentu terhadap Google Play.

Permintaan API klasik, cara asli untuk meminta verdict integritas, juga akan terus tersedia. Permintaan klasik memiliki latensi yang lebih tinggi (rata-rata beberapa detik) dan Anda bertanggung jawab untuk mengurangi risiko jenis serangan tertentu. Permintaan klasik menggunakan lebih banyak data dan baterai pengguna daripada permintaan standar karena permintaan klasik memulai penilaian baru, sehingga harus jarang dibuat, sebagai permintaan satu kali saja, untuk memeriksa apakah tindakan yang sangat sensitif atau berharga asli. Jika Anda mempertimbangkan untuk membuat permintaan klasik dan menyimpannya dalam cache agar dapat digunakan nanti, Anda harus membuat permintaan standar untuk mengurangi risiko serangan.

Tabel berikut menyoroti beberapa perbedaan utama antara kedua jenis permintaan:

Permintaan API standar Permintaan API klasik
Versi Android SDK minimum yang diperlukan Android 5.0 (API Level 21) atau yang lebih tinggi Android 4.4 (level API 19) atau yang lebih tinggi
Pemanasan API diperlukan ✔️ (beberapa detik)
Latensi permintaan umum Beberapa ratus milidetik Beberapa detik
Potensi frekuensi permintaan Sering (pemeriksaan on demand untuk tindakan atau permintaan apa pun) Jarang (pemeriksaan satu kali untuk tindakan bernilai tertinggi atau permintaan paling sensitif)
Mengurangi serangan replay dan serangan serupa Mitigasi otomatis oleh Google Play Menggunakan kolom nonce dengan logika sisi server

Anda dapat melihat tabel dengan lebih banyak perbedaan di pertimbangan permintaan klasik.

Meminta verdict integritas pada waktu yang tepat

Anda harus meminta verdict risiko akses aplikasi sedekat mungkin dengan waktu tindakan atau permintaan server yang ingin Anda pertahankan agar tidak diakses, untuk mencegah scammer menyelesaikan pemeriksaan integritas yang dilakukan dengan aplikasi Anda.

Membuat permintaan API sulit direplikasi

Permintaan API standar memiliki kolom bernama requestHash yang digunakan untuk melindungi dari modifikasi tidak sah dan serangan serupa. Di kolom ini, Anda harus menyertakan ringkasan semua nilai yang relevan dari permintaan aplikasi Anda. Ikuti panduan cara menggunakan binding konten untuk melindungi permintaan standar aplikasi Anda.

Permintaan API klasik memiliki kolom yang disebut nonce (singkatan dari number once), yang digunakan untuk memberikan perlindungan dari jenis serangan tertentu, seperti serangan replay dan modifikasi tidak sah. Ikuti panduan tentang cara membuat nonce untuk melindungi permintaan klasik aplikasi Anda.

Menghindari menyimpan verdict integritas dalam cache

Menyimpan verdict integritas dalam cache akan meningkatkan risiko proxy, yang merupakan serangan dengan pihak tidak bertanggung jawab yang menggunakan kembali verdict dari perangkat yang baik untuk tujuan penyalahgunaan di lingkungan lain. Daripada menyimpan respons dalam cache, Anda dapat membuat permintaan API standar untuk mendapatkan verdict on demand.

Memiliki strategi penerapan bertingkat

Verdict integritas Play Integrity API memiliki berbagai kemungkinan respons yang memungkinkan pembuatan strategi anti-penyalahgunaan dengan beberapa tingkat penerapan. Anda dapat melakukannya dengan mengonfigurasi server backend aplikasi untuk berperilaku secara berbeda, bergantung pada setiap kemungkinan respons atau grup respons.

Anda juga dapat membuat strategi penerapan berdasarkan kepercayaan di perangkat dengan memilih untuk menerima label perangkat tambahan dalam respons API dari Konsol Play. Setiap perangkat akan menampilkan semua label yang kriterianya terpenuhi. Misalnya, setelah memilih untuk menerima semua label perangkat, Anda dapat memilih untuk memercayai perangkat yang menampilkan MEETS_STRONG_INTEGRITY, MEETS_DEVICE_INTEGRITY, dan MEETS_BASIC_INTEGRITY lebih dari perangkat yang hanya menampilkan MEETS_BASIC_INTEGRITY. Anda dapat merespons secara berbeda dari server dalam setiap skenario.

Mengirimkan berbagai respons dari server Anda ke aplikasi

Memiliki rentang hasil keputusan lebih sulit untuk direplikasi daripada mengirim respons biner Izinkan/Tolak dari server kembali ke aplikasi untuk setiap respons. Misalnya, Anda dapat menggunakan serangkaian respons terkait seperti Izinkan, Izinkan dengan batas, Izinkan dengan batas setelah penyelesaian CAPTCHA, dan Tolak.

Mendeteksi penyalahgunaan berskala besar menggunakan aktivitas perangkat terbaru

Gunakan fitur aktivitas perangkat terbaru di Play Integrity API untuk menemukan perangkat yang meminta token integritas dalam jumlah besar. Pelaku penyalahgunaan aktivitas bervolume tinggi biasanya menghasilkan hasil pengesahan yang valid dari perangkat sebenarnya dan memberikannya ke bot untuk mengotomatiskan serangan pada emulator dan perangkat yang telah di-root. Anda dapat menggunakan level aktivitas perangkat terbaru untuk memeriksa jumlah pengesahan yang dihasilkan oleh aplikasi Anda di perangkat tersebut dalam satu jam terakhir.

Menampilkan pesan error yang dapat ditindaklanjuti

Jika memungkinkan, berikan pesan error yang berguna kepada pengguna dan beri tahu mereka hal yang dapat dilakukan untuk memperbaikinya, seperti mencoba ulang, mengaktifkan koneksi Internet, atau memeriksa apakah aplikasi Play Store sudah yang terbaru.

Membuat rencana untuk masalah atau pemadaman layanan yang tidak terduga

Dasbor status Play menampilkan informasi tentang status layanan Play Integrity API beserta informasi tentang gangguan dan pemadaman layanan. Anda harus merencanakan terlebih dahulu cara kerja server backend jika terjadi pemadaman layanan Play Integrity API berskala besar. Perhatikan bahwa server backend Anda juga harus siap berfungsi jika kunci Android Platform Key Attestation khusus untuk perangkat dicabut.

Mempertimbangkan solusi penipuan perusahaan secara menyeluruh

Pelanggan Enterprise yang mencari solusi lengkap pengelolaan penipuan dan bot dapat membeli reCAPTCHA Enterprise untuk perangkat seluler, yang meliputi SDK untuk Android yang memberikan skor risiko penipuan kepada developer. reCAPTCHA Enterprise secara otomatis menyertakan sinyal Play Integrity API dan menggabungkannya dengan sinyal aplikasi dan jaringan reCAPTCHA untuk pelanggan, sehingga memberikan solusi pengelolaan penipuan yang tidak terlihat, lancar, dan praktis. Aplikasi ini juga memberikan perlindungan untuk aplikasi Android yang tidak menyediakan Play Integrity API.

Menantang traffic berisiko saat mengakses fitur bernilai tinggi atau sensitif

Identifikasi tindakan bernilai tinggi atau sensitif di aplikasi atau game Anda untuk melindungi dengan Play Integrity API, bukan untuk langsung menolak akses. Jika memungkinkan, tantang traffic berisiko sebelum mengizinkan tindakan bernilai tinggi untuk dilanjutkan. Misalnya, jika risiko akses aplikasi menunjukkan bahwa aplikasi sedang berjalan dan dapat merekam layar, minta pengguna untuk menonaktifkan atau meng-uninstal aplikasi yang dapat merekam layar sebelum mengizinkannya melanjutkan ke fungsi yang ingin Anda lindungi.

Persyaratan layanan dan keamanan data

Dengan mengakses atau menggunakan Play Integrity API, Anda menyetujui Persyaratan Layanan Play Integrity API. Harap baca dan pahami semua persyaratan dan kebijakan yang berlaku sebelum mengakses API.

Google Play memiliki bagian keamanan data bagi developer untuk mengungkapkan praktik pengumpulan, berbagi, dan keamanan data aplikasi mereka agar pengguna terus mendapatkan informasi. Untuk membantu Anda melengkapi formulir data, lihat informasi tentang cara Play Integrity API menangani data.