Vai alla sezione principale
Soluzione

Chiarimento a fine ciclo per l'aggiornamento di Capacitor tramite la firma di Code

Utilizza la crittografia RSA + AES per cifrare gli aggiornamenti, progettata per le aziende e gli app di alta sicurezza

Martin Donadieu

Martin Donadieu

Content Marketer

Chiarimento a fine ciclo per l'aggiornamento di Capacitor tramite la firma di Code

Capacitor-aggiornamento ora supporta la crittografia a fine ciclo di code. La firma di 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 livello di sicurezza predefinito di Capacitor-aggiornamento

Di default, il modello di sicurezza di Capgo è simile a quello dei provider di hosting web. Capgo memorizza gli aggiornamenti crittografati in stato di riposo e li serve tramite HTTPS utilizzando cifrari moderni. Allo stesso modo, pubblicare un aggiornamento da un computer del developer utilizza sempre HTTPS.

Capgo ottiene un A+ nel test SSL Labs' HTTPS

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

Come i migliori web host di classe, 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 che Capgo e la maggior parte dei web host hanno in comune è che si eseguono su infrastrutture cloud di livello inferiore, spesso da AWS, GCP o un altro popolare provider di cloud. L'hardware e il software gestiti da questi provider di cloud e Capgo o altri web host 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 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 stati 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 proattivamente il software malintenzionato (ad esempio Google's SLSATuttavia, alcuni 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 per l'accesso a Capgo e Protocollo standard di aggiornamento Capgo.

Firma end-to-end code con Capgo

La firma end-to-end Capgo 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.

“Firma 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. “Firma Code” è 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:

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 upload, quindi la chiave AES e il checksum (da ora in poi “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 (convertondo nuovamente il 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, nemmeno Capgo può leggere il contenuto del tuo bundle. Questo è un modello di sicurezza robusto che viene utilizzato da molti clienti aziendali.

Cifratura 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 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 bundleWhen l'encryption V2 è configurato, un aggiornamento deve avere una firma valida. Ciò è rigorosamente impostato dal plugin.
  • Ora si impone una firma valida. L'encryption V2 è configurato. 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. Con la firma end-to-end __CAPGO_KEEP_0__, __CAPGO_KEEP_1__ diventa un'infrastruttura cloud .

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.

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. Altre aziende hanno CISO che includono l'infrastruttura cloud compromessa nei loro modelli di minaccia. Abbiamo costruito 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.

Per iniziare 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 di Capgo code è disponibile per tutti i clienti. Per iniziare, segui le istruzioni di configurazione Istruzioni di configurazione.

Crediti

Un grande ringraziamento a Ionicquesto articolo si basa su questo articolo è stato rivisto con chat-gpt-3 e adattato.

Continua da E2E Encryption per Capacitor Updater via Code Signing

Se stai utilizzando Crittografia E2E per Capacitor Aggiornatore tramite Code Firma 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 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.

Aggiornamenti in tempo reale per le app Capacitor

Quando un bug nel layer web è attivo, invia la correzione attraverso Capgo invece di attendere giorni per l'approvazione della store. Gli utenti ricevono l'aggiornamento in background mentre le modifiche native rimangono nel normale percorso di revisione.

Inizia subito

Ultimi articoli dal nostro Blog

Capgo ti offre le migliori informazioni che ti servono per creare un'app mobile davvero professionale.