Wired Equivalent Privacy (WEP)
WEP werd de encryptie standaard voor de 802.11, maar in geen geval is het een krachtpatser op het gebied van beveiliging. Het heeft veel bekende zwakke punten in hoe de encryptie wordt uitgevoerd. Het fundamentele probleem met WEP is dat het een cipher gebruikt die niet geschikt is voor de omgeving waarin het werkt. WEP maakt gebruik van een stream-cipher bekend als RC4 in synchrone modus voor het versleutelen van datapakketten. Met behulp van de synchrone stroom cijfers, het verlies van een enkele bit van een datastroom veroorzaakt het verlies van alle gegevens na de verloren bit, met inbegrip van gegevens in de volgende pakketten. Dit komt omdat het verlies van gegevens de-synchroniseert de keystream generatoren op de twee eindpunten. Aangezien het verlies van gegevens wijdverbreid is in het draadloze medium, is het onmogelijk om een synchrone stream cipher te gebruiken over 802.11-framegrenzen. Het probleem zit echter niet in het RC4 algoritme, maar in het feit dat de stream cipher niet geschikt is voor draadloos medium waar placket verlies wijdverbreid is.
in plaats van een blokcode te selecteren die geschikt is voor draadloos medium, 802.11 probeert het synchronisatieprobleem van stroomcodes op te lossen door de synchronisatievereisten van een sessie naar een pakket te verschuiven. Secure Socket Layer (SSL) gebruikt RC4 op de applicatielaag met succes omdat SSL werkt over een consistent datakanaal dat geen datapakketten verliest, wat een perfecte synchronisatie tussen de twee eindpunten garandeert. SSL gebruikt slechts één sleutel per sessie. De sleutel hoeft niet elk pakket te worden vervangen omdat de eindpunten gesynchroniseerd zijn en RC4 dezelfde toetsstroom aan beide uiteinden kan produceren met behulp van de sessiesleutel. In tegenstelling tot het draadloze medium, 802.11 verandert sleutels voor elk pakket Omdat de synchronisatie tussen de eindpunten niet perfect is en onderhevig is aan pakketverlies. Op deze manier kan elk pakket worden versleuteld en gedecodeerd zonder rekening te houden met het verlies van de vorige pakketten. Dezelfde sleutel wordt gebruikt om de gegevens te versleutelen en te decoderen. Het WEP-versleutelingsalgoritme werkt als volgt:
twee processen worden toegepast op de gegevens in platte tekst. De ene versleutelt de platte tekst; de andere beschermt de gegevens tegen wijziging door onbevoegd personeel. De 40-bits geheime sleutel is verbonden met een 24-bits initialisatievector (IV) wat resulteert in een 64-bits totale sleutelgrootte. De resulterende sleutel wordt ingevoerd in de Pseudo-random Number Generator (PRNG). De PRNG (RC4 ) voert een pseudorandom-toetsenreeks uit gebaseerd op de invoersleutel. De resulterende sequentie wordt gebruikt om de gegevens te versleutelen door een Bit-wise XOR te doen. Het resultaat is versleutelde bytes die in lengte gelijk zijn aan het aantal gegevensbytes dat in de uitgebreide gegevens plus vier bytes moet worden verzonden. Dit komt omdat de sleutelvolgorde wordt gebruikt om de 32-bit Integrity Check Value(ICV) evenals de gegevens te beschermen. De foto hieronder illustreert hoe de WEP is gecodeerd.
om ongeoorloofde wijziging van gegevens te voorkomen, een integriteitsalgoritme , werkt CRC-32 op de platte tekst om de ICV te produceren. De cijfertekst wordt verkregen door het berekenen van de ICV met CRC-32 over het bericht plaintext à aansluiten van de ICV om de plaintext à het kiezen van een willekeurige initialisatie vector (IV) en u dit om de geheime sleutel à het invoeren van de geheime sleutel + IV in het RC4-algoritme te produceren pseudo-toets volgorde à versleutelen van de klare tekst + ICV door het doen van een bitsgewijze XOR met de pseudo-toets volgorde onder RC4 voor het produceren van de cijfertekst à communiceren van de IV van de peer door het te plaatsen in de voorkant van de cijfertekst. De IV, plaintext en ICV triplet vormen de feitelijke gegevens die in het dataframe worden verzonden.
WEP-decryptie
het IV van het inkomende bericht wordt gebruikt om de sleutelreeks te genereren die nodig is om het inkomende bericht te decoderen. Het combineren van de versleutelde tekst met de juiste toetsenreeks geeft de originele platte tekst en ICV. De decryptie wordt geverifieerd door het Integriteitscontrolealgoritme uit te voeren op de herstelde platte tekst en de uitvoer van de ICV’ te vergelijken met de ICV die met het bericht is verzonden.
als de ICV ‘ niet gelijk is aan de ICV, is het ontvangen bericht in fout, en een foutindicatie wordt verzonden naar het MAC-beheer en terug naar het verzendstation.Het volgende diagram toont hoe WEP wordt gedecodeerd.
authenticatie
dezelfde, gedeelde sleutel die wordt gebruikt om de dataframes te versleutelen en te decoderen, wordt ook gebruikt om het station te authenticeren. Er zijn twee soorten 802.11 b-authenticatie. Een daarvan heet de open system authentication, wat de standaard authenticatieservice is die geen authenticatie heeft. Dit klinkt misschien tegenstrijdig, maar je zult later op de pagina zien wat het doet. De andere wordt de gedeelde sleutel authenticatie genoemd. Bij de verificatie van de gedeelde sleutel is een gedeelde sleutel nodig om het station bij het toegangspunt te verifiëren, zoals de naam aangeeft. Het wordt beschouwd als een veiligheidsrisico om zowel de coderingssleutel als de authenticatiesleutel hetzelfde te hebben. Er is ook een methode waarbij stations en access points de WEP alleen kunnen gebruiken zonder gedeelde sleutel authenticatie, door WEP alleen te gebruiken als een encryptie-engine, wat kan worden gedaan in open systeem modus.
het open systeem authenticatie is een ongeldige authenticatie. Het station kan associëren met alle toegangspunten en luisteren naar alle gegevens die in platte tekst worden verzonden. Deze authenticatie is niet veilig, maar is geïmplementeerd voor het gebruiksgemak. Deze verificatie wordt niet aanbevolen en wordt alleen gebruikt als de netwerkbeheerder de beveiliging niet wil afhandelen.
de gedeelde sleutel authenticatie is een betere authenticatie dan de open systeem authenticatie. Als een station de verificatie van de gedeelde sleutel wil gebruiken, moet het WEP implementeren. De geheime gedeelde sleutel bevindt zich in de MIB van elk station in een alleen-schrijven vorm en is daarom alleen beschikbaar voor de MAC-coördinator. De foto hieronder laat zien hoe de sleutel wordt verdeeld over elk station.
eerst stuurt een verzoekende zender een Authenticatieframe naar het toegangspunt. Wanneer het toegangspunt het eerste authenticatieframe ontvangt, zal het toegangspunt antwoorden met een authenticatieframe dat 128 bytes willekeurige challenge-tekst bevat die door de WEP-engine in standaardvorm wordt gegenereerd. Het verzoekende station kopieert die tekst vervolgens naar het verificatieframe, versleutelt het met een gedeelde sleutel en stuurt het frame vervolgens naar het antwoordende station. Het ontvangende toegangspunt zal de waarde van de uitdagende tekst decoderen met dezelfde gedeelde sleutel en deze vergelijken met de uitdagende tekst die eerder is verzonden. Als er een overeenkomst optreedt, antwoordt het antwoordstation met een verificatie die een succesvolle verificatie aangeeft. Als er geen overeenkomst is, stuurt het antwoordende toegangspunt een negatieve verificatie terug.