Capacitor-aggiornamento ora supporta la crittografia end-to-end per code. La firma Code assicura che gli aggiornamenti eseguiti dai dispositivi degli utenti finale siano stati modificati e fornisce un livello di protezione aggiuntivo rispetto alla sicurezza web standard del Capacitor-aggiornamento.
Il default di sicurezza di Capacitor-aggiornamento
Di default, il modello di sicurezza di Capgo è simile a quello dei provider di hosting web. Capgo archivia gli aggiornamenti crittografati in massa e li serve tramite HTTPS utilizzando cifre moderne. Analogamente, pubblicare un aggiornamento da un computer del developer utilizza sempre HTTPS.

Capgo's default di sicurezza ottiene un A+ nel test SSL Labs' HTTPS (https://www.ssllabs.com, novembre 2022)
Come gli host web di classe migliore, 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 di sicurezza eccellente 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 che Capgo e la maggior parte degli host web hanno in comune è che si eseguono su infrastruttura cloud di livello inferiore, spesso da AWS, GCP o un altro fornitore di cloud popolare. L'hardware e il software gestiti da questi fornitori di cloud e Capgo o altri host web fanno parte della catena di fornitura dell'infrastruttura cloud.
La catena di fornitura dell'infrastruttura cloud e il suo modello di sicurezza funzionano per un numero vasto di siti web e app. Ogni sviluppatore web che utilizza un fornitore di cloud mette fiducia in quel fornitore e si aspetta che i file che carica siano i file che vengono eseguiti o serviti senza essere alterati. E i fornitori di cloud lavorano duramente per mantenere la loro infrastruttura sicura.
Ma ovviamente, le vulnerabilità di hardware e software vengono scoperte. I fornitori di cloud riparano le vulnerabilità in orari prestabiliti, prevenendo in modo proattivo il software malizioso (ad esempio, "Google’s SLSA"), e costruiscono strati di difesa in profondità, e in pratica, l'infrastruttura cloud ha dimostrato di soddisfare le esigenze di sicurezza di molti siti web e app. Tuttavia, alcune app Ionic includono infrastruttura cloud compromessa nei loro modelli di minaccia. Per queste app JS di __CAPGO_KEEP_0__ 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_2__), 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 Aggiornamenti Capgo standard.
Autenticazione code end-to-end con Capgo
Capgo’s autenticazione end-to-end con code 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 Capacitor.
“End-to-end” significa che questa sicurezza copre il flusso dal momento in cui uno sviluppatore pubblica un aggiornamento fino al momento in cui il dispositivo di un utente finale riceve e esegue l'aggiornamento. “Code signing” è l'utilizzo della crittografia e di una chiave privata segreta per “firmare” code, e in seguito utilizzare 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
- Signature: Un checksum che è stato cifrato con una chiave privata RSA. Può essere verificato con una chiave pubblica RSA
Utilizziamo l'algoritmo AES per cifrare l'aggiornamento. Una chiave AES casuale viene generata per ogni caricamento, quindi la chiave AES e il checksum (di seguito denominato “firma”) vengono cifrate con la chiave privata RSA dello sviluppatore. La chiave pubblica RSA dello sviluppatore viene utilizzata nell'app per decifrare la chiave AES e la firma (convertono nuovamente il checksum). In seguito, la chiave AES decifrata viene utilizzata per decifrare l'aggiornamento; un checksum dell'aggiornamento decifrato viene calcolato e viene confrontato con la firma decifrata.
Utilizziamo due diversi algoritmi di cifratura perché RSA non può essere utilizzato per cifrare grandi quantità di dati. AES viene utilizzato per cifrare l'aggiornamento e RSA viene utilizzato per cifrare la chiave AES e il checksum.
Con questo, neanche Capgo può leggere il contenuto del tuo bundle. Questo è un modello di sicurezza robusto che viene utilizzato da molti clienti aziendali.
Criptazione dell'aggiornamento 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 cifratura) dalla chiave privata (utilizzata precedentemente per la decifratura). Ora, l'app memorizza la chiave pubblica (utilizzata ora per la decifratura).
- Abbiamo cambiato il checksum dall'algoritmo CRC32 all'algoritmo SHA256. Abbiamo anche iniziato a firmare il bundle. Quando è configurata la criptazione V2, un aggiornamento deve avere una firma valida. Ciò viene imposto rigidamente dal plugin.
- Eseguiamo ora una validazione della firma di crittografia V2 è configurata. Queste 3 modifiche sono state eseguite dopo un'analisi di sicurezza da 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 firma di fine-alla-coda __CAPGO_KEEP_0__, __CAPGO_KEEP_1__ diventa un'infrastruttura cloud 'senza fiducia'. Se uno dei provider cloud di __CAPGO_KEEP_2__ o addirittura __CAPGO_KEEP_3__ stesse a modificare un aggiornamento firmato con __CAPGO_KEEP_4__, i dispositivi degli utenti finale rifiuterebbero quell'aggiornamento e eseguirebbero l'aggiornamento precedente, già presente sul dispositivo, che è stato riconosciuto come affidabile..
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.
Per le grandi aziende o i progetti che si curano profondamente della sicurezza, vogliamo rendere la firma di fine-alla-coda __CAPGO_KEEP_0__ facile da configurare e mantenere. A tale scopo, forniamo ora le seguenti funzionalità:
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:
- Sostegno alla firma di fine-alla-coda __CAPGO_KEEP_0__ dei server di sviluppo con sia __CAPGO_KEEP_1__ che build di sviluppo
- Support for code signing development servers with both Capgo and development builds
- Production code signing on every update
Capgo code la firma è disponibile per tutti i clienti. Per iniziare, segui le istruzioni di configurazione. istruzioni di configurazione.
Crediti
Grazie moltissimo a Ionic, questo articolo si basa su questo articolo è stato rivisto con chat-gpt-3 e adattato.
Continua da E2E Encryption per Capacitor Aggiornatore via Code Firma
Se stai utilizzando E2E Encryption per Capacitor Aggiornatore via Code Firma per pianificare la sicurezza e la conformità, connettilo con Crittografia per il dettaglio di implementazione in Crittografia, Conformità per il dettaglio di implementazione in Conformità, Capgo Scansionatore di Sicurezza per il flusso di lavoro del prodotto in Capgo Scansionatore di Sicurezza, Capgo Sicurezza per il flusso di lavoro del prodotto in Capgo Sicurezza, e Capgo Centro di Trust per il flusso di lavoro del prodotto in Capgo Centro di Trust.