Saltare al contenuto principale
Soluzione

Crittografia end-to-end per il Capacitor Updater tramite firma digitale Code

Utilizzo della crittografia RSA + AES per cifrare gli aggiornamenti, progettato per le aziende e gli app di alta sicurezza

Crediti dell'articolo

Martin Donadieu

Scrittore

Valeria

Recensore

Jordan

Curatore

E2E Encryption per l'aggiornamento di Capacitor tramite la firma di Code

Capacitor-aggiornamento L'aggiornamento di code supporta ora la crittografia end-to-end. La firma di Code garantisce che gli aggiornamenti eseguiti dai dispositivi degli utenti finale siano stati modificati e fornisce un livello di protezione aggiuntivo rispetto all'aggiornamento standard di Capacitor-aggiornamento, che offre una sicurezza di tipo web.

La sicurezza predefinita del Capacitor-aggiornatore

Di default, il modello di sicurezza di Capgo è simile a quello dei provider di hosting web. Capgo archivia gli aggiornamenti crittografati in riposo e serve i pacchetti tramite HTTPS utilizzando cifrature moderne. Inoltre, pubblicare un aggiornamento da un computer del developer utilizza sempre HTTPS.

Capgo ottiene un punteggio A+ nel test HTTPS di SSL Labs

Capgo’s default security ottiene un punteggio A+ nel test HTTPS di SSL Labs (https://www.ssllabs.com, novembre 2022)

Come le migliori aziende 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.

L'infrastruttura cloud della catena di fornitura

Un'altra cosa che Capgo e la maggior parte degli host web hanno in comune è che eseguono un'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 cloud.

La catena di fornitura cloud e il suo modello di sicurezza funzionano per un numero enorme 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 stati 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 patchano le vulnerabilità in orari regolari, prevenendo proattivamente il software malintenzionato (ad es. Google's SLSA), e costruire strati di difesa in profondità, e nella pratica, l'infrastruttura cloud ha dimostrato di soddisfare le maggiori esigenze di sicurezza per i siti web e le app. Tuttavia, alcune app Ionic includono infrastrutture cloud compromesse nei loro modelli di minaccia. Per queste Capacitor app JS con le più elevate esigenze di sicurezza al di sopra del web, abbiamo sviluppato la firma end-to-end code in Capgo e Capgo Updates protocollo standard.

La firma end-to-end code con Capgo

La firma end-to-end Capgo di 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 un dispositivo dell'utente finale riceve e esegue l'aggiornamento. “La firma Code” 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:

Schema di crittografia Capgo

  • 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 cifrare e decifrare i dati.
  • Checksum: Un hash calcolato per un file
  • Firma: 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 cifrati 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 in un checksum). In seguito, la chiave AES decifrata viene utilizzata per decifrare l'aggiornamento; un checksum del file 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.

Cifratura 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 decifrazione). Ora, l'app memorizza la chiave pubblica (utilizzata ora per la decifrazione).
  • Abbiamo cambiato il checksum dall'algoritmo CRC32 all'algoritmo SHA256. Abbiamo anche iniziato a firmare il bundle. Quando l'encryption V2 è configurato, un aggiornamento deve avere una firma valida. Ciò è rigorosamente impostato dal plugin.
  • Ora imponevamo una firma valida. Queste 3 modifiche sono state fatte 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'encryption V1, migra a V2 per beneficiare delle nuove funzionalità di sicurezza. Segui le istruzioni di migrazione. Istruzioni di migrazione.

Con la firma end-to-end code, Capgo diventa un'infrastruttura cloud “senza fiducia”. Se uno dei provider cloud di Capgo o addirittura Capgo stesso modificasse un aggiornamento firmato con code, i dispositivi degli utenti rifiuterebbero quell'aggiornamento e eseguirebbero l'aggiornamento precedente, già presente sul dispositivo, che è stato accettato come affidabile.

Mentre il HTTPS a livello web è sufficiente per molte app, alcune grandi aziende trovano l'ulteriore livello di sicurezza dalla firma end-to-end code attraente. Alcune di queste aziende creano app di finanza che emettono transazioni di valore permanente elevato. Altre aziende hanno CISO che includono infrastrutture cloud compromesse nei loro modelli di minaccia. Abbiamo implementato la firma end-to-end 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 curano profondamente della sicurezza, vogliamo rendere la firma code facile da configurare e mantenere. A tale scopo, forniamo ora le seguenti funzionalità:

  • Configurazione e configurazione rapida del certificato
  • Sostegno per la firma di code dei server di sviluppo con entrambi Capgo e build di sviluppo
  • La firma di code in produzione su ogni aggiornamento

La firma Capgo code è disponibile per tutti i clienti. Per iniziare, segui i passaggi. Istruzioni di configurazione.

Ringraziamenti

Grazie moltissimo a Ionic, questo articolo si basa su questo articolo Riscritto con chat-gpt-3 e adattato.

Continua da E2E Encryption per Capacitor Updater via Code Signing

Se stai utilizzando E2E Encryption per Capacitor Aggiornatore tramite Code Firma a 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 Scanner di Sicurezza. Capgo Sicurezza per il flusso di lavoro del prodotto in Capgo Sicurezza, e Capgo Centro di Trust Per il workflow del prodotto nel Capgo Centro di Trust.

Aggiornamenti in tempo reale per Capacitor app

When a web-layer bug is live, ship the fix through Capgo instead of waiting days for app store approval. Users get the update in the background while native changes stay in the normal review path.

Ultimi dalla nostra Blog

Capgo gives you the best insights you need to create a truly professional mobile app.