Lompat ke konten utama
Solusi

Pengenkripsi Akhir-ke-Akhir untuk Pembaruan Capacitor melalui Tanda Tangan Code

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

Martin Donadieu

Martin Donadieu

Pemasar Konten

Pengenkripsi Akhir-ke-Akhir untuk Pembaruan Capacitor melalui Tanda Tangan Code

Pembaruan Capacitor-updater Sekarang mendukung pengenkripsi akhir-ke-akhir code. Tanda tangan Code memastikan pembaruan yang dijalankan oleh perangkat pengguna akhir tidak telah dimanipulasi dan memberikan tingkat keamanan tambahan di atas keamanan web standar Capacitor-updater.

Keamanan Default Capacitor-updater

Dengan default, model keamanan Capgo mirip dengan penyedia layanan hosting web. Capgo menyimpan pembaruan di enkripsi pada ruang penyimpanan dan menyajikannya melalui HTTPS menggunakan kriptografi modern. Demikian pula, mempublikasikan update dari komputer pengembang selalu menggunakan HTTPS.

Capgo mendapatkan nilai A+ pada tes HTTPS dari SSL Labs

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

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

Rantai Supply Chain di Cloud

Hal lain yang Capgo dan penyedia web lainnya memiliki bersamaan adalah mereka menjalankan infrastruktur cloud yang lebih rendah, seringkali dari AWS, GCP, atau penyedia cloud populer lainnya. Perangkat keras dan perangkat lunak yang dioperasikan oleh penyedia cloud ini dan Capgo atau penyedia web lainnya adalah bagian dari rantai supply chain di cloud.

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

Tapi tentu saja, kelemahan perangkat keras dan perangkat lunak ditemukan. Penyedia cloud memperbaiki kelemahan pada jadwal yang tepat waktu, mencegah perangkat lunak berbahaya secara proaktif (misalnya SLSA dari GoogleDan membangun lapisan pertahanan dalam kealamatan, dan dalam prakteknya, infrastruktur cloud telah menunjukkan dapat memenuhi kebutuhan keamanan sebagian besar situs web dan aplikasi. Namun, beberapa aplikasi Ionic termasuk infrastruktur cloud yang telah dibohongi dalam model ancaman mereka. Untuk aplikasi JS Capacitor dengan kebutuhan keamanan tertinggi di atas web, kami telah membangun tanda tangan akhir-ke-akhir ini untuk masuk ke code dan Capgo Protokol Standar Perbarui Capgo.

Tanda Tangan Akhir-ke-Akhir code dengan Capgo

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.

“Akhir-ke-Akhir” berarti keamanan ini mencakup aliran dari waktu pengembang mempublikasikan perbarui hingga waktu perangkat pengguna akhir menerima dan menjalankan perbarui. “Tanda Tangan Akhir-ke-Akhir Code” adalah menggunakan kriptografi dan kunci pribadi rahasia untuk “menanda tangani” code, dan kemudian menggunakan kunci publik yang dipercaya untuk memverifikasi tanda tangan.

Berikut adalah skema sederhana* untuk menjelaskan bagaimana cara kerjanya:

Skema Enkripsi Capgo

  • Sulit dalam prakteknya, kriptografi adalah sulit

Pengertian:

  • AES: Standar Enkripsi Lanjut, 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 dienkripsi dengan kunci RSA pribadi. Ini dapat diverifikasi dengan kunci RSA publik

Kami menggunakan algoritma AES untuk mengenkripsi update. Kunci AES acak yang dihasilkan untuk setiap unggahan, kemudian kunci AES dan checksum (disebut “tanda tangan”) dienkripsi dengan kunci RSA pribadi pengembang. Kunci RSA publik pengembang digunakan di aplikasi untuk mendekripsi kunci AES dan tanda tangan (mengubahnya kembali menjadi checksum). Kemudian, kunci AES yang diddekripsi digunakan untuk mendekripsi update; checksum dari update 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 ini, bahkan Capgo tidak dapat membaca isi bundle Anda. Ini adalah model keamanan yang kuat yang digunakan oleh banyak klien enterprise.

Enkripsi Update 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 algoritma SHA256. Kami juga memulai menandatangani bundleWhen konfigurasi enkripsi V2 diaktifkan, pembaruan harus memiliki tanda tangan yang valid. Hal ini ditetapkan secara ketat oleh plugin.
  • Sekarang kita mengenakan tanda tangan enkripsi V2 yang valid. Perubahan 3 ini telah dilakukan setelah analisis keamanan dari anggota komunitas. Mereka ada untuk mencegah serangan kriptografi selama pembaruan.

Jika Anda menggunakan enkripsi V1, migrasikan ke V2 untuk menikmati fitur keamanan baru. Ikuti instruksi migrasi Dengan tanda tangan akhir-ke-akhir __CAPGO_KEEP_0__, __CAPGO_KEEP_1__ menjadi infrastruktur awan yang tidak dipercaya. Jika salah satu penyedia awan __CAPGO_KEEP_2__ atau bahkan __CAPGO_KEEP_3__ sendiri ingin mengubah pembaruan yang ditandatangani __CAPGO_KEEP_4__, perangkat pengguna akan menolak pembaruan tersebut dan menjalankan pembaruan yang dipercaya sebelumnya yang sudah terinstal di perangkat..

With end-to-end code signing, Capgo becomes a “trustless” cloud infrastructure. If one of Capgo’s cloud providers or even Capgo itself were to modify a code-signed update, end users’ devices would reject that update and run the previous, trusted update that’s already on the device.

While web-level HTTPS is sufficient for many apps, some large companies find the extra level of security from end-to-end code signing appealing. Some of these companies make finance apps that issue high-value, permanent transactions. Other companies have CISOs who include compromised cloud infrastructure in their threat models. We built end-to-end code signing in to Capgo for these use cases and are interested in hearing more from companies with higher-level security needs.

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

For large companies or projects who care deeply about security, we want to make code signing easy to set up and maintain. To that end, we now provide the following features:

  • __CAPGO_KEEP_0__ adalah nama yang telah dikejutkan untuk menghindari transliterasi literal. __CAPGO_KEEP_1__ adalah nama yang telah dikejutkan untuk menghindari transliterasi literal. __CAPGO_KEEP_2__ adalah nama yang telah dikejutkan untuk menghindari transliterasi literal. __CAPGO_KEEP_3__ adalah nama yang telah dikejutkan untuk menghindari transliterasi literal. __CAPGO_KEEP_4__ adalah nama yang telah dikejutkan untuk menghindari transliterasi literal.
  • Support untuk code signing server pengembangan dengan baik Capgo dan pengembangan build
  • Penggunaan code signing pada setiap update produksi

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

Terima kasih banyak kepada

Ionic , artikel ini berdasarkanartikel ini dibuat ulang dengan chat-gpt-3 dan disesuaikan. Lanjutkan dari E2E Encryption untuk __CAPGO_KEEP_0__ Updater melalui __CAPGO_KEEP_1__ Signing

Keep going from E2E Encryption for Capacitor Updater via Code Signing

Penggunaan __CAPGO_KEEP_0__ signing server pengembangan dengan baik __CAPGO_KEEP_1__ dan pengembangan build Enkripsi Akhir-ke-Akhir untuk Capacitor Pembarui melalui Code Tanda Tangan untuk merencanakan keamanan dan kinerja, hubungkannya dengan Enkripsi untuk detail implementasi di Enkripsi, Kinerja untuk detail implementasi di Kinerja, Capgo Scanner Keamanan untuk alur kerja produk di Capgo Scanner Keamanan, Capgo Keamanan untuk alur kerja produk di Capgo Keamanan, dan Capgo Pusat Kepercayaan untuk alur kerja produk di Capgo Pusat Kepercayaan.

Pembaruan langsung untuk aplikasi Capacitor

Ketika bug layer web masih aktif, kirimkan perbaikan melalui Capgo daripada menunggu hari-hari untuk persetujuan toko aplikasi.

Mulai Sekarang

Terbaru dari Blog Kami

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