Penandatanganan Aplikasi Android dan Pengesahan Tandatangan


Penandatanganan Aplikasi

Penandatanganan Aplikasi adalah proses di mana sebuah APK (Pakej Android) ditandatangani dengan kunci peribadi yang secara unik mengenal pasti pembangun aplikasinya. Proses ini memastikan bahawa aplikasi itu datang dari pembangun yang dituntut tanpa diubah suai selepas ia ditandatangani. Berikut adalah penjelasan terperinci:

Menghasilkan Keystore

  • Pembangun mencipta keystore, sebuah fail binari yang mengandungi kunci kriptografi. Keystore ini mengandungi kunci peribadi yang digunakan untuk menandatangani APK.
  • Keystore dilindungi oleh kata laluan, yang harus disimpan dengan selamat untuk mencegah akses tanpa izin.

Menandatangani APK

  • Semasa atau selepas proses pembinaan, APK ditandatangani menggunakan kunci peribadi yang disimpan dalam keystore.
  • Proses ini menghasilkan tandatangan digital melalui fungsi hash, mencipta digest unik dari kandungan APK.
  • Digest ini kemudian dienkripsi dengan kunci peribadi pembangun, dan hasilnya disimpan dalam APK.

Kemasan Sijil

  • APK merangkumi sijil yang mengandungi kunci awam yang sepadan dengan kunci peribadi yang digunakan untuk menandatangani.
  • Sijil ini digunakan untuk mengesahkan tandatangan digital semasa proses pemasangan.

Mengapa Penandatanganan Aplikasi Penting?

  • Menjamin Keaslian: Mengesahkan identiti pembangun aplikasi.
  • Melindungi Integriti: Memastikan aplikasi tidak diubah suai sejak ia ditandatangani.
  • Membolehkan Kemas Kini Selamat: Menjamin bahawa kemas kini datang dari pembangun asal, kerana kemas kini mesti ditandatangani dengan kunci yang sama.

Pengesahan Tandatangan

Pengesahan Tandatangan adalah proses di mana sistem operasi Android memeriksa tandatangan digital sebuah APK untuk memastikan integriti dan keasliannya sebelum pemasangan. Lihat post ini di Reddit tentang Bagaimana anda boleh mudah mengesahkan tandatangan / keaslian APK dan selepas itu kembali ke sini untuk membaca bagaimana verifikasi berfungsi:

Mengekstrak Sijil

Apabila sebuah APK dimuat turun dan pemasangan dimulakan, peranti mengekstrak sijil yang mengandungi kunci awam dari APK.

Penyahsulitan Tandatangan

  • Peranti menggunakan kunci awam yang diekstrak dari sijil untuk menyahsulit tandatangan digital yang tertanam dalam APK.
  • Penyahsulitan akan menghasilkan hash (digest) asal yang dihasilkan semasa proses penandatanganan.

Menghasilkan Hash

Secara bebas, peranti menghasilkan hash sendiri dari kandungan APK. Ini dilakukan menggunakan fungsi hash yang sama digunakan selama proses penandatanganan.

Perbandingan Hash

  • Peranti membandingkan hash yang dihasilkan secara bebas dengan hash yang disahsulit dari tandatangan digital.
  • Padanan: Jika hash tersebut padan, APK disahkan autentik dan tidak diubah suai, membolehkan pemasangan diteruskan.
  • Tidak Padanan: Jika hash tidak padan, ini menunjukkan bahawa APK mungkin telah diubah suai sejak ia ditandatangani, dan pemasangan diblok.

Mengapa Pengesahan Tandatangan Penting?

  • Mengesahkan Keaslian: Memastikan APK ditandatangani oleh pembangun yang dinyatakan.
  • Menjaga Integriti: Memastikan APK tidak diubah suai sejak ia ditandatangani.
  • Melindungi Pengguna: Memblok APK yang berpotensi jahat daripada dipasang.

Tandatangan Mana yang Harus Saya Pilih Jika Aplikasi Mempunyai Pelbagai Tandatangan?

Kebanyakan aplikasi mempunyai satu tandatangan sah, tetapi sesetengahnya mungkin mempunyai lebih. Anda perlu mencocokkan tandatangan APK dengan yang sudah dipasang pada peranti anda untuk mengelakkan kesalahan kemas kini.

Sebab-sebab untuk Pelbagai Tandatangan

  • Rotasi Kunci: Android 9 membolehkan pembangun menukar kunci penandatanganan. Ini disebabkan oleh Skema Tandatangan APK v3.
  • Saluran Pengedaran: Aplikasi dari sumber yang berbeza (contohnya, Play Store, Github) mungkin mempunyai tandatangan yang berbeza.
  • Aplikasi Sistem: Kunci penandatanganan untuk aplikasi sistem boleh berbeza mengikut peranti atau versi OS.
  • Kes yang Tidak Dapat Dijelaskan: Beberapa aplikasi seperti Files Google dan Perkhidmatan Play mempunyai pelbagai tandatangan.

Bagaimana untuk Mengenal Pasti Tandatangan yang Betul:

  1. AndroidFreeware mempunyai APK Checker canggih yang melakukan pemeriksaan keizinan Android, mengesan Bendera & Penapis berbahaya, mengira checksum md5, sha1, sha256, dan melakukan pemeriksaan antivirus VirusTotal.
  2. Gunakan alat seperti My APK untuk melihat tandatangan aplikasi.
  3. Gunakan pendekatan Percubaan dan Kesilapan. Pasang APK yang berbeza sehingga kemas kini berfungsi, kemudian ingat tandatangan yang betul untuk kemas kini masa depan.
  4. Muat naik aplikasi ke APKMirror menggunakan ML Manager untuk mencari tandatangan sedia ada.
  5. Beberapa alat desktop boleh menemui tandatangan fail apk. Antaranya adalah apksigner oleh Google, keytool oleh IBM, dan print-apk-signature oleh Warren Bank.

Isi Kandungan