Pindah ke konten utama
Solusi

Enkripsi E2E untuk Pembaruan Capacitor melalui Tanda Tangan Code

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

Kredit artikel

Martin Donadieu

Pengarang

Valeria

Pengulas

Jordan

Pengedit

Enkripsi Akhir-ke-Akhir untuk Pembarui Capacitor melalui Tanda Tangan Code

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

Keamanan Bawaan Pembarui Capacitor

Dengan keamanan bawaan, model keamanan Capgo mirip dengan penyedia layanan web. Capgo menyimpan pembarui Ditulis dengan aman dan menyajikannya melalui HTTPS menggunakan kriptografi modern. Sama halnya, mengupload update dari komputer pengembang selalu menggunakan HTTPS.

Capgo mendapatkan nilai A+ pada tes HTTPS di SSL Labs

Capgo’s keamanan default mendapatkan nilai A+ pada tes HTTPS di 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.

Gambaran Umum Infrastruktur Cloud

Salah satu hal yang Capgo dan penyedia web lainnya miliki bersama adalah mereka berjalan di atas infrastruktur cloud yang lebih rendah, seringkali dari AWS, GCP, atau penyedia cloud populer lainnya. Perangkat keras dan perangkat lunak yang dioperasikan oleh penyedia cloud dan Capgo atau penyedia web lainnya adalah bagian dari rantai supply cloud.

The cloud supply chain and its security model work for a vast number of websites and apps. Every web developer who uses a cloud provider puts trust in that provider and expects the files they upload to be the files that are run or served without being tampered with. And cloud providers work hard at keeping their infrastructure secure.

Tapi jelas, kelemahan perangkat keras dan lunak seringkali ditemukan. Penyedia cloud memperbaiki kelemahan pada jadwal yang tepat, mencegah perangkat lunak berbahaya secara proaktif (misalnya Google's SLSA), 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 Protokol Capgo Updates standar.

Tanda tangan akhir-ke-akhir ini 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 ini” berarti keamanan ini mencakup aliran dari waktu pengembang menerbitkan pembaruan hingga waktu perangkat pengguna akhir menerima dan menjalankan pembaruan. “Tanda tangan Code” adalah menggunakan kriptografi dan kunci pribadi rahasia untuk “menandai” 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 praktiknya, kriptografi adalah sulit

Definisi:

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

We use the AES algorithm to encrypt the update. A random AES key is generated for every upload, then the AES key and checksum (hereafter “signature”) are encrypted with the private RSA key of the developer. The developer’s public RSA key is used in the app to decrypt the AES key and the signature (converting it back to a checksum). Later, the decrypted AES key is used to decrypt the update; a checksum of the decrypted update is calculated, and it is compared with the decrypted signature.

We use two different encryption algorithms because RSA cannot be used to encrypt large amounts of data. AES is used to encrypt the update and RSA is used to encrypt the AES key and the checksum.

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

Perbarui Enkripsi V2 2024-08-27:

  • We switched the key type that is stored in the app. This was done in order to prevent inferring the public key (previously used for encryption) from the private key (previously used for decryption). Now, the app stores the public key (now used for decryption).
  • Kami mengganti algoritma cek checksum dari CRC32 menjadi SHA256. Kami juga memulai membuat tandatangan bundleKetika enkripsi V2 dikonfigurasi, pembaruan harus memiliki tanda tangan yang valid. Hal ini ditetapkan dengan ketat oleh plugin.
  • Sekarang kita mengenakan tanda tangan 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 mendapatkan fitur keamanan baru. Ikuti instruksi migrasi. Petunjuk Migrasi.

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.

Mengawali Penggunaan untuk Pelanggan Perusahaan

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:

  • Pengaturan dan konfigurasi sertifikat cepat
  • Support untuk code signing server pengembangan dengan baik Capgo dan pengembangan build
  • code signing produksi pada setiap update

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

Credits

Terima kasih banyak kepada IonicArtikel ini berdasarkan Artikel ini Ditulis ulang dengan Chat-GPT-3 dan disesuaikan.

Teruskan dari Enkripsi E2E untuk Pembaruan Capacitor melalui Tanda Tangan Code

Jika Anda menggunakan E2E Encryption untuk Capacitor Pembarui dengan Tanda Tangan Code untuk merencanakan keamanan dan kinerja, hubungkannya dengan Enkripsi untuk detail implementasi Enkripsi, Kinerja untuk detail implementasi Kinerja, Scanner Keamanan Capgo untuk alur kerja produk di Scanner Keamanan Capgo, Keamanan Capgo untuk alur kerja produk di Keamanan Capgo, dan Pusat Kepercayaan Capgo untuk alur kerja produk di Pusat Kepercayaan Capgo.

Pembaruian langsung untuk Capacitor aplikasi

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

Terbaru dari Blog

Capgo gives you the best insights you need to create a truly professional mobile app.