Capacitor-aggiornatore ora supporta la crittografia end-to-end di code . La firma Code assicura che gli aggiornamenti eseguiti dai dispositivi degli utenti finali non sono stati alterati e fornisce un livello di protezione aggiuntivo oltre alla sicurezza di base del Capacitor-aggiornatore.
La sicurezza predefinita dell'Capacitor-aggiornatore
Di default, il modello di sicurezza di Capgo è simile a quello dei provider di hosting web. Capgo memorizza gli aggiornamenti crittografati in massa e li serve tramite HTTPS utilizzando cifre moderne. Allo stesso modo, pubblicare un aggiornamento da un computer del developer utilizza sempre HTTPS.

Capgo's sicurezza predefinita ottiene un A+ nel test SSL Labs' HTTPS (https://www.ssllabs.com, novembre 2022)
Come i migliori provider di hosting web, Capgo utilizza HTTPS per proteggere la privacy e l'integrità delle connessioni di rete tra il server e i dispositivi degli utenti finali. Si tratta di un livello eccellente di sicurezza che funziona bene sia per il web che per le app Ionic che utilizzano Capgo.
La catena di fornitura dell'infrastruttura cloud
Un'altra cosa Capgo e la maggior parte dei provider web hanno in comune è che funzionano su infrastrutture cloud di livello inferiore, spesso da AWS, GCP o un altro popolare provider cloud. L'hardware e il software gestiti da questi provider cloud e Capgo o altri provider web fanno parte della catena di fornitura cloud.
Il modello di sicurezza della catena di fornitura cloud e funziona per un numero enorme di siti web e app. Ogni sviluppatore web che utilizza un provider cloud mette fiducia in quel provider e si aspetta che i file che carica siano i file che vengono eseguiti o serviti senza essere stati alterati. E i provider cloud lavorano duramente per mantenere la loro infrastruttura sicura.
Ma ovviamente, le vulnerabilità di hardware e software vengono scoperte. I provider cloud patchano le vulnerabilità in orari prestabiliti, prevenendo proattivamente il software malintenzionato (ad esempio, "Google’s SLSA"), e costruiscono strati di difesa in profondità, e in pratica, l'infrastruttura cloud ha dimostrato di soddisfare le maggiori esigenze di sicurezza dei siti web e delle app. Tuttavia, alcune app Ionic includono infrastrutture cloud compromesse nei loro modelli di minaccia. Per queste __CAPGO_KEEP_0__ app JS con le più elevate esigenze di sicurezza al di sopra del web, abbiamo costruito la firma end-to-end __CAPGO_KEEP_1__ in __CAPGO_KEEP_2__ e __CAPGO_KEEP_0__ Updates standard protocol), 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 La firma end-to-end Capgo di Capgo utilizza la crittografia a chiave pubblica per garantire che i dispositivi degli utenti finali eseguano solo aggiornamenti non modificati e originali dallo sviluppatore dell'app __CAPGO_KEEP_2__..
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.
“End-to-end” significa che questa sicurezza copre il flusso dal momento in cui lo sviluppatore pubblica un aggiornamento al momento in cui il dispositivo dell'utente finale riceve e esegue l'aggiornamento. “Code signing” utilizza la crittografia e una chiave privata segreta per “firmare” code, e in seguito utilizza una chiave pubblica affidabile per verificare la firma.
Ecco uno schema semplice* per spiegare come funziona:

- Complesso nella pratica, la crittografia è difficile
Definizione:
- AES: Standard di crittografia avanzata, un algoritmo di crittografia simmetrica, una chiave per l'encryption e la decrittografia.
- RSA: Rivest–Shamir–Adleman, un algoritmo di crittografia asimmetrica, due chiavi vengono utilizzate: una chiave pubblica e una chiave privata.
- Cifrario: I dati crittografati.
- Chiave di sessione: Una chiave AES utilizzata per crittografare e decrittografare i dati.
- Checksum: Un hash calcolato per un file
- Firma: Un checksum che è stato crittografato con una chiave privata RSA. Può essere verificato con una chiave pubblica RSA
Utilizziamo l'algoritmo AES per crittografare l'aggiornamento. Una chiave AES casuale viene generata per ogni upload, quindi la chiave AES e il checksum (di seguito denominato “firma”) vengono crittografati con la chiave privata RSA dello sviluppatore. La chiave pubblica RSA dello sviluppatore viene utilizzata nell'app per decrittografare la chiave AES e la firma (convertono nuovamente in un checksum). In seguito, la chiave AES decrittografata viene utilizzata per decrittografare l'aggiornamento; un checksum dell'aggiornamento decrittografato viene calcolato e viene confrontato con la firma decrittografata.
Utilizziamo due diversi algoritmi di crittografia perché RSA non può essere utilizzato per crittografare grandi quantità di dati. AES viene utilizzato per crittografare l'aggiornamento e RSA viene utilizzato per crittografare la chiave AES e il checksum.
Con questo, neanche Capgo può leggere il contenuto del tuo pacchetto. Questo è un modello di sicurezza robusto che viene utilizzato da molti clienti aziendali.
Aggiornamento crittografato V2 2024-08-27:
- Abbiamo cambiato il tipo di chiave che viene memorizzata nell'app. Ciò è stato fatto per prevenire l'inferenza della chiave pubblica (utilizzata precedentemente per la crittografia) dalla chiave privata (utilizzata precedentemente per la decrittografia). Ora, l'app memorizza la chiave pubblica (utilizzata ora per la decrittografia).
- Abbiamo cambiato il checksum dall'algoritmo CRC32 all'algoritmo SHA256. Abbiamo anche iniziato a firmare il pacchetto. Quando è configurato l'aggiornamento crittografato V2, un aggiornamento deve avere una firma valida. Ciò viene rigorosamente applicato dal plugin.
- Ora applichiamo una firma valida. Questi 3 cambiamenti sono stati fatti dopo un'analisi di sicurezza da parte di un membro della community. Sono qui per prevenire attacchi crittografici durante l'aggiornamento.
Se hai utilizzato l'aggiornamento crittografato V1, migra a V2 per beneficiare delle nuove funzionalità di sicurezza. Segui le istruzioni di migrazione.
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 il livello di sicurezza web-HTTPS è sufficiente per molte app, alcune grandi aziende trovano l'ulteriore livello di sicurezza da code firma fine-a-fine attraente. Alcune di queste aziende creano app di finanza che emettono transazioni di valore permanente alto. Altre aziende hanno CISO che includono infrastrutture di cloud compromesse nei loro modelli di minaccia. Abbiamo costruito la code firma fine-a-fine in Capgo per questi casi d'uso e siamo interessati a sentire più da aziende con bisogni di sicurezza più elevati.
Iniziare per i clienti aziendali
Per le grandi aziende o i progetti che si curano profondamente della sicurezza, vogliamo rendere la code firma facile da configurare e mantenere. A tale scopo, forniamo ora le seguenti funzionalità:
- Configurazione e configurazione rapida del certificato
- Sostegno alla code firma dei server di sviluppo con entrambi Capgo e build di sviluppo
- code firma in produzione su ogni aggiornamento
La Capgo code firma è disponibile per tutti i clienti. Per iniziare, segui le istruzioni di configurazione Crediti.
Grazie moltissimo a
Ionic , questo articolo si basa susetup instructions questo articolo riprodotto con chat-gpt-3 e adattato.
Continua da E2E Encryption per Capacitor Updater via Code Signing
Se stai utilizzando E2E Encryption per Capacitor Updater via Code Signing per pianificare la sicurezza e la conformità, connettilo con Crittografia per i dettagli di implementazione in Crittografia, 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, e Capgo Centro di fiducia per il flusso di lavoro del prodotto in Capgo Centro di fiducia.