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-tingkat pembarui Capacitor.
Keamanan Default Pembarui Capacitor
Dengan default, model keamanan Capgo mirip dengan penyedia hosting web. Capgo menyimpan pembarui Enkripsi di Tempat dan menyajikannya melalui HTTPS menggunakan kriptografi modern. Begitu pula, mengunggah pembarui dari komputer pengembang selalu menggunakan HTTPS.

Keamanan default Capgo mendapatkan A+ pada tes HTTPS 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.
Infrastruktur awan penyediaan
Salah satu hal yang Capgo dan penyedia web lainnya miliki bersama adalah mereka menjalankan infrastruktur awan tingkat rendah, seringkali dari AWS, GCP, atau penyedia awan populer lainnya. Perangkat keras dan perangkat lunak yang dioperasikan oleh penyedia awan dan Capgo atau penyedia web lainnya adalah bagian dari rantai penyediaan awan.
Rantai penyediaan awan dan model keamanannya berfungsi untuk banyak situs web dan aplikasi. Setiap pengembang web yang menggunakan penyedia awan mempercayai penyedia awan dan mengharapkan file yang diunggah untuk dijalankan atau disajikan tanpa disentuh. Dan penyedia awan bekerja keras untuk menjaga infrastruktur mereka aman.
Tapi jelas, kelemahan perangkat keras dan perangkat lunak ditemukan. Penyedia awan memperbaiki kelemahan pada jadwal yang tepat, mencegah perangkat lunak berbahaya (misalnya. Google’s SLSA), dan membangun lapisan pertahanan dalam, dan dalam praktiknya, infrastruktur awan telah menunjukkan bahwa kebutuhan keamanan situs web dan aplikasi kebanyakan dapat dipenuhi. Namun, beberapa aplikasi Ionic termasuk infrastruktur awan yang terkorup dalam model ancaman mereka. Untuk aplikasi JS Capacitor dengan kebutuhan keamanan tertinggi di atas web, kami membangun tanda tangan code akhir-ke-akhir di Capgo dan protokol Capacitor Updates standar. Capgo menggunakan HTTPS untuk melindungi privasi dan integritas koneksi jaringan antara server dan perangkat pengguna..
End-to-end code signing with 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 pembaruan hingga perangkat pengguna akhir menerima dan menjalankan pembaruan. “Code signing” adalah 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:

- Kompleks dalam prakteknya, kriptografi sulit
Definisi:
- 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.
- Cypher: Data yang dienkripsi.
- Kunci sesi: Kunci AES yang digunakan untuk mengenkripsi dan mendekripsi data.
- Checksum: Hash yang dihitung untuk file
- Signature: Ceksum yang telah dienkripsi dengan kunci RSA pribadi. Ini dapat diverifikasi dengan kunci RSA publik.
Kami menggunakan algoritma AES untuk mengenkripsi update. Kunci AES acak dibuat untuk setiap unggahan, kemudian kunci AES dan ceksum (disebut “tanda tangan” di sini) dienkripsi dengan kunci RSA pribadi pengembang. Kunci RSA publik pengembang digunakan di aplikasi untuk mendekripsi kunci AES dan tanda tangan (mengubahnya kembali menjadi ceksum). Kemudian, kunci AES yang diddekripsi digunakan untuk mendekripsi update; ceksum 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 ceksum.
Dengan ini, bahkan Capgo tidak dapat membaca isi bundle Anda. Ini adalah model keamanan yang kuat yang digunakan oleh banyak pelanggan bisnis.
Pengenkapan Update V2 2024-08-27:
- Kami mengganti jenis kunci yang disimpan di aplikasi. Ini dilakukan untuk mencegah menginferr kunci publik (sebelumnya digunakan untuk enkripsi) dari kunci pribadi (sebelumnya digunakan untuk dekripsi). Sekarang, aplikasi menyimpan kunci publik (sekarang digunakan untuk dekripsi).
- Kami mengganti ceksum dari algoritma CRC32 ke algoritma SHA256. Kami juga memulai menandatangani bundle. Ketika pengenkapan V2 diatur, update harus memiliki tanda tangan yang valid. Ini ditetapkan dengan ketat oleh plugin.
- Kami sekarang mengenakan enkripsi tanda tangan yang valid V2 telah dikonfigurkan. Tiga perubahan 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 Dengan tanda tangan akhir-ke-akhir __CAPGO_KEEP_0__, __CAPGO_KEEP_1__ menjadi infrastruktur awan yang tidak dipercaya. Jika salah satu __CAPGO_KEEP_2__ penyedia awan atau bahkan __CAPGO_KEEP_3__ sendiri ingin mengubah pembaruan yang ditandatangani __CAPGO_KEEP_4__, perangkat pengguna akhir akan menolak pembaruan tersebut dan menjalankan pembaruan yang dipercaya sebelumnya yang sudah ada 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 akhir-ke-akhir __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:
- Dukungan untuk pengembangan tanda tangan akhir-ke-akhir __CAPGO_KEEP_0__ dengan baik __CAPGO_KEEP_1__ dan build pengembangan
- Support for code signing development servers with both Capgo and development builds
- Production code signing on every update
Capgo code signing tersedia untuk semua pelanggan. Untuk memulai, ikuti instruksi pengaturan. Petunjuk pengaturan.
Kredit
Saya sangat berterima kasih kepada Ionic, artikel ini berdasarkan artikel ini ditulis 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 kinerja, hubungkannya dengan Kripsi untuk detail implementasi di Kripsi, Komitmen untuk detail implementasi di Komitmen, 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.