L'encryption
Copia un prompt di configurazione con le istruzioni di installazione e la guida markdown completa per questo plugin.
Capgo fornisce una robusta crittografia end-to-end per i pacchetti dell'applicazione, garantendo che il tuo JavaScript code e le tue risorse siano protetti durante la trasmissione e lo storage. Questo sistema di crittografia è progettato per darti il controllo completo sulla sicurezza dell'applicazione mentre mantieni la comodità delle aggiornamenti in tempo reale.
Panoramica
Sottosezione intitolata “Panoramica”Capgo utilizza metodi crittografici di standard industriale per proteggere i pacchetti da accessi non autorizzati. Quando abilitata la crittografia, i pacchetti sono crittografati prima di lasciare l'ambiente di sviluppo e rimangono crittografati fino a quando non vengono decrittografati dall'applicazione sul dispositivo dell'utente.
Cosa la Crittografia Protegge Effettivamente: A differenza dei sistemi OTA che firmano solo gli aggiornamenti, Capgo crittografa il pacchetto caricato prima dello storage e della consegna. Ciò protegge i contenuti del pacchetto da accessi casuali in storage o in transito e assicura che solo qualcuno con la tua chiave privata possa produrre un aggiornamento crittografato valido. Ciò non rende impossibile per gli attacchi determinati: la chiave pubblica utilizzata dal client per decrittografare gli aggiornamenti è distribuita nell'app, quindi un attaccante determinato può ancora estrarla e esaminare i contenuti del pacchetto con sufficiente sforzo.
Come Funziona la Crittografia
Sezione intitolata “Come funziona la crittografia”Capgo utilizza un approccio di crittografia ibrida che combina la crittografia RSA e AES per una sicurezza e prestazioni ottimali:

1. Generazione della chiave
Sezione intitolata “1. Generazione della chiave”- Chiave privata: Generata e memorizzata in modo sicuro nel tuo ambiente di sviluppo (utilizzata per la crittografia)
- Chiave pubblica: Derivata dalla tua chiave privata e memorizzata nella configurazione del tuo app Capacitor (utilizzata per la decrittografia)
- Chiavi di sessione: Chiavi AES casuali generate per ogni caricamento di bundle
2. Processo di crittografia
Sezione intitolata “2. Processo di crittografia”- Viene generato un chiave di sessione AES casuale per ogni caricamento di bundle
- La vostra bundle viene crittografata utilizzando la chiave di sessione AES
- Viene calcolato il checksum del bundle
- Entrambe la chiave di sessione AES e il checksum vengono crittografati insieme utilizzando la vostra chiave privata RSA (creando la “firma”)
- Viene memorizzato il bundle crittografato e la firma crittografata
Il checksum viene crittografato insieme alla chiave AES per prevenire la manipolazione. Poiché solo la vostra chiave privata RSA può creare questa firma, e solo la chiave pubblica corrispondente può decrittificarla, ciò garantisce che sia la chiave di sessione AES e il checksum previsto siano autentici e non siano stati modificati da un attaccante.
3. Processo di decrittografia
Sezione intitolata “3. Processo di decrittografia”- La vostra app scarica il bundle crittografato e la firma crittografata
- La Capgo SDK utilizza la vostra chiave pubblica RSA (memorizzata nell'app) per decrittografare la firma
- Questa rivela la chiave di sessione AES e il checksum originale
- La chiave di sessione AES viene utilizzata per decrittare il pacchetto
- Si calcola e si confronta un checksum del pacchetto decrittato con il checksum originale per la verifica dell'integrità
Questo processo garantisce che anche se un attaccante intercetta il pacchetto crittografato, non può modificare la chiave di sessione AES o fornire un checksum falso, perché dovrebbe avere la tua chiave privata per creare una firma valida che la chiave pubblica può decrittare
Capgo vs Altre Piattaforme
Sottosezione intitolata “Capgo vs Altre Piattaforme”| Caratteristica | Capgo | Altre Piattaforme OTA |
|---|---|---|
| Contenuto del Pacchetto | Criptato in archiviazione/trasito; ancora esaminabile da un ingegnere di reverse engineering determinato con il file binario dell'app | Pubblicamente leggibile |
| Metodo di Sicurezza | Verifica crittografia end-to-end | Code firma solo |
| Livello di Privacy | Protezione forte di consegna/archiviazione; non antiriciclaggio | La piattaforma può accedere al tuo code |
| Protezione | Contenuto + integrità + autenticità | Integrità + autenticità solo |
Perché Questo è Importante:
- Code firma verifica solo che gli aggiornamenti non siano stati alterati e provengano dalla fonte giusta
- Capgo crittografia proteggono il bundle mentre è archiviato e distribuito e rendono molto più difficile la creazione di aggiornamenti criptati falsificati perché l'attaccante avrebbe bisogno della tua chiave privata
- L'ingegneria inversa è ancora possibile dopo che l'app è stata rilasciata, perché il client contiene la chiave pubblica necessaria per decrittare e caricare l'aggiornamento
Metodi di crittografia
Sezione intitolata “Metodi di crittografia”Capgo utilizza la crittografia V2 come metodo di crittografia standard:
Crittografia V2 (Metodo attuale)
Sezione intitolata “Crittografia V2 (Metodo attuale)”- Utilizza RSA-4096 per una maggiore sicurezza
- AES-256-GCM per crittografia autenticata
- Fornisce la verifica dell'integrità
- Miglior prestazioni e sicurezza
Crittografia V1 (Deprecated)
Sezione intitolata “Crittografia V1 (Deprecated)”- Utilizza RSA-2048 per la crittografia delle chiavi
- AES-256-CBC per la crittografia dei pacchetti
- Non più disponibile nella versione corrente CLI
- Gli app legacy che utilizzano V1 devono migrare a V2
Configurazione della crittografia
Sottosezione intitolata “Configurazione della crittografia”Passo 1: Genera le chiavi di crittografia
Sottosezione intitolata “Passo 1: Genera le chiavi di crittografia”Prima di tutto, genera le tue chiavi di crittografia utilizzando il Capgo CLI:
# Generate new encryption keys (creates files in current directory)npx @capgo/cli@latest key createQuesto crea:
.capgo_key_v2: La tua chiave privata (tienila sicura!).capgo_key_v2.pub: La tua chiave pubblica (utilizzata dal tuo app)
Questi file vengono creati nella directory corrente in cui esegui il comando.
Passo 2: Salva la tua chiave pubblica nel Capacitor Config (Obbligatorio)
Sottosezione intitolata “Passo 2: Salva la tua chiave pubblica nel Capacitor Config (Obbligatorio)”Lei context 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"Step 3: Sync Capacitor Platform (Required)
Passo 3: Sincronizza la piattaforma Capacitor (Obbligatorio)Dopo aver salvato la chiave pubblica, tu devi sync il piattaforma Capacitor per copiare la configurazione aggiornata al layer nativo:
# Sync the platform to copy config to nativenpx cap syncEcritture dei Pacchetti
Sottosezione intitolata “Ecritture dei Pacchetti”Metodo 1: Criptare durante l'upload
Sottosezione intitolata “Metodo 1: Criptare durante l'upload”La soluzione più semplice è criptare durante il processo di upload:
# Upload with automatic encryptionnpx @capgo/cli@latest bundle upload --key-v2
# For external storage, you must encrypt first (see Manual Encryption Workflow below)Metodo 2: Flusso di lavoro di criptazione manuale
Sottosezione intitolata “Metodo 2: Flusso di lavoro di criptazione manuale”Per avere più controllo, puoi criptare manualmente i pacchetti:
-
Creare un pacchetto zip:
Fermata del terminale npx @capgo/cli@latest bundle zip com.example.app --path ./dist --key-v2 -
Crittografa il bundle:
Finestra del terminale npx @capgo/cli@latest bundle encrypt ./com.example.app.zip CHECKSUM_FROM_STEP_1 -
Carica sul tuo storage (ad esempio, S3) e registra con Capgo:
Finestra del terminale # 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
Gestione delle chiavi
Sezione intitolata “Gestione delle chiavi”Archiviazione delle chiavi in modo sicuro
Sezione intitolata “Archiviazione delle chiavi in modo sicuro”Opzioni per la chiave privata:
-
File-based (sviluppo locale):
Fenestra della finestra di comando # Key stored as .capgo_key_v2 file in project rootnpx @capgo/cli@latest bundle upload --key-v2 -
Variabile di ambiente (CI/CD):
Fenestra della finestra di comando # 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"
Configurazione della chiave pubblica (obbligatoria):
# Must save public key to Capacitor config for mobile appnpx @capgo/cli@latest key save --key ./.capgo_key_v2.pubAmbiente di produzione:
- Conserva le chiavi private nei servizi di gestione delle chiavi sicure (AWS KMS, Azure Key Vault, ecc.)
- Utilizza la gestione dei segreti CI/CD per le chiavi private
- Non commettere mai le chiavi private nel controllo delle versioni
Utilizzo della chiave:
- Chiave privata: Utilizzata da CLI per l'encryption durante l'upload del pacchetto (mantenere sicuro)
- Chiave pubblica: Memorizzata nella configurazione dell'applicazione per la decrittazione sul dispositivo (sicuro da commettere)
Rotare dopo un compromesso della chiave privata
Sottosezione intitolata “Rotare dopo un compromesso della chiave privata”Rotare il coppia di chiavi quando la chiave privata è sospettata o confermata compromessa. Non è richiesta una rotazione calendario regolare. Si tratta di una migrazione della chiave nativa, non di un cambiamento OTA solo.
-
Generare una nuova coppia di chiavi:
Fenestra del terminale npx @capgo/cli@latest key create -
Salva la chiave pubblica di sostituzione nel tuo Capacitor config:
Finestra del terminale npx @capgo/cli@latest key save --key ./.capgo_key_v2.pub -
Sincronizza e distribuisci una versione nativa: Esegui
npx cap sync, quindi distribuisci una nuova versione di app nativa contenente la chiave pubblica di sostituzione. -
Seleziona la nuova versione nativa: I dispositivi che ancora eseguono la versione binaria nativa vecchia non possono decrittare gli aggiornamenti crittografati con la chiave di sostituzione. Utilizza Targeting della versione context: Pagina/Area: Pagina di marketing delle soluzioni Capgo. Ruolo: Intestazione di sezione o pagina. Visto in: pagina soluzioni/target-versione.astro. Chiave di messaggio `solutions_version_targeting_title` (Titolo del targeting della versione delle soluzioni). | Pagina/Area: Pagina di marketing delle soluzioni Capgo. Ruolo: Etichetta breve UI o elemento di navigazione. Visto in: pagina soluzioni/target-versione.astro. Chiave di messaggio `solutions_version_targeting` (Targeting della versione delle soluzioni).
-
Per limitare i pacchetti di sostituzione alla nuova versione nativa mentre il resto della flotta si aggiorna attraverso la store o MDM. Passa al tuo segreto di caricamento:
Pratiche di Sicurezza
Sezione intitolata “Pratiche di Sicurezza”Sicurezza della Chiave
Sezione intitolata “Sicurezza della Chiave”- Non condividere mai le chiavi private tra ambienti o membri del team
- Utilizzare chiavi diverse per ambienti diversi (dev, staging, production)
- Rimuovere dopo un compromessoRipristina la coppia di chiavi quando la chiave privata è sospettata o confermata compromessa; non è richiesta una routine di rotazione del calendario
- Conserva le chiavi in modo sicuro utilizzando sistemi di gestione delle chiavi appropriati
Sicurezza del Bundle
Sottosezione intitolata “Sicurezza del Bundle”- Verifica sempre l'integrità del bundle dopo la decrittografia
- Monitora per i pattern di download insoliti o le fallite
- Utilizza HTTPS per tutte le URL del bundle (richiesto per le app mobili)
- Esegui gestione degli errori corretta per le fallite di decrittazione
Controllo dell'accesso
Sezione intitolata “Controllo dell'accesso”- Limitare l'accesso ai chiavi di crittografia solo ai personale autorizzato
- Utilizzare il controllo dei ruoli per le operazioni di gestione delle chiavi
- Audit l'uso e l'accesso delle chiavi regolarmente
- Implementare procedure di backup e ripristino corrette
Risolvere i problemi di crittografia
Sezione intitolata “Risolvere i problemi di crittografia”Issue comuni
Sezione intitolata “Issue comuni”Fallimenti di decrittazione:
- Verifica che la chiave privata corrisponda alla chiave pubblica utilizzata per la crittografia
- Controlla che il
ivSessionKeyè corretto - Assicurati di utilizzare la crittografia V2 (V1 non è più supportata)
Errori legati alla chiave:
- Conferma che il formato della chiave privata è corretto (formato PEM)
- Verifica che la chiave non sia stata corrotta durante lo storage o la trasferimento
- Controlla che la chiave abbia le autorizzazioni corrette nella configurazione dell'app
Problemi di prestazioni:
- I pacchetti grandi possono richiedere più tempo per l'encryptazione/decrittazione
- Considera l'utilizzo delle aggiornamenti Delta (manifesto) per ridurre le dimensioni dei pacchetti
- Monitorare le prestazioni del dispositivo durante la decrittazione
Comandi di debug
Sottosezione intitolata “Comandi di debug”Controlla lo stato di crittografia:
npx @capgo/cli@latest app debugTesta il flusso di crittografia/decrittazione:
# 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_KEYCompatibilità e Standard
Titolo della sezione “Compatibilità e Standard”La implementazione di Capgo di crittografia segue gli standard dell'industria:
- AES-256: Algoritmo di crittografia approvato da FIPS 140-2
- RSA-4096: Crittografia asimmetrica forte per la protezione delle chiavi
- Modalità GCM: Fornisce sia la confidenzialità che l'autenticità
- Casuale Sicuro: Generazione di numeri casuali criptograficamente sicuri
Ciò rende Capgo adatto per le applicazioni che richiedono la conformità con:
- Regolamento generale sulla protezione dei dati (GDPR)
- Legge sulla portabilità e sulla responsabilità assicurativa per la salute (HIPAA)
- Controllo SOC 2 (Service Organization Control 2)
- ISO 27001 (Gestione della sicurezza delle informazioni)
Considerazioni di prestazioni
Sezione intitolata “Considerazioni di prestazioni”Carico di crittografia
Sezione intitolata “Carico di crittografia”- Dimensione del pacchetto: I pacchetti crittografati sono leggermente più grandi (~1-2% di sovraccarico)
- Tempo di elaborazione: La crittografia/decriptazione aggiunge una latenza minima
- Utilizzo della memoria: Aumento temporaneo durante le operazioni di cifratura/decifratura
Consigli di ottimizzazione
Sottosezione intitolata “Consigli di ottimizzazione”- Utilizza gli aggiornamenti Delta (manifesto) per ridurre il trasferimento di dati cifrati
- Optimizza il tuo bundle di dimensioni convertendo le immagini in formato WebP
- Minimizza i file JavaScript e CSS prima di compilarli
- Elimina le dipendenze non utilizzate e code
- Monitora le prestazioni del dispositivo su dispositivi più vecchi/lenti
Passaggi successivi
Sottosezione intitolata “Passaggi successivi”- Scopri Storage personalizzato per utilizzare l'encryption con la tua infrastruttura
- Esplora Canali context: Canali di rilascio Capgo. Pagina/Area: Pagina di marketing delle soluzioni Capgo. Ruolo: Etichetta UI breve o elemento di navigazione. Visto in: pagina soluzioni/white-label.astro. Chiave di messaggio `solutions_white_label_visual_cell2_value` (Valore cella visiva White Label Solutions).
- per gestire i pacchetti crittografati all'interno di ambienti diversi Configura Integrazione CI/CD
context: Pagina/Area: Pagina del prodotto Capgo Builder / prodotto di costruzione nativa cloud. Ruolo: Etichetta UI breve o elemento di navigazione. Chiave di messaggio `native_build_feature_ci_cd` (Funzione di costruzione nativa Ci Cd).
per automatizzare i deployment crittografatiContinua da qui dall'Encryption Sottosezione intitolata “Continua da qui dall'Encryption” (Keep going from Encryption). per pianificare la sicurezza e la conformità, connettilo con Conformità per i dettagli di implementazione in Conformità Capgo Scanner di Sicurezza per il flusso di lavoro del prodotto in Capgo Scanner di Sicurezza Capgo Sicurezza per il flusso di lavoro del prodotto in Capgo Sicurezza Capgo Centro di fiducia per il flusso di lavoro del prodotto in Capgo Centro di fiducia, e Sicurezza dell'Organizzazione per i dettagli di implementazione in Sicurezza dell'Organizzazione.