È teoricamente possibile decifrare un file senza la chiave / password?

5

Ascoltami ... In programmi televisivi come Criminal Minds escono per dimostrare che qualsiasi file crittografato può essere facilmente decodificato, anche senza chiave. Il personaggio, Garcia, semplicemente "spinge alcuni pulsanti" e il file viene decodificato quasi istantaneamente, anche senza alcuna chiave, ecc. So che lo spettacolo non è un buon esempio di eventi di REAL WORLD, ma a meno che non stiano facendo una beffa di crittografia non riesco a capire perché facciano credere agli spettatori che sia così facile solo perché sono dell'FBI, come se questo li rendesse magicamente capaci di qualcosa senza conoscenza.

Ma ecco il mio punto ... Un file crittografato è bit; solo bit che sono spazzatura a meno che non vengano ripristinati (decriptati) in quello che erano in origine. Non è possibile, in teoria, lavorare su ogni byte e cercare di capire cosa fosse in origine senza chiave, forza bruta, ecc.? Perché no?

Voglio dire che potrebbe esserci qualche modo per determinare che cosa i dati originali potrebbero essere stati una volta analizzando i dati direttamente da soli usando forse alcuni schemi matematici, logici o di altro tipo? Non deve esserci un qualche tipo di strategia o modello che può consentire a uno di rovesciare i dati manualmente?

    
posta sleepma 18.07.2014 - 22:04
fonte

7 risposte

24

- Mostrami il contenuto del file
- Non posso, capo! È crittografato!
- Dannazione! Vince questa volta.

Un così termina lo spettacolo, 5 minuti dopo l'inizio.

Gli spettacoli televisivi non mostrano il "mondo reale", e non è quello di farsi beffe; questo perché gli spettacoli mirano a soddisfare il pubblico, fornendo loro le sensazioni e le sensazioni che bramano. Se implica la rappresentazione di eventi che sono distorti o addirittura fisicamente non fattibili, allora così sia. Dopotutto, le esplosioni di Star Wars fanno rumore nel vuoto dello spazio, e Godzilla è una lucertola radioattiva male manipolata che respira il fuoco e insulta una gigantesca falena in giapponese mentre calpesta Tokyo.

Se la crittografia è eseguita correttamente, non può essere interrotta upfront . Ma nessuno ha detto che le forze di polizia devono agire solo all'interno delle regole matematiche formali della crittografia. Infatti, per prima cosa apriranno la porta alle 06:00 e impadroniranno i computer e cercheranno tracce di dati non criptati (ad esempio parti di file cancellati). Dopotutto, un file crittografato è utile solo se a un certo punto è stato non crittografato e in qualche altro punto verrà decrittografato. Ogni volta che un file esiste da qualche parte nel formato non criptato, è soggetto a perdite.

    
risposta data 18.07.2014 - 22:24
fonte
8

Chi lo sa? (Suggerimento: nessuno, a meno che tu non sia religioso.) Ma generalmente, no.

L'unica "crittografia" sicura e provata è un blocco temporaneo, ma è molto poco pratico ... ti farò risparmiare la lunga storia tecnica.

Probabilmente hai sentito parlare di alcuni algoritmi di crittografia del mondo reale: RSA, AES, RC4, ecc. Il fatto è che non sappiamo se alcuni di questi sono sicuri, sappiamo solo che sono in circolazione da molto tempo e non ancora rotto nonostante molti, molti tentativi. Bene, elimina RC4 nell'elenco di quelli sicuri: lo stato delle relazioni di cryptanalysts con RC4 è "è complicato".

Prendiamo AES. Trasforma bit di dati in altri dati. Inserisci "CAT", dai la chiave "4ZD" e "YYR". Gli dai "YYR", fornisci la chiave "4ZD" e "CAT" esce. Naturalmente c'è dell'altro, ma questa è l'idea.

Se AES fosse completamente sicuro, dovresti provare tutte le chiavi possibili (in questo caso da AAA a ZZZ e da 000 a 999) per scoprire che "4ZD" è la chiave di crittografia corretta. Per AES, ci sono degli attacchi noti con cui puoi trovare un piccolo bit, ad esempio puoi dire che uno dei caratteri chiave è una cifra ma non sai quale cifra o in quale posizione. Ancora molte possibilità di provare.

Ma questo è il meglio che siamo stati in grado di fare nei 16 anni in cui esiste AES. Sembra improbabile che sarà mai completamente rotto. Ci sono funzioni di sicurezza in AES contro cose che sono andate storte in algoritmi di crittografia precedenti:

  • È, per quanto ne sappiamo, sicuro contro gli attacchi di testo in chiaro noti. Ciò significa che dato "CAT" e "YYR", non puoi imparare che la chiave è "4ZD". Perché è utile? Considera bene i siti web: molte pagine web contengono parole inglesi. Se intercetti i dati https e li esegui con un dizionario inglese, una delle chiavi che otterrai sarà quella corretta per il resto della pagina web. Ma come ho detto, questo non è possibile con AES.

  • AES è, per quanto ne sappiamo, anche sicuro contro gli attacchi di testo in chiaro scelti. Se sei autorizzato a scegliere ciò che verrà crittografato e sarai in grado di vedere la crittografia, non potrai ancora determinare la chiave di crittografia, quindi non potrai ancora decrittografare il resto dei dati.

  • Quando si utilizzano parole simili ma non identiche, come P@ssw0rd! e P@ssw0rd1 , il risultato della crittografia è completamente diverso e imprevedibile. O dati simili ma non identici, sarebbe anche completamente diverso.

Quindi cose come indovinare il carattere della password per il personaggio non sono possibili. Avresti bisogno di ottenere l'intera password corretta in una volta. Il numero medio di tentativi necessari è (2^password_security_in_bits)/2 . Prendimi da me che con AES-128, questo è incredibilmente lungo. (Ovviamente 4ZD non è una password realistica.)

Ci sono molti altri di questi attacchi noti, che i nostri moderni algoritmi di crittografia cercano di proteggere contro ovviamente. L'unico modo per rompere la crittografia mainstream è aggirarlo (per quanto ne sappiamo). Potrebbe essere che la polizia della tua serie di fiction abbia precedentemente installato un keylogger per registrare la password del sospetto. Potrebbe essere che hanno una registrazione della telecamera in cui il sospetto inserisce la sua password. Oppure potrebbe aver usato una password debole che è stata decifrabile in pochi secondi.

Oltre a questo, è praticamente una sciocchezza.

    
risposta data 19.07.2014 - 03:35
fonte
2

No , non con l'hardware corrente se è stato utilizzato un buon metodo di crittografia e la chiave (password) era sufficientemente lunga.

A meno che non ci sia un difetto nell'algoritmo e che tu lo sappia, la tua unica opzione è quella di forzare la forza che potrebbe richiedere centinaia di anni.

Se esistesse davvero un modo per interrompere manualmente qualsiasi testo crittografato in un breve periodo sarei molto preoccupato e non mi fiderei mai del web per qualcosa come l'online banking.

    
risposta data 18.07.2014 - 22:25
fonte
1

A seconda del tipo di crittografia utilizzata, sì, è possibile che un attacco di forza bruta abbia successo. L'articolo di Wikipedia che faccio riferimento qui sotto, afferma: "Un cifrario con una lunghezza della chiave di N bit può essere interrotto nel tempo peggiore proporzionale a 2 N e un tempo medio di metà di quello."

Esistono tuttavia alcuni tipi di crittografia che sono indissociabili attraverso l'uso di un attacco a forza bruta .

    
risposta data 18.07.2014 - 22:18
fonte
0

Supponendo che usiamo assolutamente nessuna informazione su come potrebbe apparire il messaggio, è fondamentalmente impossibile a "solo forza bruta senza chiave" non perché non trova una chiave che rivelerà il messaggio segreto, ma perché puoi trovare le chiavi per rivelare ogni possibile messaggio (in realtà, solo quante quante sono possibili chiavi), e non saprai quale dei messaggi è quello segreto.

In ogni caso pratico, si userebbe qualche conoscenza aggiuntiva in un attacco, il che rende l'attacco non "forza perfettamente bruta" nel senso generale usato sopra.

    
risposta data 19.07.2014 - 04:05
fonte
0

Gli algoritmi crittografici sono progettati con diversi obiettivi in mente:

  1. Per rendere l'output crittografato (testo cifrato) perfettamente indistinguibile dai numeri casuali reali. Vale a dire, non ci sono schemi nel testo cifrato. Qualsiasi schema di crittografia che valga la pena di usare lo farà molto bene.
  2. Utilizzare una combinazione di chiave e algoritmo di lunghezza e complessità sufficienti, rispettivamente, in modo da forzare la chiave (tentando ogni possibile valore finché non trovi quella giusta) così poco pratica da non essere nemmeno tentata.
  3. Per rendere il processo di decodifica (e nella maggior parte dei casi il processo di crittografia) sufficientemente efficiente da risultare pratico in termini di tempo e consumo energetico.

È importante ricordare che questi sono spesso fattori concorrenti. Tutti gli algoritmi di crittografia possono essere classificati in base al modo in cui raggiungono ciascuno di questi obiettivi e scoprirai che nessun algoritmo è il migliore per raggiungerli tutti. Quindi, alcuni sacrificano la qualità della casualità, la complessità dell'algoritmo o la lunghezza della chiave, nel nome dell'efficienza. Questo a volte introduce vulnerabilità che rendono più semplice la forzatura della chiave (spesso riducendo i valori possibili o lo spazio della chiave).

Penso che i metodi più interessanti del mondo reale per rompere i sistemi crittografici provengano da un tipo di crittanalisi noto come attacco canale laterale . Questi traggono vantaggio dal fatto che un algoritmo crittografico non è solo un metodo teorico di trasformazione dei numeri, ma deve esistere come sistema che utilizza l'hardware per trasferire i dati, gestire la chiave ed eseguire la serie di calcoli necessari per arrivare a una crittografia o risultato decrittografato. I sistemi crittografici perdono informazioni in un numero di modi interessanti che potresti non immaginare. Il calore, la luce, il suono e le radiazioni elettromagnetiche (elettromagnetiche) - tra gli altri canali - possono essere utilizzati per "ascoltare" e registrare il funzionamento del sistema crittografico. Analizzando statisticamente le registrazioni, lo spazio chiave può essere spesso ridotto abbastanza da rendere pratico un attacco informato di forza bruta. La prima volta che ho imparato come eseguire un attacco di canale laterale usando l'energia EM che si irradia attraverso la parte superiore di un microchip, mi sono sentito davvero come se fossi in un film di spionaggio usando una tecnologia seriamente futuristica. Questo tipo di attacco non è affatto un proiettile d'argento, ma è la cosa più vicina - documentata pubblicamente - a ciò che vedi nei film e in televisione.

    
risposta data 22.07.2014 - 05:09
fonte
0

So che la spiegazione sembra chiedere la possibilità di crackare le chiavi di crittografia, ma per rispondere alla domanda letteralmente, in generale un file non può rivelare informazioni utili senza applicare la chiave di decrittazione desiderata perché una chiave è la mappatura dal cifrato informazioni che hai per le informazioni previste. Le probabilità di un'altra mappatura che non sia la chiave che rivela le informazioni crittografate sono tristi, inoltre in casi banali in cui chiavi o combinazioni di chiavi diverse possono produrre lo stesso output con lo stesso input, o quando questo comportamento era inteso:

Crittografia AES con più chiavi

Ovviamente questo sembra ovvio, ma non è teoricamente impossibile poter decifrare le informazioni con una chiave diversa da quella prevista, per quanto improbabile.

Dire che 'cab' è crittografato su '213' la procedura è ovvia, converti in numeri e in retromarcia, ma questa non è una mappatura uno-a-uno perché i passi da decifrare possono essere invertiti, ottenendo una chiave diversa, non necessariamente quello inteso, e ancora dare il risultato corretto, non criptato. Penso che sia sicuro affermare che i metodi di crittografia attuali rendono impossibile quanto impossibile, in particolare nei mapping uno a uno.

Per inciso, il modo migliore per rompere la crittografia non banale senza possesso della chiave è all'origine. Usando la crittografia confidiamo che le informazioni siano state crittografate con successo dal programma che stiamo usando. Ottenendo il controllo del programma utente è possibile impedire che le informazioni vengano crittografate (non una risposta alla domanda) o manipolare il programma per crittografare, quindi decrittografare le informazioni sul computer dell'utente prima dell'invio, il che consentirebbe la decrittografia senza possedere realmente la chiave o avere alcuna conoscenza della chiave; anche se la chiave sarebbe sotto il controllo di un attaccante, quindi forse non lo è nemmeno. Quindi dovrebbe essere nuovamente crittografato in modo che il destinatario riceva il messaggio corretto. Non pratico, ma è l'unico modo che posso vedere per decifrarlo senza la chiave.

    
risposta data 05.08.2017 - 19:43
fonte

Leggi altre domande sui tag