TechTarget

Segreti, ragioni e orizzonti della crittoanalisi



Indirizzo copiato

Nel settore della sicurezza informatica ci sono ambiti poco noti che lo diventano solo quando è troppo tardi. Questo è un esempio.

Pubblicato il 27 mag 2024



ip-crittografia-hacking

Con il termine “crittoanalisi” si indica lo studio di testi cifrati e crittosistemi mirato a comprenderne il funzionamento, trovando le migliori tecniche per sconfiggerli o mitigarne l’efficacia. Chi se ne occupa, solitamente cerca di decifrare i testi senza conoscerne la fonte e senza dover accedere alla chiave di cifratura o all’algoritmo utilizzato per cifrarlo. I crittoanalisti si interessano anche di hashing sicuro, firme digitali e di altri algoritmi crittografici.

Come funziona la crittoanalisi?

Mentre l’obiettivo della crittoanalisi è quello di trovare punti deboli negli algoritmi crittografici o di sconfiggerli in altro modo, i risultati vengono utilizzati per migliorare e rafforzare o sostituire gli algoritmi difettosi.

Sia la crittoanalisi, che si concentra sulla decifrazione dei dati cifrati, sia la crittografia, che si concentra sulla creazione e sul miglioramento di alcuni algoritmi, sono aspetti della crittologia, lo studio matematico di codici e algoritmi correlati.

I crittoanalisti potrebbero scoprire metodi di attacco che rompono completamente un algoritmo di crittografia, il che significa che un testo cifrato con quell’algoritmo può essere decifrato banalmente senza accedere alla chiave di crittografia. Più spesso, i risultati della crittoanalisi rivelano punti deboli nella progettazione o nell’implementazione dell’algoritmo, che possono ridurre il numero di chiavi che devono essere provate sul testo cifrato di destinazione.

Ad esempio, un cifrario con una chiave di crittografia a 128 bit può avere 2128 (o 340.282.366.920.938.463.374.607.431.768.211.456) chiavi uniche. In media, un attacco contro quel cifrario avrà successo solo dopo aver provato la metà di quelle chiavi uniche. Se la crittoanalisi del cifrario rivela un attacco in grado di ridurre il numero di prove necessarie a 240 (o solo 1.099.511.627.776) chiavi diverse, allora l’algoritmo è stato indebolito in modo significativo, al punto che un attacco di forza bruta sarebbe pratico anche usando sistemi commerciali.

Chi usa la crittoanalisi?

La crittoanalisi è praticata da un’ampia gamma di organizzazioni e individui, tra cui i seguenti:

  • Governi per decifrare le comunicazioni riservate di altre nazioni.
  • Aziende per sviluppare prodotti di sicurezza che impiegano crittoanalisti per testare le loro caratteristiche di sicurezza.
  • Hacker informatici, ricercatori indipendenti e accademici per cercare punti deboli nei protocolli e negli algoritmi crittografici.

La costante battaglia tra i crittografi che cercano di proteggere le informazioni e i crittoanalisti che cercano di violare i sistemi crittografici fa progredire l’intero corpo di conoscenze della crittologia.

Tecniche e attacchi di crittoanalisi

Esistono diversi tipi di attacchi e tecniche di crittoanalisi, che variano a seconda della quantità di informazioni di cui l’analista dispone sul testo cifrato da analizzare. I metodi crittoanalitici includono i seguenti:

Gli attacchi al solo testo cifrato si verificano quando l’aggressore ha accesso solo a uno o più messaggi cifrati, ma non sa nulla dei dati in chiaro, dell’algoritmo di cifratura utilizzato o di qualsiasi dato sulla chiave crittografica utilizzata. Questo è il tipo di sfida che le agenzie di intelligence spesso affrontano quando intercettano le comunicazioni criptate di un avversario.

Gli attacchi al testo in chiaro sono quelli in cui l’analista ha accesso ad alcuni o a tutti i testi in chiaro del testo cifrato. L’obiettivo dell’analista è scoprire la chiave utilizzata per criptare e decriptare il messaggio. Una volta scoperta la chiave, un aggressore può decifrare tutti i messaggi crittografati che utilizzano tale chiave. La crittoanalisi lineare è un tipo di attacco a testo in chiaro che utilizza un’approssimazione lineare per descrivere un cifrario a blocchi. Gli attacchi al testo in chiaro dipendono dal fatto che l’aggressore sia in grado di scoprire o indovinare una parte o la totalità di un messaggio cifrato, o addirittura il formato del testo in chiaro originale. Per esempio, se l’aggressore è a conoscenza del fatto che un determinato messaggio è indirizzato o riguarda una determinata persona, il nome di quest’ultima potrebbe essere un testo in chiaro noto.

Gli attacchi al testo in chiaro scelto si verificano quando l’analista conosce l’algoritmo di crittografia o ha accesso al dispositivo utilizzato per la crittografia. L’analista può criptare il testo in chiaro scelto con l’algoritmo mirato per ricavare informazioni sulla chiave.

Gli attacchi di crittoanalisi differenziale sono un tipo di attacco a scelta sui cifrari a blocchi che analizzano coppie, in modo che l’analista possa determinare il funzionamento dell’algoritmo mirato quando incontra diversi tipi di dati.

Gli attacchi di crittoanalisi integrale sono simili a quelli di crittoanalisi differenziale, ma invece di coppie di testo in chiaro, utilizzano insiemi di testo in chiaro in cui una parte del testo in chiaro viene mantenuta costante, mentre il resto del testo in chiaro viene modificato. Questo attacco può essere particolarmente utile se applicato ai cifrari a blocchi basati su reti di sostituzione-permutazione.

Gli attacchi side-channel dipendono dalle informazioni raccolte dal sistema fisico utilizzato per la crittografia o la decrittografia. Gli attacchi side-channel di successo utilizzano dati che non sono né il testo cifrato risultante dal processo di crittografia, né il testo in chiaro da crittografare, ma che possono riguardare il tempo necessario a un sistema per rispondere a interrogazioni specifiche, la quantità di energia consumata dal sistema di crittografia o le radiazioni elettromagnetiche emesse dal sistema di crittografia.

Gli attacchi di tipo dizionario sono utilizzati contro i file di password e sfruttano la tendenza umana a utilizzare password basate su parole naturali o sequenze di lettere o numeri facilmente intuibili. Gli attacchi al dizionario funzionano criptando tutte le parole di un dizionario e controllando se l’hash risultante corrisponde a una password criptata memorizzata nel formato SAM o in un altro file di password.

Gli attacchi Man-in-the-middle si verificano quando i crittoanalisti trovano il modo di inserirsi nel canale di comunicazione tra due parti che desiderano scambiare le proprie chiavi per una comunicazione sicura tramite un’infrastruttura a chiave asimmetrica o pubblica. Gli aggressori effettuano uno scambio di chiavi con ogni parte, mentre le parti originali credono di scambiarsi le chiavi l’una con l’altra. Le due parti finiscono quindi per utilizzare chiavi note all’attaccante.

Altri tipi di attacchi crittoanalitici includono tecniche per convincere le persone a rivelare le loro password o chiavi di crittografia, sviluppando programmi Trojan horse che rubano le chiavi segrete dai computer delle vittime e le rimandano al crittoanalista, o ingannando una vittima nell’uso di un crittosistema indebolito.

Gli attacchi a canale laterale sono noti anche come analisi dei tempi o della potenza differenziale. Questi attacchi sono diventati noti alla fine degli anni ’90, quando il crittografo Paul Kocher ha pubblicato i risultati delle sue ricerche sugli attacchi di temporizzazione e sull’analisi della potenza differenziale di Diffie-Hellman, Rivest-Shamir-Adleman, Digital Signature Standard e altri sistemi di crittografia, in particolare contro le implementazioni su smart card.

Strumenti di crittoanalisi

Poiché la crittoanalisi è principalmente un argomento matematico, gli strumenti per effettuare la crittoanalisi sono spesso descritti in documenti di ricerca accademici. Per chi è interessato a saperne di più sulla crittoanalisi sono disponibili molti strumenti e altre risorse, tra cui le seguenti:

  • CrypTool è un progetto open source che produce programmi di e-learning e un portale web per l’apprendimento della crittoanalisi e degli algoritmi crittografici.
  • Cryptol è un linguaggio specifico per il dominio, originariamente progettato per essere utilizzato dalla National Security Agency per specificare gli algoritmi crittografici. È pubblicato con una licenza open source e disponibile per l’uso pubblico e consente agli utenti di monitorare il funzionamento degli algoritmi nei programmi software scritti per specificare gli algoritmi o i cifrari. Cryptol può essere utilizzato per trattare routine crittografiche piuttosto che intere suite crittografiche.
  • CryptoBench è un programma che può essere usato per fare la crittoanalisi di un testo cifrato generato con molti algoritmi comuni. È in grado di criptare o decriptare con 29 diversi algoritmi di crittografia simmetrica; di criptare, decriptare, firmare e verificare con sei diversi algoritmi a chiave pubblica; di generare 14 diversi tipi di hash crittografici e due diversi tipi di checksum.
  • Ganzúa (che in spagnolo significa “grimaldello”) è uno strumento di crittoanalisi open source utilizzato per i cifrari classici polialfabetici e monoalfabetici. Ganzúa permette agli utenti di definire alfabeti cifrati e semplici quasi completamente arbitrari, consentendo la corretta analisi di crittogrammi ottenuti da testi non inglesi. Ganzúa è un’applicazione Java e funziona su Windows, macOS X o Linux.

I crittoanalisti utilizzano comunemente anche molti altri strumenti per la sicurezza dei dati, tra cui sniffer di rete e software per il cracking delle password. I ricercatori di crittoanalisi spesso creano anche strumenti personalizzati per compiti e sfide specifiche.

Requisiti e responsabilità dei crittoanalisti

Le mansioni di un crittoanalista possono comprendere lo sviluppo di algoritmi, cifrari e sistemi di sicurezza per criptare informazioni e dati sensibili, nonché l’analisi e la decriptazione di diversi tipi di informazioni nascoste, tra cui dati criptati, testi cifrati e protocolli di telecomunicazione, nei sistemi di sicurezza crittografici.

Le agenzie governative e le aziende del settore privato assumono crittoanalisti per garantire la sicurezza delle loro reti e la crittografia dei dati sensibili trasmessi attraverso le loro reti informatiche.

I crittoanalisti possono anche essere responsabili dei seguenti compiti:

  • Proteggere le informazioni critiche da intercettazioni, copie, modifiche o cancellazioni.
  • Valutare, analizzare e individuare i punti deboli dei sistemi e degli algoritmi di sicurezza crittografici.
  • Progettare sistemi di sicurezza per prevenire le vulnerabilità.
  • Sviluppare modelli matematici e statistici per analizzare i dati e risolvere i problemi di sicurezza.
  • Testare i modelli computazionali per verificarne l’accuratezza e l’affidabilità.
  • Indagare, ricercare e testare nuove teorie e applicazioni crittografiche.
  • Ricerca di punti deboli nelle linee di comunicazione.
  • Assicurare che i dati finanziari siano criptati e accessibili solo agli utenti autorizzati.
  • Assicurare che i dati di trasmissione dei messaggi non vengano violati o alterati durante il transito.
  • Decodificare messaggi criptati e sistemi di codifica per l’esercito, le forze dell’ordine e altre agenzie governative.
  • Sviluppare nuovi metodi per criptare i dati e nuovi metodi per codificare i messaggi per nascondere i dati sensibili.

A chi intende intraprendere una carriera nella crittoanalisi si consiglia di conseguire una laurea in informatica, ingegneria informatica, matematica o un campo correlato. Alcune organizzazioni considerano l’assunzione di persone senza una laurea tecnica se hanno una formazione approfondita e un’esperienza lavorativa precedente nel settore.

Si consiglia vivamente di conseguire un Master of Science, a meno che il candidato non abbia una laurea in matematica e informatica. I candidati più brillanti sono in possesso di un dottorato di ricerca in matematica o informatica con particolare attenzione alla crittografia.

Articoli correlati

Articolo 1 di 3