Di Indonesia, banyak pengguna mengunduh APK langsung dari situs pihak ketiga atau grup Telegram/WhatsApp, bukan dari Google Play Store — sebagian karena kuota data, sebagian karena aplikasi tertentu tidak tersedia resmi. Celah inilah yang sering dimanfaatkan APK palsu yang menyamar sebagai aplikasi bank atau aplikasi layanan pemerintah (misalnya versi tiruan aplikasi pajak atau bantuan sosial) untuk mencuri data. Mencocokkan checksum resmi dari sumber asli dengan file yang diunduh adalah cara sederhana mendeteksi penggantian semacam ini sebelum menginstal.
Bagaimana checksum mendeteksi kerusakan atau manipulasi
Karena efek longsoran pada fungsi hash, baik akibat kerusakan saat transfer maupun manipulasi yang disengaja, satu byte saja yang berubah akan mengubah total hash yang dihitung dari file tersebut. Karena itu, perbedaan apa pun antara checksum yang diharapkan dan yang dihitung berarti secara jelas bahwa file berbeda dari aslinya — byte demi byte.
Apa yang tidak dijamin oleh checksum
Kecocokan hash hanya memastikan file identik dengan file yang digunakan untuk menghitung hash yang dipublikasikan — bukan bahwa file asli itu aman. Jika situs palsu itu sendiri yang mempublikasikan APK berbahaya beserta checksum "cocok" buatannya sendiri, verifikasi tidak akan mendeteksi apa pun — karena itu hash rujukan harus diambil dari situs resmi bank atau instansi, bukan dari sumber tidak resmi tempat file dicurigai diunduh.
Checksum vs tanda tangan digital
Berbeda dengan checksum, tanda tangan digital dibuat dengan kunci privat dan hanya bisa diverifikasi dengan kunci publik yang sesuai. Play Store memverifikasi tanda tangan ini secara otomatis saat instalasi; saat APK di-sideload secara manual, perlindungan ini hilang, dan pencocokan checksum manual menjadi satu-satunya pemeriksaan yang tersisa.
Untuk apa ini dibutuhkan
- Memastikan APK bank atau instansi pemerintah yang diunduh di luar toko resmi tidak diubah.
- Membandingkan dua file besar dengan cepat tanpa membandingkan byte demi byte.
- Memverifikasi bahwa salinan cadangan file identik dengan aslinya.
Mengapa terkadang CRC32 digunakan alih-alih SHA-256
CRC32 jauh lebih cepat daripada fungsi hash kriptografis, tapi mudah dipalsukan secara sengaja — ini bukan masalah untuk mendeteksi kerusakan tak disengaja saat transfer, tapi tidak cocok sebagai perlindungan dari penyerang yang ingin mengganti file secara diam-diam. Karena itu CRC32 masih ditemukan di arsip dan protokol jaringan untuk kontrol kesalahan, bukan di tempat yang memang membutuhkan keamanan.