it:chopchoptheory
no way to compare when less than two revisions
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| — | it:chopchoptheory [2009/08/18 13:04] (versione attuale) – creata drosophila | ||
|---|---|---|---|
| Linea 1: | Linea 1: | ||
| + | ====== Teoria dell' | ||
| + | |||
| + | Un frame WEP 802.11 è composto da molti campi: header, dati (in inglese data), ICV, ecc. Ora prendere in considerazione solo il campo data e ICV, supponendo che l' | ||
| + | |||
| + | L' | ||
| + | crc = crc_tbl[(crc ^ data[i]) & 0xFF] ^ ( crc >> 8 ); | ||
| + | L'ICV viene memorizzato in little-endian ed il frame viene xorato con un keystream RC4. | ||
| + | Da ora in poi, l' | ||
| + | |||
| + | Frame 1: | ||
| + | _____ DATA ___ ____ICV ___ | ||
| + | D0 D1 D2 D3 D4 I3 I2 I1 I0 | ||
| + | | ||
| + | K0 K1 K2 K3 K4 K5 K6 K7 K8 | ||
| + | | ||
| + | R0 R1 R2 R3 R4 R5 R6 R7 R8 | ||
| + | |||
| + | Dove D è il plaintext (i byte di dati), l è l'ICV, K è il keystream e R è il risultato. Aggiungendo un byte di dati (D5) si ottiene un secondo frame, il Frame 2: | ||
| + | | ||
| + | _____ DATA ______ ____ICV ___ | ||
| + | D0 D1 D2 D3 D4 D5 J3 J2 J1 J0 | ||
| + | | ||
| + | K0 K1 K2 K3 K4 K5 K6 K7 K8 K9 | ||
| + | | ||
| + | S0 S1 S2 S3 S4 S5 S6 S7 S8 S9 | ||
| + | |||
| + | Dove J è l'ICV e S è il risultato. | ||
| + | |||
| + | E' possibile risalire al Frame 1 dal Frame 2 ipotizzando il valore della somma I3+D5, che sarà indicato con X (uno dei 256 cambiamenti). X=I3+D5 | ||
| + | * i byte da D0 a D4 rimangono uguali. | ||
| + | * R5 = I3 + K5 = I3 + (D5+D5) + K5 = (I3+D5) + (D5+K5) = X + S5. | ||
| + | * i byte da R6 a R8 vengono calcolati reversando uno step del CRC basato sul valore di X. C'è una corrispondenza tra I2-I0 e J3-J1 perché il CRC li shifta indietro ma D5 li " | ||
| + | * J0 dipende solo da X. K9 = S9 + J0. Sono stati dunque ipotizzati l' | ||
| + | |||
| + | Il valore di X sarà indovinato provando e sbagliando. L' | ||
| + | |||
| + | In questo modo viene trovato un frame valido più piccolo di 1 byte rispetto all' | ||
| + | |||
| + | Per una descrizione più dettagliata vedere: | ||
| + | |||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | |||
it/chopchoptheory.txt · Ultima modifica: da drosophila
