Le chiavi deboli di cui parli sono sfruttate dall'attacco , , e attacco FMS , come correttamente segnalato da un altro utente .
It would be great if someone enlightened me about how they reveal secret WEP keys?
Non è facile. Tieni presente che si tratta di un attacco crittografico (relativamente complesso), non è un semplice attacco di dizionario o qualcosa del genere.
WEP è (dovremmo dire era ?) basato su un algoritmo crittografico chiamato RC4. Il modo in cui funziona RC4 è il seguente:
1) a partire da una chiave - nel nostro caso, una chiave condivisa concatenata con una IV - calcola uno "stato interno" S [i], che è una matrice pseudocasuale di 256 valori a 8 bit, attraverso una programmazione chiave Algorithm (KSA);
2) questo stato interno è l'input di un blocco (PRGA - Algoritmo di generazione pseudo-casuale) che genera un byte pseudo-casuale k [i];
3) lo stato interno viene cambiato e alimentato di nuovo nel PRGA, che produce un altro byte pseudo-casuale k [i] +1. La sequenza di byte pseudo-casuali è nota come keystream;
4) il messaggio (testo in chiaro) è XOR'd con il keystream. A causa delle proprietà dell'operatore XOR, questo è come XORare ogni byte pseudo-casuale del keystream con un byte di messaggio. In effetti, è quello che succede.
Una cosa che devi sapere sullo XOR: è sempre vero che A ⊕ B ⊕ B = A.
L'attacco FMS funziona come segue.
Poiché WEP è utilizzato in Wi-Fi, che (per ragioni tecniche non legate alla sicurezza) utilizza un particolare tipo di intestazione, il primo byte di qualsiasi messaggio "protetto" da WEP è noto ed è 0xAA (AA in esadecimale) . Applicando la proprietà XOR e considerando che ogni byte del testo cifrato è derivato separatamente, possiamo ottenere il primo byte del keystream. Sia m1 = 0xAA il primo byte di plaintext e c1 il primo byte di ciphertext, il primo byte di keystream è m1 ⊕ c1.
Ricorda che la chiave condivisa (fissa) è concatenata con la IV, che cambia ad ogni pacchetto ma è sempre nota all'attaccante (poiché è trasmessa in chiaro). Poiché la chiave condivisa è costante, una chiave è debole se la IV è debole.
Concentriamoci ora sui primi tre byte del keystream K [0], K [1], K [2].
Poiché il keytream inizia con la IV, K [0,1,2] sono (gli unici) tre byte della IV, e come tali sono noti. L'autore dell'attacco inizia con questi byte e li carica nel KSA. Se l'IV è debole, l'attaccante può ottenere un possibile valore del quarto byte della chiave. Ripetendo questa procedura su diversi pacchetti, l'utente malintenzionato può avere una buona idea del valore del 4 °, 5 °, dei byte e così via.
What are these weak IVs?
Come abbiamo visto, gli IV deboli sono IV che consentono di ottenere suggerimenti sulla chiave, un byte alla volta. Questi suggerimenti diventano sempre più concreti mentre l'hacker raccoglie un numero sempre maggiore di pacchetti.
Più specificamente, una IV è debole (nel senso dell'attacco FMS) se è di qualche tipo particolare come, ad esempio, A + 3 :: ff: X, dove A è il byte della chiave a essere trovato, ff è 255 in decimale e X è un valore arbitrario di 8 bit.
Can we somehow stop or slow down WEP cracking by avoiding usage of weak IVs?
Possiamo fermare questo attacco evitando l'uso di IV deboli, ma non possiamo impedire il cracking del WEP. WEP è rotto in molti modi, la maggior parte dei quali funzionerebbe anche se l'algoritmo crittografico sottostante non fosse rotto (come RC4, ad esempio attraverso l'attacco FMS).
Non utilizzare WEP, periodo . Non c'è più ragione per farlo più.