Attacchi a Cryptosystems
Nell'era attuale, non solo gli affari, ma quasi tutti gli aspetti della vita umana sono guidati dalle informazioni. Pertanto, è diventato imperativo proteggere le informazioni utili da attività dannose come gli attacchi. Consideriamo i tipi di attacchi ai quali le informazioni sono tipicamente soggette.
Gli attacchi sono generalmente classificati in base all'azione eseguita dall'aggressore. Un attacco, quindi, può esserepassive o active.
Attacchi passivi
L'obiettivo principale di un attacco passivo è ottenere unauthorized access to the information. Ad esempio, azioni come l'intercettazione e l'intercettazione sul canale di comunicazione possono essere considerate come attacchi passivi.
Queste azioni sono di natura passiva, poiché non influenzano le informazioni né interrompono il canale di comunicazione. Un attacco passivo è spesso visto come un furto di informazioni. L'unica differenza tra il furto di beni fisici e il furto di informazioni è che il furto di dati lascia ancora il proprietario in possesso di tali dati. L'attacco passivo alle informazioni è quindi più pericoloso del furto di merci, poiché il furto di informazioni può passare inosservato al proprietario.
Attacchi attivi
Un attacco attivo implica la modifica delle informazioni in qualche modo conducendo un processo sulle informazioni. Per esempio,
Modifica delle informazioni in modo non autorizzato.
Avvio della trasmissione involontaria o non autorizzata di informazioni.
Alterazione dei dati di autenticazione come il nome del mittente o il timestamp associato alle informazioni
Cancellazione non autorizzata dei dati.
Negazione dell'accesso alle informazioni per utenti legittimi (denial of service).
La crittografia fornisce molti strumenti e tecniche per implementare sistemi crittografici in grado di prevenire la maggior parte degli attacchi sopra descritti.
Presupposti dell'attaccante
Vediamo l'ambiente prevalente attorno ai crittosistemi seguito dai tipi di attacchi impiegati per rompere questi sistemi:
Ambiente attorno a Cryptosystem
Pur considerando possibili attacchi al cryptosystem, è necessario conoscere l'ambiente cryptosystems. Le ipotesi e la conoscenza dell'ambiente dell'aggressore determinano le sue capacità.
Nella crittografia, vengono fatte le seguenti tre ipotesi sull'ambiente di sicurezza e sulle capacità dell'attaccante.
Dettagli dello schema di crittografia
La progettazione di un sistema crittografico si basa sui seguenti due algoritmi di crittografia:
Public Algorithms - Con questa opzione, tutti i dettagli dell'algoritmo sono di pubblico dominio, noto a tutti.
Proprietary algorithms - I dettagli dell'algoritmo sono noti solo ai progettisti del sistema e agli utenti.
In caso di algoritmi proprietari, la sicurezza è garantita dall'oscurità. Gli algoritmi privati potrebbero non essere gli algoritmi più forti poiché sono sviluppati internamente e potrebbero non essere studiati a fondo per la loro debolezza.
In secondo luogo, consentono la comunicazione solo tra gruppi chiusi. Quindi non sono adatti per la comunicazione moderna in cui le persone comunicano con un gran numero di entità note o sconosciute. Inoltre, secondo il principio di Kerckhoff, si preferisce che l'algoritmo sia pubblico con la forza della crittografia nella chiave .
Pertanto, il primo presupposto sull'ambiente di sicurezza è che il encryption algorithm is known to the attacker.
Disponibilità del testo cifrato
Sappiamo che una volta che il testo in chiaro è crittografato in testo cifrato, viene inserito in un canale pubblico non protetto (ad esempio e-mail) per la trasmissione. Pertanto, l'attaccante può ovviamente presumere che lo abbia fattoaccess to the ciphertext generated by the cryptosystem.
Disponibilità di testo in chiaro e cifrato
Questa ipotesi non è così ovvia come le altre. Tuttavia, potrebbero esserci situazioni in cui un utente malintenzionato può avereaccess to plaintext and corresponding ciphertext. Alcune di queste possibili circostanze sono:
L'autore dell'attacco influenza il mittente a convertire il testo in chiaro di sua scelta e ottiene il testo cifrato.
Il destinatario può divulgare il testo in chiaro all'attaccante inavvertitamente. L'aggressore ha accesso al testo cifrato corrispondente raccolto dal canale aperto.
In un sistema crittografico a chiave pubblica, la chiave di crittografia è in un dominio aperto ed è nota a qualsiasi potenziale aggressore. Usando questa chiave, può generare coppie di testi in chiaro e testi cifrati corrispondenti.
Attacchi crittografici
L'intenzione di base di un attaccante è quella di rompere un criptosistema e trovare il testo in chiaro dal testo cifrato. Per ottenere il testo in chiaro, l'attaccante deve solo scoprire la chiave di decrittazione segreta, poiché l'algoritmo è già di dominio pubblico.
Quindi, applica il massimo sforzo per scoprire la chiave segreta utilizzata nel sistema crittografico. Una volta che l'aggressore è in grado di determinare la chiave, il sistema attaccato viene considerato danneggiato o compromesso .
In base alla metodologia utilizzata, gli attacchi ai crittosistemi sono classificati come segue:
Ciphertext Only Attacks (COA)- In questo metodo, l'attaccante ha accesso a una serie di testi cifrati. Non ha accesso al testo in chiaro corrispondente. Si dice che il COA ha successo quando il testo in chiaro corrispondente può essere determinato da un dato insieme di testo cifrato. Occasionalmente, la chiave di crittografia può essere determinata da questo attacco. I moderni sistemi crittografici sono protetti dagli attacchi di solo testo cifrato.
Known Plaintext Attack (KPA)- In questo metodo, l'attaccante conosce il testo in chiaro per alcune parti del testo cifrato. Il compito è decrittografare il resto del testo cifrato utilizzando queste informazioni. Questo può essere fatto determinando la chiave o tramite un altro metodo. Il miglior esempio di questo attacco è la crittoanalisi lineare contro i cifrari a blocchi.
Chosen Plaintext Attack (CPA)- In questo metodo, l'attaccante ha il testo di sua scelta crittografato. Quindi ha la coppia di testo cifrato-testo in chiaro di sua scelta. Ciò semplifica il suo compito di determinare la chiave di crittografia. Un esempio di questo attacco è la crittoanalisi differenziale applicata ai codici a blocchi e alle funzioni hash. Un popolare sistema crittografico a chiave pubblica, RSA è anche vulnerabile agli attacchi con testo in chiaro.
Dictionary Attack- Questo attacco ha molte varianti, tutte comportano la compilazione di un "dizionario". Nel metodo più semplice di questo attacco, l'attaccante crea un dizionario di testi cifrati e di testi in chiaro corrispondenti che ha appreso per un periodo di tempo. In futuro, quando un utente malintenzionato ottiene il testo cifrato, fa riferimento al dizionario per trovare il testo in chiaro corrispondente.
Brute Force Attack (BFA)- In questo metodo, l'aggressore cerca di determinare la chiave tentando tutte le chiavi possibili. Se la chiave è lunga 8 bit, il numero di chiavi possibili è 2 8 = 256. L'attaccante conosce il testo cifrato e l'algoritmo, ora tenta tutte le 256 chiavi una per una per la decrittazione. Il tempo per completare l'attacco sarebbe molto alto se la chiave è lunga.
Birthday Attack- Questo attacco è una variante della tecnica della forza bruta. Viene utilizzato contro la funzione hash crittografica. Quando agli studenti di una classe viene chiesto quali sono i loro compleanni, la risposta è una delle possibili 365 date. Ammettiamo la data di nascita del primo studente è 3 ° agosto Poi per trovare lo studente successivo la cui data di nascita è 3 ° agosto, dobbiamo domandare 1,25 * ?? √365 ≈ 25 studenti.
Allo stesso modo, se la funzione hash produce valori hash a 64 bit, i possibili valori hash sono 1.8x10 19 . Valutando ripetutamente la funzione per diversi input, si prevede di ottenere lo stesso output dopo circa 5,1x10 9 input casuali.
Se l'attaccante è in grado di trovare due diversi input che danno lo stesso valore hash, è un file collision e si dice che quella funzione hash sia rotta.
Man in Middle Attack (MIM) - Gli obiettivi di questo attacco sono principalmente sistemi crittografici a chiave pubblica in cui è coinvolto lo scambio di chiavi prima che avvenga la comunicazione.
Host A vuole comunicare all'host B , quindi richiede la chiave pubblica di B .
Un utente malintenzionato intercetta questa richiesta e invia invece la sua chiave pubblica.
Pertanto, qualunque cosa l'host A invia all'host B , l'attaccante è in grado di leggere.
Al fine di mantenere la comunicazione, l'attaccante ri-codifica i dati dopo aver letto con la sua chiave pubblica e manda a B .
L'aggressore invia la sua chiave pubblica come una ‘s chiave pubblica in modo che B lo prende come se si sta prendendo da A .
Side Channel Attack (SCA)- Questo tipo di attacco non è contro alcun tipo particolare di criptosistema o algoritmo. Viene invece lanciato per sfruttare la debolezza dell'implementazione fisica del crittosistema.
Timing Attacks- Sfruttano il fatto che calcoli diversi richiedono tempi diversi per essere elaborati sul processore. Misurando tali temporizzazioni, è possibile conoscere un particolare calcolo che il processore sta eseguendo. Ad esempio, se la crittografia richiede più tempo, indica che la chiave segreta è lunga.
Power Analysis Attacks - Questi attacchi sono simili agli attacchi a tempo, tranne per il fatto che la quantità di consumo energetico viene utilizzata per ottenere informazioni sulla natura dei calcoli sottostanti.
Fault analysis Attacks - In questi attacchi, vengono indotti errori nel sistema crittografico e l'aggressore studia l'output risultante per informazioni utili.
Praticità degli attacchi
Gli attacchi ai crittosistemi qui descritti sono altamente accademici, poiché la maggior parte di essi proviene dalla comunità accademica. In effetti, molti attacchi accademici implicano presupposti del tutto irrealistici sull'ambiente e sulle capacità dell'aggressore. Ad esempio, nell'attacco con testo cifrato scelto, l'attaccante richiede un numero impraticabile di coppie di testo cifrato deliberatamente scelte. Potrebbe non essere del tutto pratico.
Tuttavia, il fatto che esista un qualsiasi attacco dovrebbe essere motivo di preoccupazione, in particolare se la tecnica di attacco ha il potenziale di miglioramento.