Domande frequenti
Alcuni anni fa, un team di esperti di sicurezza ha pubblicato un documento che descrive uno scenario di attacco in grado di compromettere una connessione IKEv1 Aggressive Mode con Pre-Shared Key, e che, come descritto lì, non può essere applicato allo stesso modo a una connessione IKEv1 Main Mode con Pre-Shared Key, portando alla falsa supposizione che Aggressive Mode sia fondamentalmente molto meno sicuro di Main Mode. Tuttavia, se si osserva la situazione in modo neutrale, questa affermazione non corrisponde ai fatti. La maggior parte delle persone ignora il fatto che una parte di questo attacco consisteva nel tentare di indovinare la Pre-Shared Key (PSK) utilizzando un attacco "brute force", e tale attacco può avere successo solo se la PSK è stata scelta in modo insicuro. Anche una PSK è solo una password, e come per tutte le password, le password deboli portano a una minore sicurezza. Finché la PSK ha almeno 14 caratteri (più sono, meglio è), consiste di lettere minuscole, maiuscole e cifre ed è stata generata completamente in modo casuale (in modo che non possa essere facilmente indovinata) e finché nella fase 1 è stato selezionato come minimo SHA1 come hash (o meglio ancora, consigliamo SHA-256 se possibile), non c'è assolutamente alcun motivo per supporre che una connessione Aggressive Mode PSK sia fondamentalmente meno sicura di una connessione Main Mode PSK. Chi vuole essere completamente sicuro scelga semplicemente un'autenticazione basata su certificati, se possibile, perché ciò rende questo attacco del tutto impraticabile.
Antecedenti tecnici:
La Pre-Shared Key (PSK) non è una password utilizzata per crittografare i dati, ma serve esclusivamente per l'autenticazione, più o meno come quando un utente effettua il login a un sito web con una password. Durante la fase 1, entrambe le parti devono dimostrarsi reciprocamente di conoscere la PSK. Naturalmente, ciò non può accadere inviandola all'altra parte, perché anche se l'altra parte non la conoscesse finora, la conoscerebbe da ora in poi. Invece, entrambe le parti devono calcolare un numero (un cosiddetto valore hash), per il quale vengono utilizzati i dati che entrambe le parti hanno già scambiato (e che sono diversi a ogni connessione per garantire che anche il valore hash sia diverso ogni volta) e la PSK. Solo questo valore hash viene inviato all'altro lato, che deve quindi eseguire esattamente gli stessi calcoli. Se arriva allo stesso risultato, allora l'altra parte deve aver utilizzato anche la stessa PSK, ergo la conosce. Lo stesso gioco si ripete poi in direzione opposta, sebbene il calcolo qui differisca leggermente per garantire che i due valori hash siano sempre diversi.
La differenza tra Main Mode e Aggressive Mode è semplicemente che in Main Mode il valore hash viene trasmesso crittografato, poiché la procedura di scambio di chiavi (DH Exchange) che porta a una chiave di sessione sicura su entrambe le parti è già stata completata completamente in quel momento e non appena entrambe le parti hanno una chiave di sessione, tutti i pacchetti vengono trasmessi solo crittografati. Con Aggressive Mode, il valore hash viene trasmesso non crittografato, poiché lo scambio di chiavi non è ancora stato completato in questo momento. Spiando una connessione Aggressive Mode, un attaccante può accedere sia al valore hash che a tutti i dati necessari per calcolare tale valore, ad eccezione della PSK reale. Ma ciò da solo non interrompe la connessione, ha semplicemente abbastanza informazioni per cercare la PSK, ad esempio utilizzando un cosiddetto attacco "brute force" (semplicemente provare tutte le combinazioni possibili) o un attacco di dizionario (provare password scelte frequentemente che possono essere ottenute da fughe di dati di altri servizi online). Solo se la PSK è troppo debole per resistere a questi attacchi, può finalmente interrompere la connessione. Pertanto, una PSK buona e sufficientemente sicura è essenziale per la sicurezza di una connessione VPN PSK.
Tuttavia, lo stesso attacco è possibile anche con una connessione Main Mode, richiede solo un po' più di sforzo. Nel caso di Main Mode, non basta essere in grado di leggere il traffico, ma è necessario un cosiddetto attacco Man-in-the-Middle (MitM), ovvero un attaccante deve essere in grado di intercettare e manipolare il traffico. Attraverso un attacco MitM, un attaccante può disabilitare la crittografia, il che non è sufficiente per accedere alla VPN, perché ancora è necessaria la PSK per farlo, poiché senza di essa la fase 1 non verrà completata con successo, ma anche allora un attaccante avrebbe il valore hash e tutti i dati necessari per calcolarlo e potrebbe tentare di indovinare la PSK nello stesso modo. E se un attaccante è già in grado di leggere tutto il traffico (che è un prerequisito fondamentale per qualsiasi scenario di attacco), è molto probabile che possa anche condurre un attacco MitM e, in tal caso, Main Mode non offre alcuna protezione aggiuntiva.
Una PSK di 11 caratteri alfanumerici casuali ha un'entropia di circa 64 bit, ovvero 2^64 valori possibili. Le schede grafiche moderne di fascia alta (a partire dal 2016) possono calcolare nell'ordine di 1 miliardo di valori hash SHA-265 al secondo. In media, si deve provare il 50% di tutte le possibilità per trovare una corrispondenza e ciò richiederebbe 292 anni. Se un attaccante ha a disposizione 100 di queste schede grafiche, l'attacco "richiederebbe solo" circa 3 anni. Ma anche con 14 caratteri, l'entropia è di 80 bit e qui una singola scheda grafica avrebbe bisogno di 19.154.798 anni. Nemmeno 10.000 schede grafiche accorcerebbero sufficientemente il tempo. E non si deve mai ignorare il costo di tale attacco. Non tanto il costo dell'acquisto delle schede grafiche, ma piuttosto il loro consumo energetico quando tutte queste schede grafiche funzionano a piena potenza 24 ore su 24 per anni, decenni o addirittura secoli. Ciò si traduce rapidamente in miliardi di euro di costi energetici solo per interrompere una singola connessione PSK in tutto il mondo. Inoltre, ogni volta che la PSK viene modificata, l'attaccante deve ricominciare da zero. Quindi, se la PSK viene cambiata solo una volta all'anno, un attaccante avrebbe al massimo 1 anno per trovarla; ciò sarebbe già piuttosto ambizioso, anche con una PSK debole.
