Sono presenti più contenitori crittografati con la stessa passphase che contengono gli stessi file a rischio crittografico?

2

Situazione come segue:

  • Assumiamo due (o più) contenitori, crittografati usando la stessa passphrase.
  • Conterranno gli stessi file. Quindi il loro contenuto è identico.
  • Tuttavia, (da "esterno") i contenitori stessi non saranno identici.

L'utente malintenzionato avrà accesso a entrambi (o più) contenitori e saprà che il contenuto è identico. Questo riduce la sicurezza crittografica complessiva?

Mi sembra che ci sia una vulnerabilità ma non so come cercare ulteriormente.

(È una domanda generale, il contenitore potrebbe provenire da dm-crypt / LUKS o VeraCrypt o persino un archivio ZIP crittografato.)

    
posta finefoot 01.12.2018 - 18:48
fonte

5 risposte

2

Gli schemi di crittografia più moderni (simmetrici e a chiave pubblica) sono considerati dotati di (almeno) sicurezza IND-CPA. Questa è l'individuabilità di un attacco di testo in chiaro scelto ed è definita da un gioco crittografico.

Nel gioco, dopo aver impostato lo schema di crittografia, l'avversario sceglie due messaggi in chiaro (m0, m1) e aggiunge il testo cifrato corrispondente di uno dei messaggi scelti a caso mb (per alcuni b casuali), l'avversario non è in grado di distinguere quale messaggio in chiaro corrisponde al testo cifrato. L'avversario può ripetere questa procedura più volte: dopo aver ricevuto il testo cifrato per uno dei loro testi in chiaro, possono scegliere altri due messaggi di testo in chiaro (m0 'e m1') e ricevere il testo cifrato di mb '. Dopo aver ricevuto un numero limitato di calcoli cifrati, l'avversario deve quindi indovinare il valore di b. Affinché lo schema abbia IND-CPA sicuro, la probabilità che l'avversario indovini correttamente b non deve essere maggiore di 1/2.

Questo gioco si applica alle tue impostazioni in quanto l'avversario non si limita a scegliere messaggi distinti durante ogni richiesta. Pertanto, anche se m0 rimane costante durante ogni richiesta, in uno schema che è IND-CPA sicuro, l'avversario non ha alcun vantaggio nell'indovinare b.

Questo è generalmente possibile perché gli schemi di crittografia aggiungono un elemento di casualità: la maggior parte del padding RSA inserisce un po 'di casualità, e gli schemi simmetrici usano IV (che devono cambiare per ogni testo in chiaro cifrato sotto la stessa chiave) un punto che può valere la pena notare in il tuo scenario).

    
risposta data 20.12.2018 - 13:07
fonte
1

Se capisco correttamente la domanda, è più o meno quello che faccio con i miei backup: sono tutti crittografati con la stessa password.

Secondo la triade della CIA, la sicurezza dei dati dipende da:

  • riservatezza
  • integrità
  • disponibilità

Se tutti gli archivi sono uguali, ovvero contengono gli stessi dati e utilizzano lo stesso metodo di crittografia con la stessa password, la riservatezza non è un problema. Se un utente malintenzionato riesce a leggere i dati nel contenitore A, conosce già tutti i dati contenuti nel contenitore B, C, ecc. Avere password diverse non aiuta la riservatezza. Anche se i metodi di crittografia sono diversi, il più debole potrebbe essere attaccato più facilmente dell'altro, rivelando tutti i dati, e quindi avere password diverse per gli altri archivi non sarà di aiuto.

Per quanto riguarda l'integrità (e la disponibilità), ci sarà comunque un problema. Poiché tutti gli archivi hanno la stessa password, se l'utente malintenzionato trova la password di un archivio sarà in grado di accedere a tutti gli altri e di corromperli o eliminarli tutti. Se invece si utilizza una password diversa per ciascun archivio, se l'utente malintenzionato trova una password sarà in grado di leggere tutti i dati e magari corrompere un archivio (perdita totale di riservatezza), ma non corrompere tutti gli archivi (perdita totale dell'integrità o disponibilità, senza buone copie dei dati rimasti!).

Come ho detto, io uso la stessa password per tutti i miei backup, ma mitigo il trattamento per l'integrità e la disponibilità archiviando alcune copie al di fuori del sito. Un utente malintenzionato dovrebbe conoscere le posizioni e avere accesso fisico lì, che non considero nemmeno nel mio modello di minaccia onesto. Sono più preoccupato per un disastro naturale che distrugge una posizione (questa è la vera ragione dei miei backup off-site).

    
risposta data 01.12.2018 - 19:30
fonte
1

Un paio di punti sulla terminologia. Nella tua domanda dichiari che conterranno gli stessi file. Quindi il loro contenuto è identico. . Questa affermazione è ambigua al meglio. Quando si discute di crittografia di alto livello, i file e i contenuti hanno poco significato. Invece, c'è solo testo in chiaro e testo cifrato.

Consente di riformulare la domanda per maggiore chiarezza:

  • Dati due o più volumi crittografati inizializzati con la stessa passphrase e ognuno con le stesse dimensioni
  • Con un insieme identico di file inseriti in ciascuno dopo l'inizializzazione
  • Un utente malintenzionato ottiene vantaggi indipendentemente dal fatto che ogni volume, quando viene presentato con la chiave di decrittografia corretta, produce un insieme identico di file?

Se quanto sopra è corretto, la risposta breve è "no" o "un leggero vantaggio". Una risposta più lunga dipende dallo schema di crittografia esatto utilizzato.

Per la versione breve, usiamo VeryCrypt per l'illustrazione. Quando viene inizializzato un volume VC, viene richiesto di spostare il cursore del mouse in modo casuale per generare entropia. Questa entropia sarà molto diversa per ciascuno dei tuoi volumi ed è indipendente dall'uso di una passphrase ripetuta. La primaypy ha due scopi. Innanzitutto, per molti schemi di crittografia viene utilizzato per generare l'IV (vettore di inizializzazione). L'IV viene crittografato o combinato con la passphrase e viene utilizzato in una sequenza di trasformazioni sul testo in chiaro. Parte dell'output della sequenza o del blocco precedente viene utilizzata come input per il successivo. Ciò significa che anche se il testo in chiaro può essere identico, a seconda dei diversi IV, i blocchi del testo cifrato saranno molto diversi tra loro.

Ora, se si stesse semplicemente crittografando un singolo file o un insieme di file anziché metterli in un volume, si potrebbero esporre i dati a vari tipi di attacchi in testo normale, incluso quello descritto da @arthurmilton. Tuttavia, quando si utilizza un volume o un contenitore, entropia e IV vengono anche utilizzati per riempire il contenitore con dati casuali. Questi dati casuali vengono crittografati usando lo stesso schema e il testo cifrato casuale che viene prodotto è praticamente indistinguibile dal vero testo cifrato che appartiene ai file. Dico praticamente indistinguibile perché, a seconda dello schema usato, ci sono modi teorici per aumentare la probabilità di identificare il testo cifrato casuale dal file cyphertext, ma AFIK non c'è mai stato un attacco del mondo reale di questa natura su una crittografia ben testata schema.

Nel loro insieme, queste due cose significano che un attaccante non ottiene nulla o quasi nulla dalla sua conoscenza, dal momento che qualsiasi confronto tra i contenitori richiederebbe un numero eccessivo di calcoli per estrarre qualsiasi modello.

Ci sono alcuni punti deboli (e ipotesi) teorici che interferiscono con sopra. Innanzitutto, ci basiamo molto sull'idea che il generatore di casualità produrrà sequenze casuali tali che un attaccante che è cieco rispetto alla / e fonte / i di entropia (i movimenti casuali del mouse e altri fattori), non sarà in grado di rilevare alcun pattern in un modo computazionalmente fattibile. Questa fonte di casualità è uno dei problemi più difficili da risolvere completamente nella crittografia, ma sembra che il generatore di VeraCrypt sia "abbastanza buono" per ora. In secondo luogo, assumiamo che il contenitore sia più grande della dimensione dei file che vengono inseriti in esso. Se combinato con una scarsa generazione di entropia e un testo cifrato meno casuale, potrebbe rendere leggermente più semplice l'identificazione del testo cifrato che appartiene ai file reali. (Sto in qualche modo abusando della distinzione tra testo cifrato casuale e non casuale, ma aiuta a illustrare il punto). Esistono altri contatori per questo problema e VeryCrypt non richiede o addirittura consiglia di mantenere una certa proporzione di file nello spazio disponibile nei relativi contenitori.

In secondo luogo, supponiamo che lo schema di crittografia utilizzi una modalità di trasformazione con protezioni note contro gli attacchi di riutilizzo. Questa è un'area molto densa che non ho l'esperienza per semplificare.

    
risposta data 20.12.2018 - 23:58
fonte
1

Qualsiasi cosa progettata per essere un contenitore crittografato non sarà indebolita dall'avere in esso più file identici noti. Questo accade regolarmente: pensa a quando installi un sistema operativo su crittografia del disco, ci saranno migliaia di file identici di qualsiasi dimensione che potrebbe essere necessario. Quindi dm-crypt / LUKS, Veracrypt, sicuramente sicuro. Pkzip d'altra parte, non conosco i dettagli (spero che utilizzi una IV), ma non mi fiderei di una cosa del genere.

Dipende anche dall'implementazione: LUKS e Veracrypt sono pensati per essere crittografici e c'è un'implementazione di ciascuno, e forse alcuni prodotti compatibili. Per pkzip, ci sono migliaia di implementazioni in uso attivo. Uno di questi ha sicuramente una vulnerabilità e potrebbe essere quello che stai usando. Ma sono i dettagli dell'implementazione, supponiamo che tu stia usando qualcosa che doveva essere un contenitore crittografico, e qualche ragazzo intelligente ha controllato il design e il codice.

Il motivo per cui questo non è indebolito è duplice:

  • Usano un cosiddetto vettore di inizializzazione (parola elaborata che significa "mescolare dati casuali in un certo modo") che rende unica ogni crittografia. Se hai due miliardi di contenitori con file identici (ciascuno generato in modo indipendente) e l'attaccante ha accesso a tutti loro, allora il due miliardi e il primo (2000000001) contenitore, di nuovo, ha una crittografia univoca e l'attaccante non può davvero dire nulla a riguardo .

  • Qualsiasi algoritmo di crittografia attualmente accettato non consente il recupero delle chiavi: dato un testo in chiaro e un testo cifrato, non è possibile derivare la chiave in alcun modo. Qualcuno di recente ha chiesto questo perché aveva il testo semplice e cifrato di un database, ma ha perso la password e voleva decodificare un altro database crittografato con la stessa password. È stato crittografato AES e non c'era nulla che potessimo fare per loro.

Ci sono alcune cose che un attaccante può sapere: le sue dimensioni, per esempio. Oppure, se l'attaccante può osservare versioni successive, può osservare quanti cambiamenti ci sono stati. Se si tratta di un sistema di pagamento, un utente malintenzionato potrebbe essere in grado di apprendere quanti acquisti ci sono stati in base alla frequenza e alle dimensioni delle modifiche. Ma nessuno di questi è qualcosa che non si potrebbe già dire senza accesso a nessuno degli altri contenitori.

Inoltre, la maggior parte delle configurazioni non crittografa i dati con la tua password. Cripta la chiave di crittografia con la tua password. Quindi crittografate i dati con K1, generati casualmente, e crittografate K1 con la vostra password. Quando sblocchi i dati, decifri K1 con la tua password e K1 decrittografa i dati. Questo ha diversi vantaggi, un esempio facile da spiegare è che se si modifica la password, si crittografa nuovamente K1 con la nuova password, invece di dover crittografare nuovamente tutti i dati. Quindi, la stessa password potrebbe non significare che la chiave di crittografia sia effettivamente la stessa. Ma anche se lo è, allora ci sono ancora le due proprietà sopra che lo rendono sicuro. (E anche un utente malintenzionato non dovrebbe essere in grado di dire che K1 è stato crittografato con la stessa password in contenitori diversi, supponendo che K1 sia stato crittografato correttamente (con un vettore di inizializzazione).)

    
risposta data 21.12.2018 - 01:28
fonte
-1

Ciò che è descritto nella domanda sembra essere un noto attacco di testo in chiaro. Quindi sì, quella conoscenza aiuta l'aggressore a semplificare il suo lavoro.

    
risposta data 20.12.2018 - 16:01
fonte

Leggi altre domande sui tag