Penandatanganan Aplikasi Android dan Verifikasi Tanda Tangan


Penandatanganan Aplikasi

Penandatanganan Aplikasi adalah proses di mana sebuah APK (Paket Android) ditandatangani dengan kunci pribadi yang secara unik mengidentifikasi pengembang aplikasi. Proses ini memastikan bahwa aplikasi berasal dari pengembang yang diakui tanpa dimodifikasi setelah ditandatangani. Berikut penjelasan rinci:

Menghasilkan Keystore

  • Pengembang membuat keystore, sebuah berkas biner yang berisi kunci kriptografi. Keystore ini mengandung kunci pribadi yang digunakan untuk menandatangani APK.
  • Keystore dilindungi oleh kata sandi, yang harus dijaga aman untuk mencegah akses yang tidak sah.

Menandatangani APK

  • Selama atau setelah proses pembuatan, APK ditandatangani menggunakan kunci pribadi yang disimpan di keystore.
  • Proses ini menghasilkan tanda tangan digital dengan fungsi hash, menciptakan digest unik dari konten APK.
  • Digest kemudian dienkripsi dengan kunci pribadi pengembang, dan hasilnya disimpan dalam APK.

Penyertaan Sertifikat

  • APK menyertakan sertifikat yang berisi kunci publik yang sesuai dengan kunci pribadi yang digunakan untuk menandatangani.
  • Sertifikat ini digunakan untuk memverifikasi tanda tangan digital selama proses instalasi.

Mengapa Penandatanganan Aplikasi Penting?

  • Menjamin Keaslian: Mengonfirmasi identitas pengembang aplikasi.
  • Melindungi Integritas: Memastikan aplikasi tidak dimodifikasi sejak ditandatangani.
  • Memungkinkan Pembaruan Aman: Menjamin bahwa pembaruan berasal dari pengembang asli, karena pembaruan harus ditandatangani dengan kunci yang sama.

Verifikasi Tanda Tangan

Verifikasi Tanda Tangan adalah proses di mana sistem operasi Android memeriksa tanda tangan digital APK untuk memastikan integritas dan keasliannya sebelum instalasi. Cek artikel ini bagaimana Anda bisa dengan mudah memverifikasi tanda tangan / keaslian APK dan setelah itu kembali ke sini untuk membaca bagaimana verifikasi bekerja:

Ekstraksi Sertifikat

Ketika sebuah ">APK diunduh dan instalasi dimulai, perangkat mengekstrak sertifikat yang berisi kunci publik dari APK.

Mendekripsi Tanda Tangan

  • Perangkat menggunakan kunci publik yang diekstrak dari sertifikat untuk mendekripsikan tanda tangan digital yang tertanam di dalam APK.
  • Dekripsi menghasilkan hash asli (digest) yang dihasilkan selama proses penandatanganan.

Menghasilkan Hash

Sebagai langkah independen, perangkat menghasilkan hashnya sendiri dari konten APK. Ini dilakukan menggunakan fungsi hash yang sama yang digunakan selama proses penandatanganan.

Membandingkan Hash

  • Perangkat membandingkan hash yang dihasilkan secara independen dengan hash yang didekripsi dari tanda tangan digital.
  • Match: Jika hash cocok, APK diverifikasi autentik dan tidak dimodifikasi, memungkinkan proses instalasi berlanjut.
  • Mismatch: Jika hash tidak cocok, ini menunjukkan bahwa APK mungkin telah dimodifikasi sejak ditandatangani, dan instalasi diblokir.

Mengapa Verifikasi Tanda Tangan Penting?

  • Memvalidasi Keaslian: Memastikan APK ditandatangani oleh pengembang yang tertera.
  • Mempertahankan Integritas Memastikan APK tidak dimodifikasi sejak ditandatangani.
  • Melindungi Pengguna Memblokir APK yang berpotensi berbahaya agar tidak diinstal.

Yang Harus Dipilih jika sebuah apl memiliki Tanda Tangan Ganda?

Sebagian besar aplikasi hanya memiliki satu tanda tangan yang valid, tetapi beberapa dapat memiliki lebih dari satu. Anda perlu mencocokkan tanda tangan APK dengan yang sudah terpasang di perangkat Anda untuk menghindari kesalahan pembaruan.

Alasan untuk Tanda Tangan Ganda

  • Rotasi Kunci: Android 9 memungkinkan pengembang untuk mengganti kunci penandatanganan. Ini berkat Skema Tanda Tangan APK v3.
  • Saluran Distribusi: Aplikasi dari sumber yang berbeda (mis. Play Store, Github) mungkin memiliki tanda tangan yang berbeda.
  • Aplikasi Sistem: Kunci tanda tangan untuk aplikasi sistem dapat bervariasi tergantung perangkat atau versi OS.
  • Kasus Tak Terjelaskan: Beberapa aplikasi seperti Berkas oleh Google dan Layanan Play dari Google memiliki tanda tangan ganda.

Cara Mengidentifikasi Tanda Tangan yang Tepat:

  1. AndroidFreeware memiliki Pemeriksa APK canggih yang melakukan pemeriksaan izin Android, mendeteksi Flag & Filter berbahaya, menghitung checksum md5, sha1, sha256, dan melakukan pemeriksaan antivirus VirusTotal.
  2. Gunakan alat seperti My APK untuk melihat tanda tangan aplikasi.
  3. Gunakan pendekatan Trial and Error. Instal APK berbeda hingga pembaruan berhasil, lalu ingat tanda tangan yang benar untuk pembaruan mendatang.
  4. Unggah aplikasi ke APKMirror menggunakan ML Manager untuk menemukan tanda tangan yang sudah ada.
  5. Beberapa alat desktop dapat menemukan tanda tangan file apk. Di antaranya adalah apksigner oleh Google, keytool oleh IBM, dan print-apk-signature oleh Warren Bank.

Daftar Isi