Capacitor-aggiornatore ora supporta la crittografia end-to-end di code . La firma di 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 rete standard del Capacitor-aggiornatore.
La sicurezza predefinita dell'Capacitor-aggiornatore
Di default, il modello di sicurezza di Capgo è simile a quello dei fornitori di hosting web. Capgo memorizza gli aggiornamenti crittografati in massa e li serve tramite HTTPS utilizzando moderni cifrari. 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 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 ottimo livello di sicurezza che funziona bene sia per il web che per le app Ionic che utilizzano Capgo.
La catena di fornitura dell'infrastruttura cloud
Another thing Capgo and most web hosts have in common is they run on lower-level cloud infrastructure, often from AWS, GCP, or another popular cloud provider. The hardware and software operated by these cloud providers and Capgo or other web hosts are part of the cloud supply chain.
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 di cloud mette fiducia in quel provider e si aspetta che i file che carica siano i file che vengono eseguiti o serviti senza essere alterati. E i provider di cloud lavorano duramente per mantenere la loro infrastruttura sicura.
Ma ovviamente, le vulnerabilità di hardware e software vengono scoperte. I provider di cloud riparano le vulnerabilità in orari prestabiliti, prevenendo in modo proattivo il software malintenzionato (ad esempio, il protocollo SLSA di Google), e costruiscono strati di difesa in profondità, e in pratica, l'infrastruttura cloud ha dimostrato di soddisfare le maggior parte delle 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
Per queste Capgo app JS con le più elevate esigenze di sicurezza al di sopra del web, abbiamo costruito la firma end-to-end code in Capacitor e
“End-to-end” significa che questa sicurezza copre il flusso dal momento in cui lo sviluppatore pubblica un aggiornamento fino 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 calcolo di hash 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 caricamento, quindi la chiave AES e il checksum (di seguito “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 (convertondo nuovamente in un checksum). In seguito, la chiave AES decrittografata viene utilizzata per decrittografare l'aggiornamento; un checksum del file decrittografato viene calcolato, e viene confrontato con la firma decrittografata.
We 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 crittografia 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 è configurata la crittografia V2, un aggiornamento deve avere una firma valida. Ciò viene rigorosamente applicato dal plugin.
- Ora applichiamo una firma valida. Quando è configurata la crittografia V2. 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 la crittografia V1, migra a V2 per beneficiare delle nuove funzionalità di sicurezza. Segui le istruzioni di migrazione.
Con la crittografia end-to-end code, Capgo diventa un'infrastruttura cloud 'senza fiducia'. Se uno dei provider cloud di Capgo o anche Capgo stesso modificasse un aggiornamento firmato con code, i dispositivi degli utenti rifiuterebbero quell'aggiornamento e eseguirebbero l'aggiornamento precedente, già presente sul dispositivo e di cui si ha fiducia.
While il livello di sicurezza web-HTTPS è sufficiente per molte app, alcune grandi aziende trovano l'ulteriore livello di sicurezza da code firma a fine-to-fine attraente. Alcune di queste aziende creano app di finanza che emettono transazioni di valore elevato e permanenti. Altre aziende hanno CISO che includono infrastrutture di cloud compromesse nei loro modelli di minaccia. Abbiamo costruito la firma a fine-to-fine code in Capgo per questi casi d'uso e siamo interessati a sentire più da aziende con bisogni di sicurezza più elevati.
Avvio rapido per i clienti aziendali
Per le grandi aziende o i progetti che si preoccupano profondamente della sicurezza, vogliamo rendere la code firma facile da configurare e mantenere. A tal fine, forniamo ora le seguenti funzionalità:
- Configurazione e configurazione rapida del certificato
- Sostegno per la code firma dei server di sviluppo con sia Capgo che build di sviluppo
- Firma code 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.