Securitate Wireless-cum funcționează WEP

după cum probabil știți deja Wired Equivalent Privacy (WEP) este utilizat de companii pentru a-și asigura conexiunile wireless de atacurile sniffing. Probabil ați auzit, de asemenea, că nu este foarte sigur. În prima parte a acestei serii de 2 părți, voi explica funcționarea interioară a WEP și o voi urmări luna viitoare cu motivul pentru care este nesigur.

după cum probabil știți deja Wired Equivalent Privacy (WEP) este utilizat de companii pentru a-și asigura conexiunile wireless de atacurile sniffing. Probabil ați auzit, de asemenea, că nu este foarte sigur. În prima parte a acestei serii de 2 părți, voi explica funcționarea interioară a WEP și o voi urmări luna viitoare cu motivul pentru care este nesigur.

am nevoie de WEP la toate?

un utilizator autentic, Bob își folosește laptopul pentru a-și verifica contul Gmail în fiecare zi. Are un card wireless în laptop care detectează automat punctul de acces wireless (WAP) al ISP-ului său chiar peste drum. Odată ce este conectat la WAP, poate merge mai departe și să-și verifice e-mailul. Alice este un utilizator mascate care nu vrea să plătească ISP pentru accesul la Internet. Cu toate acestea, știe că ISP-ul de peste drum are un punct de acces la care oricine se poate conecta și accesa Internetul. Își conectează laptopul și în curând descarcă muzică de pe Internet. WEP a fost conceput pentru a se asigura că utilizatorii se autentifică înainte de a utiliza resurse, pentru a bloca Alice, și să permită Bob. Să vedem cum face asta.

cum funcționează WEP

WEP utilizează algoritmul RC4 pentru a cripta pachetele de informații pe măsură ce sunt trimise de la punctul de acces sau de la placa de rețea fără fir. De îndată ce punctul de acces primește pachetele trimise de placa de rețea a utilizatorului, acesta le decriptează.

fiecare octet de date va fi criptat folosind o cheie de pachet diferită. Acest lucru asigură că, dacă un hacker reușește să spargă această cheie de pachet, singura informație care este scursă este cea conținută în acel pachet.

logica reală de criptare în RC4 este foarte simplu. Textul simplu este XOR-ed cu un flux de taste infinit de lung. Securitatea RC4 provine din secretul cheii de pachete care este derivată din fluxul de taste.

deci, ce este o cheie de pachete?

cheia de pachet este formată prin combinarea unei parole pre-partajate, a unei matrice de stare și a unui vector de inițializare (IV). Să înțelegem mai întâi fiecare dintre acești Termeni:

parolă pre-partajată: aceeași parolă pre-partajată este utilizată de toți utilizatorii pentru fiecare pachet transmis.

matrice de stat: este o serie de numere care sunt amestecate și apoi utilizate de RC4 pentru a construi fluxul cheie.

Vector de inițializare (IV): IV este un număr aleatoriu de 3 octeți generat de computer. Este fie prepended sau anexat la textul cifru și trimis la receptor care benzi IV off înainte de a decripta textul cifru.

algoritmul RC4 este format din 2 părți principale:

algoritmul de programare cheie: procesul KSA implică crearea unei matrice de stare amestecate . Această matrice de stare va fi acum utilizată ca intrare în a doua fază, numită faza PRGA.

algoritmul de generare aleatorie Pseudo: matricea de stare din procesul KSA este utilizată aici pentru a genera un flux cheie final. Fiecare octet al fluxului cheie generat este apoi Xor ‘ ED cu octetul de text simplu corespunzător pentru a produce textul cifrat dorit.

algoritm de programare cheie

IV se calculează folosind o matrice de stare și proprietățile parolei pre-partajate. Acest lucru se realizează prin crearea unei matrice de valori egale cu indexul pe care doriți să îl utilizați în algoritm. Indicele pentru WEP în mod implicit este 256. Componentele necesare pentru KSA sunt valorile variabilelor i și j, valoarea indexului, parola pre-partajată și lungimea acesteia. Algoritmul care utilizează aceste valori pentru a genera un flux de chei final este prezentat mai jos.

inițializare:

For i=0 ... index-1
S=i
J=0

codare:

For i=0 ... index-1
J = j + state + K
Swap(state , state)

o buclă rulează mai întâi de la 0 la index-1 pentru a inițializa matricea de stare cu valori de la 0 la index. Pentru ex. Dacă index =4 matrice de stat va fi umplut cu valori de la 0 la 3. Prin urmare, valorile matrice vor fi după cum urmează:

s=0 s=1 s=2 s=3 

valoarea lui j este setată la 0. O altă buclă este apoi pornită. Pentru fiecare dată prin buclă, se calculează valoarea lui j, iar valoarea matricei ținută în stare este schimbată pentru valoarea ținută în stare .

Pseudo Random generation algoritm (PRGA)

un generator de numere pseudorandom (PRNG) este un algoritm care generează o secvență aleatorie de numere. PRGA este responsabil pentru crearea valorilor de streaming utilizate pentru criptarea textului clar, care se bazează pe matricea de stare, ieșirea KSA . Metodologia pe care o urmează PRGA este prezentată mai jos.

inițializare:

I=0 j=0 index=4 

algoritm de generare

I=(i+1) mod index
J=(j+state) mod index
Swap(state, state)
Z=state + statemod index]

valoarea de streaming este creată prin looping prin algoritmul pentru fiecare octet al pachetului. Variabilele i și j sunt inițializate la 0. Pentru fiecare pachet se calculează valoarea lui j, iar valoarea matrice a avut loc în stare este schimbat pentru valoarea a avut loc în stare . Ieșirea z este apoi calculată pentru fiecare pachet. La sfârșitul procesului avem un flux PRGA.

fluxul PRGA este apoi Xor ‘ ED cu textul simplu pentru a genera text cifrat care este transmis celeilalte părți.

un exemplu

să ilustrăm conceptele de mai sus sub forma unui exemplu. Textul simplu care urmează să fie criptat este TEST. Parola care va fi folosită aici este 6258. Valorile inițiale ale variabilei noastre sunt următoarele:

i=0 j=0 password=6258 pass length=4 index=4 

urmând algoritmul obținem:

Pas-1

State array: State=0 State=1 State=2 State=3
Password: K=6 K=2 K=5 K=8
j = + K] mod 4 = 6 mod 4 = 2
Swap(State , State) = Swap(0,2)
State=2 State=1 State=0 State=3

Pas-2

i=1 j=2
State array: State=2 State=1 State=0 State=3
Password: K=6 K=2 K=5 K=8
j = + K] mod 4 = 5 mod 4 = 1
Swap(State, State) = Swap(1,0)
State=2 State=0 State=1 State=3

pas 3

i=2 j=1
State array: State=2 State=0 State=1 State=3
Password: K=6 K=2 K=5 K=8
j = + K]mod 4 = 7 mod 4 = 3
Swap(State, State) = Swap(1,3)
State=2 State=0 State=3 State=1

Pas 4

i=3 j=3
State array: State=2 State=0 State=3 State=1
Password: K=6 K=2 K=5 K=8
j = +K]mod 4 = 12 mod 4 = 0
Swap(State, State) = Swap(1,2)
State=1 State=0 State=3 State=2
Final State Array: State=1 State=0 State=3 State=2

odată ce matricea de stat KSA este gata, procedura PRGA este inițializată. Procedura este următoarea:

Initially i=0 j=0
K=6 K=2 K=5 K=8

prima buclă:

State=1 State=0 State=3 State=2
i=1 j=0+State=0+0=0
Swap(State, State) = Swap(0,1)
State=0 State=1 State=3 State=2
z = State + State mod 4] = State = 1
z1 = 00000001

a doua buclă:

State=0 State=1 State=3 State=2
i=2 j=0+State=3
Swap(State, State) = Swap(3,2)
State=0 State=1 State=2 State=3
z = State + State mod 4] = State = 1
z2 = 00000001

a treia buclă:

State=0 State=1 State=2 State=3
i=3 j=3+State=6 mod 4 = 2
Swap(State,State) = Swap(3,2)
State=0 State=1 State=3 State=2
z = State + State] mod 4 = State = 1
z3=00000001

a patra buclă:

State=0 State=1 State=3 State=2
i=4 j=2+State=2+State = 2+State = 2
Swap(State,State) = Swap(State,State) = Swap(0,3)
State=3 State=1 State=0 State=2
z4 = State + State] = State +
State] = State = 2
z4=00000010

ieșirile z1-z4 la sfârșitul fiecărei bucle trebuie să fie Xor ‘ ED cu ASCII fiecărui caracter de text simplu, care în cazul nostru este testat. Prin urmare, textul cifru pentru testul de text simplu va fi după cum urmează:

T xor z1 = 01010100 xor 00000001 = 01010101 = U
E xor z2 = 01000101 xor 00000001 = 01000100 = D
S xor z3 = 01010011 xor 00000001 = 01010010 = R
T xor z4 = 01010100 xor 00000010 = 01010110 = U

cuvântul TEST atunci când este criptat cu WEP este UDRU.

acest articol a fost doar o introducere în WEP și procedura exactă în care are loc criptarea în WEP. În următoarea parte vom aborda întrebarea care este cea mai de sus în mintea voastră: „de ce este WEP nesigur? La ce riscuri sunt expus dacă folosesc WEP?”

Lasă un răspuns

Adresa ta de email nu va fi publicată.