Concatenazione di file crittografati con la stessa chiave

3

Background: sto pianificando una configurazione che prevede la memorizzazione di password come singoli file crittografati (utilizzando il gestore password pass ) e quindi l'archiviazione della chiave privata necessaria per decrittografare tali password su un dispositivo USB con un push-to- pulsante di decrittografia (come un YubiKey).

Supponendo che un solo file possa essere decodificato per macchina da stampa, anche se qualche ipotetico malware dirotta la connessione tra il mio browser e la chiave USB, può decifrare solo una password per destinazione d'uso. E se decrittografa una password diversa da quella che ho richiesto, verrai avvisato del fatto che l'accesso previsto non riesce.

Ma ciò presuppone che non è possibile prendere due file crittografati e combinarli in un singolo file crittografato, senza decifrare prima, in modo che il decodificatore non possa rilevare 1 . Se ciò fosse possibile, un malware intelligente potrebbe prendere tutti i file delle password e scaricarli in uno solo, quindi attendere che io usi la chiave USB una volta ed esegua l'attacco sopra. Ciò renderebbe il pulsante fisico abbastanza inutile.

Quindi la mia domanda è: c'è qualche garanzia che la concatenazione di file crittografati sia non possibile, in generale? Dipende dal ciper utilizzato? (Ovviamente non ho intenzione di usare la crittografia omomorfica.)

  1. Sono consapevole che alcuni software supportano (per esempio) più blocchi PGP con armatura ASCII in un singolo file, ma questi dovrebbero essere banali perché il decryptor riconosca come pezzi multipli di dati crittografati.
posta phu 12.11.2017 - 07:25
fonte

2 risposte

3

Se stai usando un algoritmo ragionevolmente ragionevole, allora ci sono 2 metodi per proteggere da questo tipo di attacco.

Uno è la modalità di sicurezza della crittografia . Selezionando uno che utilizza la decodifica di feedback (cioè NON ECB) della password aggiunta, dipenderebbe dalla password originale (che non era lì quando la password aggiunta era crittografata).

L'altro è l'uso di un vettore di inizializzazione. Questa è una stringa casuale combinata con il testo in chiaro e mantenuta insieme al testo cifrato. Poiché ogni entità crittografata deve avere il proprio vettore di inizializzazione, la password aggiunta non può essere decodificata utilizzando la chiave di accesso e la chiave per la password iniziale.

    
risposta data 13.11.2017 - 13:53
fonte
1

@ la risposta di symbbean è corretta, ma mi ci è voluto un po 'per digerire l'articolo di Wikipedia sulle modalità di cifratura a blocchi e convincere me stesso. Per completezza, ecco una spiegazione più esplicita:

Gli algoritmi di crittografia funzionano dividendo il testo chiaro in blocchi e crittografando ciascun blocco in base a una particolare modalità di cifratura a blocchi. Tutte le modalità comunemente usate combinano il blocco precedente con il blocco successivo prima della crittografia (ad esempio, da XORing con il testo cifrato del blocco precedente) per resistere agli attacchi con testo in chiaro. (Il primo blocco è combinato con un blocco generato casualmente chiamato invece il vettore di inizializzazione.)

Poiché il nostro aggressore non ha accesso a nessun testo chiaro, non può replicare questo processo per i blocchi che vorrebbe aggiungere.

    
risposta data 13.12.2017 - 07:48
fonte

Leggi altre domande sui tag