Modo di combinare tar criptato e chiave simmetrica crittografata con cui è stato crittografato tar?

2

Utilizziamo la scheda personalizzata Beaglebone Black (AM335x), quindi per gli aggiornamenti del firmware della scheda utilizzeremo un'immagine del firmware crittografata.

Come avresti già intuito, utilizzeremo la crittografia simmetrica per crittografare un file firmware di grandi dimensioni (fimware tar) e quindi crittografare la chiave simmetrica con una chiave asimmetrica. Quindi abbiamo due file che devono essere dati all'utente per l'aggiornamento della sua scheda. Ora non vogliamo farlo, vogliamo dare un solo file all'utente.

Quindi dobbiamo in qualche modo combinare l'immagine del firmware crittografato e la chiave simmetrica crittografata.

Ho pensato a due strategie, cripterò il firmware usando lo script bash,

  • Tar crittografato firmware e chiave simmetrica crittografata. Ma è molto lento.
  • Aggiungi la chiave simmetrica crittografata al file tar criptato. Non pensare che questo sia un approccio pulito, vero?

Qualche suggerimento su come gestirlo in modo rapido e migliore?

Nota
Ho postato questa domanda su Stack Overflow ma pensavo che questa domanda potesse anche appartenere a Information Security. Fammi sapere se non ti sembra giusto.

    
posta AnkurTank 08.06.2016 - 12:56
fonte

2 risposte

2

Penso che sia sufficiente usare la crittografia PGP / GPG e criptare l'archivio usando la tua chiave privata (sotto il cofano PGP / GPG farà lo stesso come hai descritto: genererà una chiave simmetrica casuale, cripta il corpo del payload con esso, quindi crittograferà la chiave simmetrica con la tua chiave privata asimmetrica).

Questo ti darà un singolo file crittografato. Non resta che incorporare la tua chiave pubblica nel sistema di base della tua scheda (puoi anche pubblicare la tua chiave pubblica sul tuo sito web, in modo che gli utenti possano decifrare l'archivio se lo desiderano.

La maggior parte dei produttori sta implementando questo approccio e sta utilizzando la chiave pubblica incorporata per garantire che il processo di aggiornamento / aggiornamento funzioni con i firmware prodotti dal produttore (quello che ha la chiave privata corrispondente). Questo approccio funziona finché non c'è un flusso nel sistema della tua scheda che consentirebbe a un utente malintenzionato di manomettere la chiave pubblica incorporata.

    
risposta data 25.07.2016 - 15:35
fonte
1

Dovresti semplicemente usare la semplice funzione di archivio (predefinita) di tar per raggruppare alcuni dati insieme:

tar cvf output.tar data.tar.gz key

Puoi anche rendere il file (readonly) disponibile su una rete privata (o magari pubblica), e inviare la chiave sim e l'url agli utenti crittografati con le loro chiavi pubbliche.

    
risposta data 08.06.2016 - 15:25
fonte

Leggi altre domande sui tag