Kembali ke konten utama
Solusi

Enkripsi Akhir ke Akhir untuk Capacitor Updater melalui Code Signing

Menggunakan kriptografi RSA + AES untuk mengenkripsi update, dirancang untuk perusahaan dan aplikasi keamanan tinggi

Martin Donadieu

Martin Donadieu

Pengembang Konten

Enkripsi Akhir ke Akhir untuk Capacitor Updater melalui Code Signing

Capacitor-pengupdate Sekarang mendukung enkripsi akhir-ke-akhir code . Tanda tangan Code memastikan pengupdate yang dijalankan oleh perangkat pengguna akhir tidak telah dimanipulasi dan memberikan tingkat perlindungan tambahan di atas keamanan web-tingkat Capacitor-pengupdate.

Keamanan default Capacitor-pengupdate

Dengan default, model keamanan Capgo mirip dengan penyedia layanan hosting web. Capgo menyimpan pengupdate di enkripsi dan menyajikannya melalui HTTPS menggunakan kriptografi modern. Seperti itu, menerbitkan pengupdate dari komputer pengembang selalu menggunakan HTTPS.

Capgo mendapatkan nilai A+ pada tes HTTPS dari SSL Labs

Keamanan default Capgo mendapatkan nilai A+ pada tes HTTPS dari SSL Labs (https://www.ssllabs.com, November 2022)

Seperti penyedia layanan hosting terbaik, Capgo menggunakan HTTPS untuk melindungi privasi dan integritas koneksi jaringan antara server dan perangkat pengguna akhir. Ini adalah tingkat keamanan yang sangat baik yang berfungsi baik untuk web dan aplikasi Ionic yang menggunakan Capgo.

Jaringan infrastruktur cloud

Hal lain yang Capgo dan sebagian besar penyedia layanan web memiliki kesamaan adalah mereka berjalan di infrastruktur cloud tingkat rendah, sering kali dari AWS, GCP, atau penyedia cloud populer lainnya. Perangkat keras dan perangkat lunak yang dioperasikan oleh penyedia cloud dan Capgo atau penyedia layanan web lainnya adalah bagian dari rantai pasokan cloud.

Rantai pasokan cloud dan model keamanannya berfungsi untuk jumlah besar situs web dan aplikasi. Setiap pengembang web yang menggunakan penyedia cloud mempercayai penyedia tersebut dan mengharapkan file yang diunggah akan dijalankan atau disajikan tanpa disentuh. Dan penyedia cloud bekerja keras untuk menjaga infrastruktur mereka aman.

Tapi jelas, kelemahan perangkat keras dan perangkat lunak ditemukan. Penyedia cloud memperbaiki kelemahan pada jadwal waktu yang tepat, mencegah perangkat lunak berbahaya secara proaktif (misalnya, "Google’s SLSA"), dan membangun lapisan pertahanan dalam kealamatan, dan dalam prakteknya, infrastruktur cloud telah menunjukkan untuk memenuhi kebutuhan keamanan sebagian besar situs web dan aplikasi. Namun, beberapa aplikasi Ionic termasuk infrastruktur cloud yang telah diserang dalam model ancaman mereka. Untuk aplikasi __CAPGO_KEEP_0__ JS dengan kebutuhan keamanan tertinggi di atas web, kami telah membangun tanda tangan akhir-ke-akhiran di __CAPGO_KEEP_2__ dan Protokol Standar Perbaruan __CAPGO_KEEP_0__), and build layers of defense in depth, and in practice, cloud infrastructure has shown to meet most websites and apps’ security needs. However, some Ionic apps include compromised cloud infrastructure in their threat models. For these Capacitor JS apps with the highest security requirements above the web, we built end-to-end code signing in to Capgo and the Tanda tangan akhir-ke-akhiran Capgo menggunakan kriptografi kunci publik untuk memastikan perangkat pengguna akhir hanya menjalankan perbaruan asli dan tidak dimodifikasi dari pengembang aplikasi __CAPGO_KEEP_2__..

code dan Capgo adalah bagian dari rantai pasokan cloud.

Capgo’s end-to-end code signing uses public-key cryptography to ensure end users’ devices run only unmodified, original updates from the Capacitor app developer.

“End-to-end” berarti keamanan ini mencakup aliran dari waktu seorang pengembang menerbitkan pembaruan hingga waktu perangkat pengguna akhir menerima dan menjalankan pembaruan. “Code signing” menggunakan kriptografi dan kunci pribadi rahasia untuk “menandatangani” code, dan kemudian menggunakan kunci publik yang dipercaya untuk memverifikasi tanda tangan.

Berikut adalah skema sederhana* untuk menjelaskan bagaimana cara kerjanya:

Capgo schema enkripsi

  • Sulit dalam prakteknya, kriptografi adalah sulit

Pengertian:

  • AES: Standar Enkripsi Maju, algoritma enkripsi simetris, satu kunci untuk enkripsi dan dekripsi.
  • RSA: Rivest–Shamir–Adleman, algoritma enkripsi asimetris, dua kunci digunakan: kunci publik dan kunci pribadi.
  • Kriptografi: Data yang telah dienkripsi.
  • Kunci Sesi: Kunci AES yang digunakan untuk mengenkripsi dan mendekripsi data.
  • Checksum: Hash yang dihitung untuk sebuah file
  • Tanda Tangan: Checksum yang telah dienkripsi dengan kunci pribadi RSA. Bisa diverifikasi dengan kunci publik RSA

Kami menggunakan algoritma AES untuk mengenkripsi pembaruan. Kunci AES acak dibuat untuk setiap unggahan, kemudian kunci AES dan checksum (disebut “tanda tangan” dari sekarang) dienkripsi dengan kunci pribadi RSA pengembang. Kunci publik RSA pengembang digunakan di aplikasi untuk mendekripsi kunci AES dan tanda tangan (mengubahnya kembali menjadi checksum). Kemudian, kunci AES yang diddekripsi digunakan untuk mendekripsi pembaruan; checksum dari pembaruan yang diddekripsi dihitung, dan dibandingkan dengan tanda tangan yang diddekripsi.

Kami menggunakan dua algoritma enkripsi yang berbeda karena RSA tidak dapat digunakan untuk mengenkripsi jumlah data yang besar. AES digunakan untuk mengenkripsi update dan RSA digunakan untuk mengenkripsi kunci AES dan checksum.

Dengan demikian, bahkan Capgo tidak dapat membaca isi bundle Anda. Ini adalah model keamanan yang kuat yang digunakan oleh banyak pelanggan bisnis.

Perbaruan Enkripsi V2 2024-08-27:

  • Kami mengganti jenis kunci yang disimpan di aplikasi. Ini dilakukan untuk mencegah menginferrasi kunci publik (sebelumnya digunakan untuk enkripsi) dari kunci pribadi (sebelumnya digunakan untuk dekripsi). Sekarang, aplikasi menyimpan kunci publik (sekarang digunakan untuk dekripsi).
  • Kami mengganti algoritma checksum dari CRC32 ke SHA256. Kami juga mulai menandatangani bundle. Ketika perbaruan enkripsi V2 diatur, perbaruan harus memiliki tandatangan yang valid. Ini ketat ditegakkan oleh plugin.
  • Kami sekarang menegakkan tandatangan yang valid ketika perbaruan enkripsi V2 diatur. Perubahan 3 ini telah dilakukan setelah analisis keamanan dari anggota komunitas. Mereka ada untuk mencegah serangan kriptografi selama perbaruan.

Jika Anda menggunakan perbaruan enkripsi V1, migrasikan ke V2 untuk mendapatkan fitur keamanan baru. Ikuti instruksi migrasi.

Dengan tanda tangan akhir ke akhir code, Capgo menjadi infrastruktur awan yang tidak dipercaya. Jika salah satu penyedia awan Capgo atau bahkan Capgo sendiri mengubah update yang ditandatangani code, perangkat pengguna akhir akan menolak update tersebut dan menjalankan update sebelumnya yang dipercaya yang sudah ada di perangkat.

While HTTPS web-level sudah cukup untuk banyak aplikasi, beberapa perusahaan besar menemukan tingkat keamanan tambahan dari tanda tangan akhir-ke-akhir code menarik. Beberapa perusahaan ini membuat aplikasi keuangan yang mengeluarkan transaksi nilai tinggi, permanen. Perusahaan lain memiliki CISO yang termasuk infrastruktur awan yang telah dibobol dalam model ancaman mereka. Kami membangun tanda tangan akhir-ke-akhir code di Capgo untuk kasus penggunaan ini dan kami tertarik mendengar lebih banyak dari perusahaan dengan kebutuhan keamanan tingkat tinggi.

Pengenalan untuk pelanggan bisnis

Untuk perusahaan besar atau proyek yang sangat peduli dengan keamanan, kami ingin membuat tanda tangan code mudah untuk diatur dan dipelihara. Untuk itu, kami sekarang menyediakan fitur-fitur berikut:

  • Pengaturan sertifikat cepat dan konfigurasi
  • Dukungan untuk pengembangan tanda tangan code server dengan baik Capgo dan build pengembangan
  • Tanda tangan code produksi pada setiap update

Tanda tangan Capgo code tersedia untuk semua pelanggan. Untuk memulai, ikuti instruksi pengaturan Kredit.

Banyak terima kasih kepada

Ionic , artikel ini berdasarkansetup instruksi artikel ini dituliskan ulang dengan chat-gpt-3 dan disesuaikan.

Teruskan dari Enkripsi E2E untuk Capacitor Updater melalui Code Signing

Jika Anda menggunakan Enkripsi E2E untuk Capacitor Updater melalui Code Signing untuk merencanakan keamanan dan kewenangan, hubungkannya dengan Enkripsi untuk detail implementasi di Enkripsi, Kewenangan untuk detail implementasi di Kewenangan, Scanner Keamanan Capgo untuk alur kerja produk di Scanner Keamanan Capgo, Keamanan Capgo untuk alur kerja produk di Keamanan Capgo Pusat Kepercayaan Capgo untuk alur kerja produk di Pusat Kepercayaan Capgo

Pembaruan Langsung untuk Aplikasi Capacitor

Jika ada bug layer web yang aktif, kirimkan perbaikan melalui Capgo bukan menunggu hari-hari untuk persetujuan toko aplikasi. Pengguna mendapatkan pembaruan di latar belakang sementara perubahan native tetap dalam jalur ulasan normal.

Mulai Sekarang

Terbaru dari Blog Kami

Capgo memberikan Anda wawasan terbaik yang Anda butuhkan untuk menciptakan aplikasi mobile profesional yang sebenarnya.