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 yang sedang berjalan digunakan untuk menangkap layar, menampilkan overlay, atau mengontrol perangkat.
  • Risiko dari malware yang diketahui: Menentukan apakah Google Play Protect diaktifkan dan apakah 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 itu terjadi di biner aplikasi asli Anda, yang diinstal oleh Google Play, yang berjalan di perangkat Android asli. Anda juga dapat memilih untuk menerima informasi dalam respons, termasuk volume permintaan yang diajukan perangkat baru-baru ini dan sinyal tentang lingkungan, termasuk risiko akses aplikasi dan verdict Play Protect. Jika ada yang salah dengan putusan, server backend aplikasi Anda dapat menentukan tindakan yang harus dilakukan untuk melindungi aplikasi dari masalah seperti penyalahgunaan 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.

Kumpulkan telemetri dan pahami audiens Anda sebelum mengambil tindakan

Sebelum mengubah perilaku aplikasi berdasarkan verdict Play Integrity API, Anda dapat pahami situasi saat ini dengan audiens lama dengan menerapkan API tanpa penerapan. Setelah mengetahui verdict basis penginstalan Anda saat ini Anda dapat memperkirakan dampak dari penegakan kebijakan 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 mengakali pemeriksaan integritas yang dilakukan oleh .

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. Aktivitas bervolume tinggi pelaku penyalahgunaan biasanya menghasilkan hasil pengesahan yang valid dari perangkat sungguhan dan menyediakannya ke bot untuk mengotomatiskan serangan pada emulator dan perangkat yang telah di-root. Anda dapat menggunakan tingkat aktivitas perangkat terbaru untuk memeriksa berapa banyak pengesahan dibuat 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 bagaimana Anda ingin server backend berfungsi jika terjadi serangan skala besar Gangguan Play Integrity API.

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 aplikasi mereka pengumpulan, berbagi, dan praktik keamanan data untuk terus memberikan informasi kepada pengguna. Untuk membantu Anda melengkapi formulir data, lihat informasi tentang cara Play Integrity API menangani data.