Enkripsi
Copy prompt pengaturan dengan langkah instalasi dan panduan markdown lengkap untuk plugin ini.
Capgo menyediakan enkripsi akhir-ke-akhir yang kuat untuk bundle aplikasi Anda, sehingga JavaScript code dan aset Anda dilindungi selama transmisi dan penyimpanan. Sistem enkripsi ini dirancang untuk memberikan Anda kendali penuh atas keamanan aplikasi Anda sambil mempertahankan kemudahan pembaruan waktu nyata.
Capgo’s encryption system uses industry-standard cryptographic methods to protect your bundles from unauthorized access. When encryption is enabled, your bundles are encrypted before leaving your development environment and remain encrypted until they’re decrypted by your app on the user’s device.
: Berbeda dengan sistem OTA yang hanya menandatangani pembaruan, __CAPGO_KEEP_0__ mengenkripsi bundle yang diunggah sebelum penyimpanan dan pengiriman. Ini melindungi isi bundle dari akses santai di penyimpanan atau transit dan memastikan hanya orang dengan kunci pribadi Anda yang dapat menghasilkan pembaruan enkripsi yang valid. Ini tidak membuat aset web yang dikirimkan tidak dapat direversi: kunci publik yang digunakan oleh klien untuk menguraikan pembaruan didistribusikan dalam aplikasi, sehingga seorang penyerang yang berdedikasi masih dapat mengekstraknya dan memeriksa isi bundle dengan cukup usaha.: Unlike OTA systems that only sign updates, Capgo encrypts the uploaded bundle before storage and delivery. This protects the bundle contents from casual access in storage or transit and ensures only someone with your private key can produce a valid encrypted update. It does Kapan Anda Membutuhkan Enkripsi Ringkasan
Cara Kerja Enkripsi
Bagian berjudul “Bagaimana Cara Kerja Enkripsi”Capgo menggunakan pendekatan enkripsi hybrid yang menggabungkan RSA dan AES untuk keamanan dan kinerja optimal:

1. Pembuatan Kunci
Bagian berjudul “1. Pembuatan Kunci”- Kunci Pribadi: Dibuat dan disimpan dengan aman di lingkungan pengembangan Anda (digunakan untuk enkripsi)
- Kunci Publik: Dihasilkan dari kunci pribadi Anda dan disimpan di konfigurasi Capacitor aplikasi Anda (digunakan untuk dekripsi)
- Kunci Sesi: Kunci AES acak yang dihasilkan untuk setiap unggahan bundle
2. Proses Enkripsi
Bagian berjudul “2. Proses Enkripsi”- Kunci sesi AES acak dibuat untuk setiap unggahan bundle
- Bundle Anda dienkripsi menggunakan kunci sesi AES
- Checksum bundle dihitung
- Kedua kunci sesi AES dan checksum dienkripsi bersama menggunakan kunci pribadi RSA Anda (membuat “tanda tangan”)
- Bundle yang dienkripsi dan tanda tangan yang dienkripsi disimpan
Checksum dienkripsi bersama kunci AES untuk mencegah perubahan. Karena hanya kunci pribadi RSA Anda yang dapat membuat tanda tangan ini, dan hanya kunci publik yang sesuai yang dapat memecahkannya, ini memastikan bahwa baik kunci sesi AES dan checksum yang diharapkan autentik dan tidak dimodifikasi oleh penyerang.
3. Proses Penguraian
Bagian berjudul “3. Proses Penguraian”- Aplikasi Anda mengunduh bundle yang dienkripsi dan tanda tangan yang dienkripsi
- Capgo SDK menggunakan kunci publik RSA Anda (yang disimpan di aplikasi) untuk memecahkan tanda tangan
- Ini mengungkapkan kunci sesi AES dan checksum asli
- Kunci sesi AES digunakan untuk memecahkan bundle
- Perhitungan cek checksum dari bundle yang telah dipecahkan dan dibandingkan dengan cek checksum asli untuk verifikasi integritas
Proses ini memastikan bahkan jika penyerang menangkap bundle yang dienkripsi, mereka tidak dapat mengubah kunci sesi AES atau menyediakan cek checksum palsu, karena mereka perlu kunci pribadi Anda untuk membuat tanda tangan yang valid yang dapat dipecahkan oleh kunci publik.
Capgo vs Platform Lainnya
Judul Bagian “Capgo vs Platform Lainnya”| Fitur | Capgo | Platform OTA Lainnya |
|---|---|---|
| Isi Bundle | Ditimbun dalam penyimpanan/transit; masih dapat diperiksa oleh seorang insinyur balik dengan aplikasi biner | Dapat dibaca secara publik |
| Metode Keamanan | Enkripsi akhir-ke-akhir yang benar | Code hanya tanda tangan |
| Tingkat Privasi | Perlindungan pengiriman/penyimpanan yang kuat; tidak melawan analisis balik | Platform dapat mengakses code |
| Pengamanan | Konten + integritas + keaslian | Integritas + keaslian saja |
Mengapa Ini Penting:
- Code signing hanya memastikan bahwa pembaruan tidak telah dimanipulasi dan berasal dari sumber yang tepat
- Capgo encryption melindungi bundle saat disimpan dan dikirimkan dan membuat pembaruan yang terenkripsi palsu lebih sulit karena penyerang perlu kunci pribadi Anda
- Pengembangan Balik masih Mungkin setelah aplikasi rilis, karena klien berisi kunci publik yang diperlukan untuk mendekripsi dan memuat pembaruan
Metode Pengenkripsi
Bab berjudul “Metode Pengenkripsi”Capgo menggunakan Metode Pengenkripsi V2 sebagai metode pengenkripsi standar:
Pengenkripsi V2 (Standar Saat Ini)
Bab berjudul “Pengenkripsi V2 (Standar Saat Ini)”- Menggunakan RSA-4096 untuk keamanan yang ditingkatkan
- AES-256-GCM untuk enkripsi terautentikasi
- Menghasilkan verifikasi integritas
- Kinerja dan keamanan yang lebih baik
Enkripsi V1 (Tidak Aktif)
Judul Bagian “Enkripsi V1 (Tidak Aktif)”- Menggunakan RSA-2048 untuk enkripsi kunci
- AES-256-CBC untuk enkripsi paket
- Tidak tersedia lagi di versi CLI saat ini
- Aplikasi lama yang menggunakan V1 harus beralih ke V2
Pengaturan Enkripsi
Bab berjudul “Pengaturan Enkripsi”Langkah 1: Membuat Kunci Enkripsi
Bab berjudul “Langkah 1: Membuat Kunci Enkripsi”Pertama-tama, buatlah kunci enkripsi Anda menggunakan Capgo CLI:
# Generate new encryption keys (creates files in current directory)npx @capgo/cli@latest key createIni menciptakan:
.capgo_key_v2: Kunci pribadi Anda (jaga ini aman!).capgo_key_v2.pub: Kunci publik Anda (digunakan oleh aplikasi Anda)
File-file ini dibuat di direktori saat ini di mana Anda menjalankan perintah.
Judul Bagian “Langkah 2: Simpan Kunci Publik Anda ke Pengaturan Capacitor (Wajib)”
Section titled “Step 2: Save Your Public Key to Capacitor Config (Required)”harus menyimpan kunci publik Anda ke pengaturan __CAPGO_KEEP_0__ agar aplikasi mobile Anda dapat mengenkripsi bundle: save your public key to the Capacitor config so your mobile app can decrypt bundles:
# Save public key from file to Capacitor config (required)npx @capgo/cli@latest key save --key ./.capgo_key_v2.pub
# Or save public key data directlynpx @capgo/cli@latest key save --key-data "$CAPGO_PUBLIC_KEY"Judul Bagian “Langkah 3: Sinkronkan Platform Capacitor (Wajib)”
: Anda harus menjalankan Capacitor untuk menyimpan kunci publik Anda ke pengaturan Capacitor agar aplikasi mobile Anda dapat mengenkripsi bundle:Setelah menyimpan kunci publik, Anda harus sinkronkan platform Capacitor untuk menyalin konfigurasi yang diperbarui ke layer native:
# Sync the platform to copy config to nativenpx cap syncEnkripsi Paket
Judul Bagian “Enkripsi Paket”Cara 1: Enkripsi Saat Mengunggah
Judul Bagian “Cara 1: Enkripsi Saat Mengunggah”Cara termudah adalah dengan mengenkripsi selama proses unggah:
# Upload with automatic encryptionnpx @capgo/cli@latest bundle upload --key-v2
# For external storage, you must encrypt first (see Manual Encryption Workflow below)Cara 2: Alur Kerja Enkripsi Manual
Judul Bagian “Cara 2: Alur Kerja Enkripsi Manual”Untuk kontrol yang lebih baik, Anda dapat mengenkripsi paket secara manual:
-
Buat paket zip:
Jendela Terminal npx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
Enkripsi bundle:
Jendela terminal npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM_FROM_STEP_1 -
Unggah ke penyimpanan Anda (misalnya, S3) dan daftarkan dengan Capgo:
Jendela terminal # First upload the encrypted bundle to your storage (e.g., AWS S3)aws s3 cp ./encrypted-bundle.zip s3://your-bucket/encrypted-bundle.zip# Then register with Capgo using the external URLnpx @capgo/cli@latest bundle upload --external https://your-storage.com/encrypted-bundle.zip --iv-session-key IV_SESSION_KEY_FROM_STEP_2
Manajemen Kunci
Bagian berjudul “Manajemen Kunci”Mengimpan Kunci dengan Aman
Bagian berjudul “Mengimpan Kunci dengan Aman”Opsi Kunci Pribadi:
-
File-based (local development):
Jendela Terminal (pengembangan lokal): # Key stored as .capgo_key_v2 file in project rootnpx @capgo/cli@latest bundle upload --key-v2 -
Variabel Lingkungan (CI/CD):
Jendela Terminal # Store in environment variable for CIexport CAPGO_PRIVATE_KEY="$(cat .capgo_key_v2)"npx @capgo/cli@latest bundle upload --key-data-v2 "$CAPGO_PRIVATE_KEY"
Pengaturan Kunci Publik (Diperlukan):
# Must save public key to Capacitor config for mobile appnpx @capgo/cli@latest key save --key ./.capgo_key_v2.pubLingkungan Produksi:
- Simpan kunci pribadi di layanan manajemen kunci yang aman (AWS KMS, Azure Key Vault, dll.)
- Gunakan manajemen rahasia CI/CD untuk kunci pribadi
- Jangan pernah memasukkan kunci pribadi ke pengendalian versi
Penggunaan Kunci:
- Kunci Pribadi: Digunakan oleh CLI untuk enkripsi selama unggahan bundle (tetap aman)
- Kunci Publik: Disimpan dalam pengaturan aplikasi untuk dekripsi di perangkat (aman untuk dikomit)
Putar setelah kompromi kunci pribadi
Bagian berjudul “Putar setelah kompromi kunci pribadi”Putar pasang kunci saat kunci pribadi dicurigai atau dikonfirmasi kompromi. Rotasi kalender rutin tidak diperlukan. Ini adalah migrasi kunci asli, bukan perubahan OTA saja.
-
Buat pasang kunci pengganti:
Jendela terminal npx @capgo/cli@latest key create -
Simpan kunci publik pengganti ke konfigurasi Capacitor Anda:
Jendela terminal npx @capgo/cli@latest key save --key ./.capgo_key_v2.pub -
Sinkronkan dan kirimkan rilis native: Jalankan
npx cap sync, kemudian distribusikan versi aplikasi native baru yang mengandung kunci publik pengganti. -
Targetkan versi native baru: Perangkat yang masih menjalankan binary native lama tidak dapat mengenkripsi pembaruan yang dienkripsi dengan kunci pengganti. Gunakan Pengaturan Versi Target untuk membatasi paket kunci pengganti hanya ke versi native baru sementara flota lainnya memperbarui melalui toko atau MDM.
-
Ganti rahasia unggah Anda: Secepatnya, ganti kunci privat di CI dan unggah hanya paket yang ditargetkan ke versi native yang mengandung kunci publik pengganti.
Praktik Keamanan Terbaik
Bagian berjudul “Praktik Keamanan Terbaik”Keamanan Kunci
Bagian berjudul “Keamanan Kunci”- Jangan pernah berbagi kunci pribadi antara lingkungan atau anggota tim
- Gunakan kunci yang berbeda untuk lingkungan yang berbeda (dev, staging, produksi)
- Ganti setelah terjadi kompromiUbah pasang kunci ketika kunci pribadi dicurigai atau dikonfirmasi telah dibobol; rotasi kalender rutin tidak diperlukan
- Simpan kunci dengan aman Menggunakan sistem manajemen kunci yang tepat
Keamanan Paket
Bab berjudul “Keamanan Paket”- Selalu verifikasi integritas paket setelah dekripsi
- Pantau untuk pola download yang tidak biasa atau gagal
- Gunakan HTTPS untuk semua URL paket (diperlukan untuk aplikasi mobile)
- Implementasikan Penanganan kesalahan yang tepat untuk gagal dekripsi
Kontrol Akses
Bagian berjudul “Kontrol Akses”- Batasi akses ke kunci enkripsi hanya kepada staf yang berwenang saja
- Gunakan kontrol akses berdasarkan peran untuk operasi manajemen kunci
- Audit penggunaan dan akses kunci secara teratur
- Implementasikan prosedur backup dan pemulihan yang tepat
Pengaturan Kesalahan Enkripsi
Bagian berjudul “Pengaturan Kriptografi”Issues Umum
Bagian berjudul “Issues Umum”Gagal Dekripsi:
- Pastikan kunci pribadi sesuai dengan kunci publik yang digunakan untuk kriptografi
- Periksa bahwa
ivSessionKeybenar - Pastikan Anda menggunakan Kriptografi V2 (V1 tidak lagi didukung)
Error terkait kunci:
- Konfirmasi format kunci pribadi tepat (format PEM)
- Pastikan kunci tidak rusak selama penyimpanan/transfer
- Periksa bahwa kunci memiliki izin yang tepat dalam konfigurasi aplikasi Anda
Masalah kinerja:
- File besar mungkin memakan waktu lebih lama untuk dienkripsi/didekripsi
- Gunakan Delta (manifest) untuk mengurangi ukuran file
- Monitor kinerja perangkat selama proses dekripsi
Perintah Debug
Bagian berjudul “Perintah Debug”Periksa status enkripsi:
npx @capgo/cli@latest app debugTest alur enkripsi/dekripsi:
# Test the complete workflow: zip → encrypt → decrypt → unzipnpx @capgo/cli@latest bundle zip com.example.app --key-v2npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM --jsonnpx @capgo/cli@latest bundle decrypt ./encrypted-bundle.zip IV_SESSION_KEY[Kemampuan dan Standar]
Judul bagian “Kemampuan dan Standar”Capgo’s implementasi enkripsi mengikuti standar industri:
- AES-256: Algoritma enkripsi asimetris yang kuat untuk perlindungan kunci
- RSA-4096: Enkripsi asimetris yang kuat untuk perlindungan kunci
- GCM Mode: Memberikan keamanan kekonfidensialan dan keaslian
- Secure Random: Penghasilan angka acak yang aman secara kriptografi
Ini membuat Capgo cocok untuk aplikasi yang memerlukan keterlaksanaan dengan:
- Regulasi Perlindungan Data Umum (GDPR)
- Undang-Undang Kesehatan Asuransi Portabilitas dan Tanggung Jawab (HIPAA)
- Kontrol Organisasi Layanan 2 (SOC 2)
- Manajemen Keamanan Informasi (ISO 27001)
Pertimbangan Kinerja
Bagian yang berjudul “Pertimbangan Kinerja”Biaya Kripsi
Bagian yang berjudul “Biaya Kripsi”- Ukuran Paket: Paket yang dienkripsi sedikit lebih besar (~1-2% overhead)
- Waktu Proses: Pengenkripsi/dekripsi menambahkan sedikit latensi
- Penggunaan MemoriPeningkatan sementara selama operasi enkripsi/dekripsi
Tips Optimasi
Bagian berjudul “Tips Optimasi”- Gunakan Delta (manifest) untuk mengurangi transfer data yang dienkripsi
- Optimalkan ukuran bundle Anda dengan mengonversi gambar ke format WebP
- Minimalkan file JavaScript dan CSS sebelum bundling
- Hapus dependensi yang tidak digunakan dan code
- Monitor kinerja perangkat pada perangkat yang lebih tua/lambat
Langkah-Langkah Selanjutnya
Bagian berjudul “Langkah-Langkah Selanjutnya”- Pelajari tentang Penyimpanan Kustom untuk menggunakan enkripsi dengan infrastruktur milik Anda sendiri
- Tamu Saluran untuk mengelola bundle yang dienkripsi di antara lingkungan
- Tetapkan Integrasi CI/CD untuk otomatisasi pengiriman enkripsi
Teruskan dari Enkripsi
Jika Anda menggunakanEnkripsi Pilih "Teruskan dari Enkripsi" untuk merencanakan keamanan dan kinerja, hubungkannya dengan 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, Capgo Pusat Kepercayaan untuk alur kerja produk di Capgo Pusat Kepercayaan, dan Keamanan Organisasi untuk detail implementasi di Keamanan Organisasi.