Navigacija | Vi ste ovdje: Standardima definirana sigurnost > Wired Equivalent Privacy (WEP) | Ključne riječi | ||||
WEP je definiran u 802.11 standardu i nastoji ispuniti tri osnovne pretpostavke:
U sva tri slučaja snaga WEP-a se temelji na težini otkrivanja tajnog ključa pomoću napada čistom silom( brute force attack ), no kako ćemo vidjeti kasnije ima puno bržih i učinkovitijih napada na WEP. WEP se koristi na podatkovnom sloju OSI modela kako bi zaštitio podatke tijekom prijenosa. WEP se oslanja na tajnosti ključa koji se koristi između pristupne točke i klijenta i pomoću njega enkriptira tijela okvira poruke. Enkripcija se vrši u slijedećim koracima: 1. Zaštitno kodiranje ( checksumming ) Kako bi zaštitili integritet poruke nad njom se vrši operacija zaštitnog kodiranja sa CRC32 polinomom te se zaštita zapisuje na kraj podatka koji se želi zaštititi. Dakle čisti tekst dobivamo kao P={M,c(M)} gdje je M originalni podatak. Valja primijetiti da c(M) pa tako i P ne ovisi o dijeljenom ključu k. Čisti tekst P je ulaz za drugi korak. 2. Enkripcija U drugom koraku enkriptiramo čisti tekst iz prethodnog koraka pomoću algoritma RC4. Na neki način(npr. slučajnim odabirom) biramo inicijalizacijski vektor IV koji uz ključ k služi kao ulaz u RC4 algoritam. Algoritam generira veliki broj pseudo-slučajnih bitova kao funkciju ključa k i inicijalizacijskog vektora IV. Ovaj niz bitova označava se sa RC( IV,k ). Nakon toga se vrši operacija ekskluzivno-ili nad bitovima čistog teksta i dobivenim nizom pseudo-slučajnih bitova da bi se dobio šifrirani tekst( ciphertext ). Dakle: Konačno, odašiljemo paket koji se sastoji od inicijalizacijskog vektora i šifriranog teksta preko bežične mreže. Shematski se enkripcija može prikazati sljedećom slikom:
Također se WEP paket može prikazati slijedećom slikom:
Sam proces enkripcije je prikazan na slijedećoj slici:
CRC-32 ( Cyclic Redundancy Check ) Ovaj algoritam izvorno služi za očuvanje integriteta podataka u komunikacijskom kanalu sa smetnjama i šumom. Njegova osnovica je, kako se u imenu i navodi, 32-bitni polinom koji se u heksadecimalnom obliku zapisuje kao 04C11DB7 . U WEP-u ovaj algoritam ima drugu, kriptografsku ulogu, i kao takav je vrlo loš izbor jer ne štiti u potpunosti integritet poruke(moguće je promijeniti određene bitove tako da se to ne detektira na prijemnoj strani). Puno bolji i prikladniji izbor bi bila jedna od funkcija kosanja( hash function ) primjerice SHA-1 ili MD-5. RC4 je najčešće korišten enkripcijski algoritam u softverskim aplikacijama. Dizajnirao ga je Ron Rivest 1987. godine i bio je poslovna tajna sve dok 1994. godine nije procurio njegov izvorni kod. Sam algoritam se sastoji od dva dijela: algoritam za raspoređivanje ključeva( Key Scheduling Algorithm-KSA ) i generator pseudo-slučajnih brojeva. Algoritam za raspoređivanje ključeva pretvara slučajno generirani ključ(obično veličine 40-256 bita) u početnu permutaciju S {0,.2 n -1},gdje je n duljina riječi u bitovima, koju koristi generator pseudo-slučajnih brojeva kako bi proizveo pseudo-slučajan niz bitova na izlazu. Generator pseudo-slučajnih brojeva inicijalizira dvije varijable i i j na 0, te tada u petlji izvršava četiri jednostavne operacije u kojima je i brojač dok se j povećava pseudo-slučajno, nakon toga u polju S zamjenjuje dvije vrijednosti na koje pokazuju i i j te kao izlaz daje vrijednost S na koju pokazuje S[i]+S[j]. Valja primijetiti da svaki član niza S biva najmanje jednom zamijenjen(moguća je zamjena sa samim sobom) i zbog toga se permutacija S dosta brzo se mijenja. Algoritam za raspoređivanje ključeva se može prikazati slijedećim odsječkom u pseudo-kodu: KSA(K){ za (i=0;i<=N-1;i++) S[i]=i; j=0; za (i=0;i<=N-1;i++){ j= j + S[i] + K[i mod length]; Zamijeni(S[i], S[j]); } } Generator pseudo-slučajnih brojeva se također može prikazati slijedećim odsječkom u pseudo-kodu: PRGA(K){ za (i=0;i<=N-1;i++){ j=0; i= i + 1; j= j + S[i]; Zamijeni(S[i], S[j]); Izlaz=S[S[i] + S[j]]; } } |
||||||
![]() |
![]() |