La crittografia dei dati moltiplicata per renderla più difficile da penetrare?

4

Dire che ho un file zip crittografato con i dati al suo interno. Mi sento come veramente voglio che questi dati siano protetti così dentro quel file, metto un altro zip crittografato con una password diversa, e poi dentro quello, metto un file crittografato finale con ancora un terzo diverso password.

Le domande a cui vorrei rispondere:

  1. Supponendo che tutti e 3 i file siano crittografati con lo stesso codice, come Rijndael 256, esiste un reale vantaggio per la sicurezza? cioè se qualcuno può decodificare il file originale, sarebbe altrettanto banale interrompere il prossimo 2?
  2. Utilizzerei 3 diversi codici di crittografia per rendere questo accordo più sicuro?

NOTA: qui assumiamo che l'intruso non conosca e non sia in grado di indovinare le password e quindi deve utilizzare mezzi alternativi per entrare. Le password sono password complesse che non sono suscettibili agli attacchi di dizionario.

    
posta the_endian 08.03.2017 - 20:58
fonte

4 risposte

7

Il problema con la semplice regolazione di un algoritmo di crittografia su un altro e la convinzione che tutto sarà in qualche modo "più sicuro" è che se non hai studiato gli algoritmi in dettaglio, non avrai una piena comprensione delle loro debolezze , o sufficiente comprensione degli effetti collaterali di questa operazione. Non è inteso come un insulto, sto semplicemente supponendo che tu non sia un crittanalista e non hai fatto questi studi.

Dai un'occhiata a Triple DES . È stato progettato come sostituto del DES una volta riconosciuto che il DES era troppo debole per resistere agli attacchi di forza bruta in continuo miglioramento. DES ha 8 byte chiavi, quindi logicamente dal momento che DES dovrebbe resistere ad un attacco di forza bruta di 2 ^ 64, il doppio DES dovrebbe resistere ad un attacco di 2 ^ 128. Allora perché usare Triple DES e non solo usare Double DES? Risulta che la stima della forza non è nemmeno vicina alla corretta.

In primo luogo, DES scarta il bit superiore di ogni byte chiave, quindi DES ha una dimensione della chiave di soli 56 bit - 55 bit una volta che si calcola il riflesso XOR. Un utente malintenzionato può archiviare l'output di un attacco di forza bruta sulla prima istanza di DES, quindi attaccare la seconda istanza che corrisponde a uno degli output memorizzati, creando un attacco di tipo "meet-in-the-middle". Ciò si traduce in un attacco di 2 ^ 55 + 2 ^ 55, che è 2 ^ 56. Tutto ciò che funziona per eseguire DES due volte produce un miglioramento in termini di forza.

Quindi Triple DES ovviamente non resiste ad un attacco di 2 ^ 192. 3DES migliora questo a 2 ^ 111 bit di forza, che è ancora molto strong, ma è molto lontano dalla forza implicita di 2 ^ 192.

Non è ovvio che la crittografia dell'output di un passaggio attraverso DES con un'altra passata sia facilmente interrotta, eppure i crittografi lo hanno capito. Potete offrire una strong evidenza che la vostra crittografia a due strati non sia similmente difettosa?

Crypto è difficile perché i byte dall'aspetto casuale che escono da un algoritmo di crittografia assomigliano molto a quelli che sono stati codificati con successo. Ma non esiste un attributo che puoi verificare per sapere se la crittografia è efficace o se è distrutta.

Quindi il consiglio generalmente dato è "non inventare i propri algoritmi crittografici". Inoltre, non è consigliabile inventare i propri protocolli; se devi, hai un sacco di lavoro da fare per dimostrare che sono al sicuro.

    
risposta data 08.03.2017 - 23:17
fonte
1

Hai ipotizzato che le password utilizzate fossero sufficientemente forti e non suscettibili agli attacchi del dizionario. Elencherò solo alcune altre potenziali vulnerabilità.

  • Se l'algoritmo di crittografia è in qualche modo significativamente rotto, più livelli della stessa crittografia fornirebbero pochi vantaggi. La tua seconda domanda fornisce una mitigazione a questa situazione. Tutti e tre gli algoritmi dovrebbero essere compromessi
  • Se la macchina su cui viene eseguita la crittografia o la decrittografia è compromessa, le password oi dati non crittografati potrebbero essere rubati.
  • Ulteriori passaggi per proteggere i tuoi dati potrebbero aumentare la probabilità di un utilizzo improprio da parte di persone o macchine. Forse le copie di dati cifrate o cifrate una volta vengono lasciate in giro.

Se puoi proteggerti da quanto sopra, penserei che la tua proposta possa solo migliorare la sicurezza. "Difesa in profondità". Supponendo un attacco a forza bruta, usando lo stesso algoritmo tre volte, ci si potrebbe aspettare che un aggressore impieghi 3 volte più tempo per decodificare i dati. Per tre diversi algoritmi, puoi fare la stessa stima o considerare la forza relativa di ciascun algoritmo per calcolare un moltiplicatore più preciso.

    
risposta data 08.03.2017 - 21:35
fonte
0

Il tuo sistema è molto vicino a olio di serpente . Aggiunge molta complessità e manipolazione per crittografare un file e decodificarlo. Quindi un semplice essere umano ha una strong sensazione che poiché è complesso, deve essere sicuro .

Sfortunatamente, la crittografia e la decrittografia sono matematiche . E in matematica, l'apparente complessità e la reale robustezza sono strettamente correlate. Questo è il motivo per cui la regola qui non è la tua, ma fare affidamento su implementazioni ben note e strongmente testate di algoritmi ben noti. Se vuoi migliorare la sicurezza, resta semplice e usa solo i tasti lunghi generati da frasi a lungo termine. Questo è lo stato dell'arte.

    
risposta data 09.03.2017 - 17:36
fonte
-1

Sì e no. Non farebbe altro che aggiungere altro tempo per craccare il file, visto che hanno le risorse per interrompere ogni round. L'uso di dimensioni maggiori della chiave renderebbe più difficile e assicurerebbe che l'implementazione della crittografia sia corretta.

    
risposta data 08.03.2017 - 21:34
fonte

Leggi altre domande sui tag