Bezdrátové zabezpečení-jak WEP funguje

jak již pravděpodobně víte, Wired Equivalent Privacy (WEP) používají společnosti k zabezpečení bezdrátových připojení před útoky čichání. Pravděpodobně jste také slyšeli, že to není příliš bezpečné. V první části tohoto 2 díl série vysvětlím vnitřní fungování WEP a sledovat jej příští měsíc s tím, proč je to nejisté.

jak již pravděpodobně víte, Wired Equivalent Privacy (WEP) používají společnosti k zabezpečení bezdrátových připojení před útoky čichání. Pravděpodobně jste také slyšeli, že to není příliš bezpečné. V první části tohoto 2 díl série vysvětlím vnitřní fungování WEP a sledovat jej příští měsíc s tím, proč je to nejisté.

potřebuji WEP vůbec?

autentický uživatel, Bob používá svůj notebook ke kontrole svého účtu Gmail každý den. V notebooku má bezdrátovou kartu, která automaticky detekuje bezdrátový přístupový bod svého ISP (WAP) přímo přes ulici. Jakmile je připojen k WAP, může pokračovat a zkontrolovat svůj e-mail. Alice je záludný uživatel, který nechce platit ISP za přístup k internetu. Ví však, že ISP přes ulici má přístupový bod, ke kterému se může kdokoli připojit a přistupovat k internetu. Zapojí se do svého notebooku a brzy stáhne hudbu z Internetu. WEP byl navržen tak, aby zajistil, že se uživatelé před použitím zdrojů ověří, zablokují Alice a povolí Bobovi. Uvidíme, jak to udělá.

jak WEP funguje

WEP používá algoritmus RC4 k šifrování paketů informací, které jsou odesílány z přístupového bodu nebo bezdrátové síťové karty. Jakmile přístupový bod obdrží pakety odeslané síťovou kartou uživatele, dešifruje je.

každý bajt dat bude šifrován pomocí jiného paketového klíče. Tím je zajištěno, že pokud se hackerovi podaří prolomit tento paketový klíč, jedinou informací, která unikla, je informace obsažená v tomto paketu.

skutečná šifrovací logika v RC4 je velmi jednoduchá. Prostý text je XOR-ed s nekonečně dlouhou keystream. Bezpečnost RC4 pochází z utajení paketového klíče, který je odvozen od keystream.

co je to paketový klíč?

paketový klíč je tvořen kombinací předem sdíleného hesla, stavového pole a inicializačního vektoru (IV). Nejprve pochopíme každý z těchto termínů:

předem sdílené heslo: stejné předem sdílené heslo používají všichni uživatelé pro každý přenášený paket.

stavové pole: je to řada čísel, která jsou kódována a poté použita RC4 k vytvoření klíčového proudu.

inicializační vektor (IV): IV je 3bajtové náhodné číslo generované počítačem. Je to buď předem připravené nebo připojené k textu šifry a odesláno přijímači, který sundá IV před dešifrováním textu šifry.

algoritmus RC4 se skládá ze 2 hlavních částí:

algoritmus plánování klíčů: proces KSA zahrnuje vytvoření kódovaného stavového pole . Toto stavové pole bude nyní použito jako vstup ve druhé fázi, nazývané fáze PRGA.

algoritmus Pseudonáhodného generování: stavové pole z procesu KSA se zde používá ke generování konečného toku klíčů. Každý byte generovaného toku klíčů je pak Xor ‚ Ed s odpovídajícím bajtem prostého textu, aby se vytvořil požadovaný text šifry.

algoritmus plánování klíčů

IV se vypočítá pomocí stavového pole a vlastností předem sdíleného hesla. Toho je dosaženo vytvořením pole hodnot rovných indexu, který chcete použít v algoritmu. Index WEP je ve výchozím nastavení 256. Komponenty potřebné pro KSA jsou hodnoty proměnných i a j, hodnota indexu, předem sdílené heslo a jeho délka. Algoritmus, který používá tyto hodnoty ke generování konečného keystream je uvedeno níže.

inicializace:

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

Scrambling:

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

smyčka nejprve běží od 0 do indexu-1, aby inicializovala stavové pole s hodnotami od 0 do indexu. Například. Pokud index =4 stavové pole bude vyplněno hodnotami od 0 do 3. Proto budou hodnoty pole následující:

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

hodnota j je nastavena na 0. Poté se spustí další smyčka. Pro každou dobu smyčkou se vypočítá hodnota j a hodnota pole držená ve stavu se vymění za hodnotu drženou ve stavu .

pseudonáhodný generační algoritmus (PRGA)

pseudonáhodný generátor čísel (PRNG) je algoritmus, který generuje náhodnou posloupnost čísel. PRGA je zodpovědný za vytvoření hodnot streamování používaných k šifrování prostého textu, který je založen na stavovém poli, výstupu KSA . Metodika, kterou PRGA sleduje, je popsána níže.

inicializace:

I=0 j=0 index=4 

generační algoritmus

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

hodnota streamování je vytvořena smyčkou přes algoritmus pro každý bajt paketu. Proměnné i a j jsou inicializovány na 0. Pro každý paket se vypočítá hodnota j a hodnota pole držená ve stavu se vymění za hodnotu drženou ve stavu . Výstup z se pak vypočítá pro každý paket. Na konci procesu máme proud PRGA.

prga proud je pak Xor ‚ Ed s prostým textem pro generování šifrovacího textu, který je přenášen na druhou stranu.

příklad

ilustrujme výše uvedené pojmy ve formě příkladu. Prostý text, který má být šifrován, je TEST. Heslo, které zde bude použito, je 6258. Počáteční hodnoty naší proměnné jsou následující:

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

podle algoritmu získáme:

Krok-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

Krok-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

Krok 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

Krok 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

jakmile je stavové pole KSA připraveno, postup PRGA je inicializován. Postup je následující:

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

první smyčka:

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

druhá smyčka:

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

třetí smyčka:

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

čtvrtá smyčka:

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

výstupy z1-z4 na konci každé smyčky musí být Xor ‚ Ed s ASCII každého znaku prostého textu, který je v našem případě TEST. Proto bude šifrový text pro test prostého textu následující:

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

test slov při šifrování pomocí WEP je UDRU.

tento článek byl jen úvodem do WEP a přesného postupu, ve kterém šifrování probíhá ve WEP. V další části se budeme zabývat otázkou, která je ve vašich myslích nejvyšší: „proč je WEP nejistý? Jaká rizika jsem vystaven, pokud používám WEP?“

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.