Simovits

WEP-svaghet: En matematisk analys

Denna vecka går vi igenom en av svagheterna som identifierats hos WEP, Wired Equivalent Privacy, vilket är en relativt förlegad krypteringsalgoritm som förekommer i en del WiFi-uppsättningar. Det är sedan länge känt att WEP har säkerhetsrelaterade brister, men det vore intressant att dyka lite djupare in i en av bristerna i protokollet. Vi går igenom ett attackscenario och förklarar ur ett matematiskt perspektiv vart i WEP-protokollet bristen existerar som gör attacken genomförbart.

WEP är baserat på standarden IEEE 802.11 [1] och ratificerades år 1999. Den använder sig av Rivest Cipher 4 [5], RC4, som krypteringschiffer (strömkryptering). Algoritmen använder sig antingen av en 40-bitarsnyckel eller 104-bitarsnyckeloch en pseudoslumpmässig generator (PRGA) kopplat till internt tillstånd och nyckeln för att generera nyckelströmmen. Denna ström XOR:as sedan med klartexten, som skall krypteras, för att få motsvarande chiffertext (se figur 1, hämtat från [3]).

Figur 1: Översikt av RC4-algoritmen.

I WEP är det interna tillståndet i RC4 återställt vid varje frame som skickas över nätverket. I normalfallet där detta givetvis en säkerhetsrisk där varje klartext skulle vara krypterat med samma nyckelström (PRGA är deterministisk och samma nyckelström genereras vid samma nyckel som input). För att tackla problemet introducerades användning av en 24-bitars Initialization Vector, IV, som en sammanbunden prefix med nyckeln (se figur 2, hämtat från [4]).

Figur 2: WEPs implementation av RC4.

IV skickas sedan okrypterat tillsammans med chiffertexten. Mottagare behöver fortfarande ha kännedom om nyckeln för att återskapa klartexten. Innan vi går in på bristen är det värt att tilläggas att de flesta trådlösa routrar kommer med 4 WEP-nycklar och därefter väljs vilken som används. Vald nyckel specificeras genom key index som finns i frame:ns payload och är ett värde mellan 0 till 3.

Brist: Längd på IV

Nu till bristen. Då IV endast är 24 bitar långt, finns det enligt födelsedagsparadoxen [2] ungefär en 50% sannolikhet att samma IV förekommer efter 5000 paket. Samma IV leder enligt analys ovan att samma nyckelström förekommer. I ett halvupptaget nätverk är paketflödet tillräckligt för att säkerställa att den här typen av repetitioner inträffar. En angripare kan med detta i åtanke genomföra en känd klartextattack, vilket innebär att man har två chiffertexter som använt samma IV och kännedom finns om klartexten till en av chiffertexterna. Därefter kan angriparen ta reda på den andra klartexten genom en simpel operation. Detta härleds nedan.

Låt \(P_1\), \(P_2\) vara två klartexter, \(C_1\), \(C_2\) motsvarade chiffertexter, \(RC4(IV_1,K)\) och \(RC4(IV_2,K)\) nyckelströmmarna som skall kryptera \(P_1\) respektive \(P_2\). Båda klartexterna är krypterade med samma nyckel, men med olika IV.

$$ C_1 = P_1 \oplus RC4(IV_1,K) $$
$$ C_2 = P_2 \oplus RC4(IV_2,K) $$

Om vi nu antar att IV blivit återanvänt, dvs. att \( C_2 = P_2 \oplus RC4(IV_1,K) \), fås att:

$$ C_1 \oplus C_2 = P_1 \oplus RC4(IV_1,K) \oplus C_2 $$
$$ C_1 \oplus C_2 = P_1 \oplus RC4(IV_1,K) \oplus P_2 \oplus RC4(IV_1,K) $$
$$ C_1 \oplus C_2 = P_1 \oplus P_2 $$

I de sista stegen används matematiska egenskaper hos XOR. Den sista ekvationen belyser den kända klartextattacken. En omskrivning av denna ger

$$ P_2 = P_1 \oplus C_1 \oplus C_2 $$

dvs. bristen visar att WEP inte kan garantera konfidentialitet eftersom \(P_1\) (angripare genomför en känd klartextattack), \(C_1\) och \(C_2\) är kända. På sådant sätt får angriparen kännedom om \(P_2\).

Som tidigare nämnt, illustrerar analysen ovan endast en brist, i ett protokoll som har flera identifierade svagheter. Det finns idag verktyg som kan genomföra praktiska attacker mot WiFi-lösningar som använder sig av WEP. Rekommendationen är att helt och hållet utesluta WEP och använda de nyare krypteringsprotokollen WPA2/WPA3.

Referenser

[1] IEEE 802.11. IEEE 802.11, The Working Group for WLAN Standards, https://www.ieee802.org/11/
[2] Scientific American. Probability and the Birthday Paradox, https://www.scientificamerican.com/article/bring-science-home-probability-birthday-paradox/
[3] The Security Buddy. How do I Remove RC4 Ciphers in NetScaler?, https://support.citrix.com/article/CTX205269
[4] The Security Buddy. IV Attack in WEP, https://www.thesecuritybuddy.com/wireless-network-and-security/iv-attack-in-wep/
[5] Encryption Consulting. What is RC4? Is RC4 secure?, https://www.encryptionconsulting.com/education- center/what-is-rc4/