VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ



Podobné dokumenty
UNIVERZITA PARDUBICE. Fakulta elektrotechniky a informatiky. Principy funkce bezdrátových sítí, jejich využití a bezpečnost Michal Mojžíš

Sítě IEEE (WiFi)

Představíme základy bezdrátových sítí. Popíšeme jednotlivé typy sítí a zabezpečení.

IEEE Wi FI. Wi Fi

Bezdrátové sítě Wi-Fi Původním cíl: Dnes

Cisco Networking Accademy. 7. Bezdrátové sítě (Wireless Networks)

Topologie počítačových sítí Topologie = popisuje způsob zapojení sítí, jejich architekturu adt 1) Sběrnicová topologie (BUS)

WIMAX. Obsah. Mobilní komunikace. Josef Nevrlý. 1 Úvod 2. 2 Využití technologie 3. 5 Pokrytí, dosah 6. 7 Situace v České Republice 7

GRAFICKÉ ROZHRANÍ V MATLABU PRO ŘÍZENÍ DIGITÁLNÍHO DETEKTORU PROSTŘEDNICTVÍM RS232 LINKY

Bezdrátový přenos dat

ODBORNÝ VÝCVIK VE 3. TISÍCILETÍ

Analyzátor bezdrátových sítí

Fakulta Elektrotechnická

DUM 11 téma: Bezdrátové sítě

IEEE aneb WiFi

5. Zabezpečení Wi-Fi

Přehled doplňků normy IEEE

3. Linková vrstva. Linková (spojová) vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl

Soudobé trendy v oblasti moderních

Bezdrátové sítě (WiFi, Bluetooth, ZigBee) a možnosti jejich implementace.

Mini příručka pro WiFi bezdrátové sítě Jan Maštalíř - Informační technologie, Chuchelna 304, Semily

DÁLKOVÁ SPRÁVA ŘÍDICÍCH SYSTÉMŮ V PROSTŘEDÍ CONTROL WEB 5

WAP LAN/WLAN AP/klient. Uživatelský manuál

Návrh bezdrátové sítě v prostorách firmy včetně rádiového průzkumu

P-334U. Bezdrátový Wi-Fi router kompatibilní s normou a/g. Příručka k rychlé instalaci

Dvoupásmový přístupový bod pro venkovní použití Návod k obsluze - EC-WA6202 (EC-WA6202M)

Bezdrátové sítě. Bezdrátové LAN dramaticky mění současnou strukturu sítí. Díky. Venku nebo uvnitř, pořád připojen.

Směry rozvoje v oblasti ochrany informací KS - 7

SSL Secure Sockets Layer

Bezpečný JPEG Úvod 2. JPEG Vlastnosti JPEG /

Úspěch Wi-Fi přineslo využívání bezlicenčního pásma, což má negativní důsledky ve formě silného zarušení příslušného frekvenčního spektra a dále

Bezpečnost bezdrátové komunikace 9 Téma číslo 1: bezpečnost 10. Základy bezpečnosti komunikačních sítí 13 Bezpečnost sítě 14 Bezpečnostní politika 15

EXTRAKT z mezinárodní normy

ISMS. Autentizace ve WiFi sítích. V Brně dne 5. a 12. prosince 2013

UNIVERZITA PARDUBICE. Fakulta elektrotechniky a informatiky. Podpora laboratorní výuky bezdrátových sítí LAN Marcel Pašta

Inovace bakalářského studijního oboru Aplikovaná chemie

1. Základy bezdrátových sítí

ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE

Počítačové sítě. Miloš Hrdý. 21. října 2007

Stručný návod k obsluze Nainstalujte ovladač GW-7100PCI pro Windows 98, ME, 2000 and XP

PROBLEMATIKA BEZDRÁTOVÝCH SÍTÍ

MRAR-L. Družicové navigační systémy. Č. úlohy 4 ZADÁNÍ ROZBOR

Uživatelem řízená navigace v univerzitním informačním systému

Telekomunikační sítě Protokolové modely

Počítačové sítě internet

Outdoorová klientská jednotka pro pásmo 5 GHz. GainMaster G1. Instalační příručka

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ ZABEZPEČENÍ BEZDRÁTOVÝCH SÍTÍ DIPLOMOVÁ PRÁCE FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ

Ethernet Historie Ethernetu Princip

enos dat rnici inicializaci adresování adresu enosu zprávy start bit átek zprávy paritními bity Ukon ení zprávy stop bitu ijíma potvrzuje p

-Wi-Fi- uděluje certifikát o kompatibilitě s ostatními zařízeními standardu Zařízení, která byla schválena WiFi alianci jsou opatřeny logem

Seznámení s IEEE802.1 a IEEE a IEEE802.3

Stručný návod k obsluze Instalace ovladače WLAN USB adaptéru GW- 7200U pro Windows 98SE, ME, 2000 a XP

Řízení pohybu stanice v simulačním prostředí OPNET Modeler podle mapového podkladu

13. přednáška. Zabezpečení datových sítí. Ing. Tomáš Vaněk, Ph.D.

Univerzita Hradec Králové Fakulta informatiky a managementu Katedra informačních technologií

Popis produktu. IP video vzduchem. web

Standard IEEE

Univerzitní centrum podpory pro studenty se specifickými vzdělávacími potřebami CZ.1.07/2.2.00/ POČÍTAČOVÉ SÍTĚ I KI/PSI1

Systémy digitálního vodotisku. Digital Watermarking Systems

UNIVERZITA PARDUBICE ÚSTAV ELEKTROTECHNIKY A INFORMATIKY

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ

Rychlá instalační příručka TP-LINK TL-WR741ND

Standardy e a i

Počítačové sítě I. 8. Bezdrátové sítě, GSM. Miroslav Spousta, 2004

DWL-G650 AirPlus Xtreme G 2.4 GHz bezdrátový Cardbus adaptér

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

IP kamerové systémy a jejich skladba

ZABEZPEČENÍ BEZDRÁTOVÝCH SÍTÍ IEEE

12. Bezpečnost počítačových sítí

VÝVOJ NOVÉHO REGULAČNÍHO ALGORITMU KOTLE VERNER S PODPOROU PROGRAMU MATLAB

REZISTIVNÍ DOTYKOVÉ OBRAZOVKY A VYUŽITÍ V UNIVERZÁLNÍM REGULÁTORU Resistive Touch Screens and Usage in a Universal Controller

Protokoly vrstvy datových spojů LAN Specifikace IEEE 802 pokrývá :

WABOX 201 Příručka pro rychlou instalaci

Determinant. Definice determinantu. Permutace. Permutace, vlastnosti. Definice: Necht A = (a i,j ) R n,n je čtvercová matice.

LC Sweex Wireless LAN PC Card 54 Mbps. Pokud by některá z výše uvedených částí chyběla, obraťte se na svého dodavatele.

Bezdrátové sítě IEEE

Instalace. Připojení zařízení. Jako modelový vzorek výrobku v tomto návodu slouží typ TL-WA701ND. Poznámka

Budování a využívání menších počítačových sítí

Obsah. O autorech 9. Předmluva 13. KAPITOLA 1 Počítačové sítě a Internet 23. Jim Kurose 9 Keith Ross 9

Česká verze. Instalace hardwaru. Instalace ve Windows XP a Vista

WiFi standardy IEEE WLAN. J. Vrzal, verze 0.9

«Õ W ÀX S à ÿ W. à fl fl fi Œ_à C ÿ ÕÃŒ fià fl C ÿ ÕSÃS _ Œ_. Ú Œfl flã Àñ Ù Ú Ú. fl À Ãfl ÕÃŒ Sÿ í CŒÕà S FÕÃfl flàã flã fl fl Œ flã «

Stručný návod k obsluze Instalace ovladače GW-7100U pod Windows 98, ME, 2000 a XP Instalace obslužného programu pod Windows 98, ME, 2000 and XP

Matematika v kryptografii. Doc. Ing. Karel Burda, CSc. FEKT VUT v Brně

Architektura protokolů

Intervalové stromy. Představme si, že máme posloupnost celých čísel p 0, p 1,... p N 1, se kterou budeme. 1. Změna jednoho čísla v posloupnosti.

Inovace bakalářského studijního oboru Aplikovaná chemie

POPIS STANDARDU CEN TC278/WG4. 1 z 5. Oblast: TTI. Zkrácený název: Zprávy přes CN 4. Norma číslo:

neomezují pohyb uživatelů jsou prakticky jediným řešením pro různá přenosná mini zařízení využívají levné přenosové médium

Představíme si funkci fyzické vrstvy. Standardy fyzické vrstvy, způsoby přenosu, způsoby kódování a veličiny popisující přenos dat.

Smart Sensors and Wireless Networks Inteligentní senzory a bezdrátové sítě

Skupina IEEE 802. Institute of Electrical and Electronics Engineers skupina 802: standardy pro lokální sítě. podvrstvy

Stabilita v procesním průmyslu

Při konfiguraci domácího směrovače a bezdrátové sítě se setkáte s obrovským počtem zkratek, jejichž význam je jen málokdy dostatečně vysvětlen.

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ MOBILNÍ KOMUNIKAČNÍ SYSTÉMY S VÍCE ANTÉNAMI FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV RADIOELEKTRONIKY

Síťové prvky seznámení s problematikou. s problematikou

ednáška a telefonní modemy Ing. Bc. Ivan Pravda

Návod k obsluze CC&C WA-6212-V2

Základy bezdrátového přenosu dat pro plzeňský kraj

Fakulta informačních technologií VUT v Brně Ústav počítačových systémů Periferní zařízení, cvičení IPZ Analýza komunikace na sběrnici USB

Transkript:

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS ANALÝZA ŠIFROVACÍCH ALGORITMŮ VE STANDARDU 802.11 DIPLOMOVÁ PRÁCE MASTER'S THESIS AUTOR PRÁCE AUTHOR Bc. JINDŘICH VOJTÍŠEK BRNO 2014

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV TELEKOMUNIKACÍ FACULTY OF ELECTRICAL ENGINEERING AND COMMUNICATION DEPARTMENT OF TELECOMMUNICATIONS ANALÝZA ŠIFROVACÍCH ALGORITMŮ VE STANDARDU 802.11 ANALYSIS OF CRYPTOGRAPHIC ALGORITHMS 802.11 DIPLOMOVÁ PRÁCE MASTER'S THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR Bc. JINDŘICH VOJTÍŠEK Ing. BOHUMIL NOVOTNÝ BRNO 2014

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ Fakulta elektrotechniky a komunikačních technologií Ústav telekomunikací Diplomová práce magisterský navazující studijní obor Telekomunikační a informační technika Student: Bc. Jindřich Vojtíšek ID: 120811 Ročník: 2 Akademický rok: 2013/2014 NÁZEV TÉMATU: Analýza šifrovacích algoritmů ve standardu 802.11 POKYNY PRO VYPRACOVÁNÍ: V rámci diplomové práce vypracujte teoretický rozbor jednotlivých typů zabezpečovacích metod a jejich slabin. Seznamte se s používanými šifrovacími algoritmy ve standardu 802.11, především WPA a WPA2. Vytvořte model klíčování v bezdrátových sítích s důrazem na bezpečnost sítě. Model vytvořte v programu Matlab. Model musí obsahovat grafický výstup průběhu zabezpečení a následného šifrování komunikace v závislosti na modelovaném typu zabezpečení. DOPORUČENÁ LITERATURA: [1] Liu, D. Q., Coslow, M.: Extensible authentication protocols for IEEE standards 802.11 and 802.16. In Proceedings of the International Conference on Mobile Technology, Applications, and Systems, Mobility 08, New York, NY, USA: ACM, 2008, ISBN 978-1-60558-089-0 [2] J. Salowey, L. Dondeti, V.Narayanan and M. Nakhjiri, Specification for the Derivation of Root Keys from an Exted Master Session Key (EMSK), RFC 5295, Internet Eng. Task Force, 2008 Termín zadání: 10.2.2014 Termín odevzdání: 30.5.2014 Vedoucí práce: Ing. Bohumil Novotný Konzultanti diplomové práce: doc. Ing. Jiří Mišurec, CSc. Předseda oborové rady UPOZORNĚNÍ: Autor diplomové práce nesmí při vytváření diplomové práce porušit autorská práva třetích osob, zejména nesmí zasahovat nedovoleným způsobem do cizích autorských práv osobnostních a musí si být plně vědom následků porušení ustanovení 11 a následujících autorského zákona č. 121/2000 Sb., včetně možných trestněprávních důsledků vyplývajících z ustanovení části druhé, hlavy VI. díl 4 Trestního zákoníku č.40/2009 Sb.

ABSTRAKT Tato práce se zabývá standardem 802.11 a hlavně algoritmy pro zabezpečení dat v nich. Je zde proveden rozbor algoritmů WEP, WPA a WPA2, kdy u těchto algoritmů je zde popsáno, jakým způsobem probíhá šifrování pomocí jednotlivých algoritmů. K tomuto účelu je práce doplněna o bloková schémata těchto metod. V praktické části je provedena realizace šifrovacích algoritmů WEP, WPA a WPA2 v prostředí Matlab simulink. Modely jsou doplněny grafickými výstupy pro pochopení, jak se mění data během průchodu tímto systémem. KLÍČOVÁ SLOVA 802.11, AES, CCMP, MIC, RC4, TKIP, WEP, WPA, WPA2 ABSTRACT This work deals with wireless standard 802.11, primaly about security algorithms used in them. Further there is made analysis of algorithms WEP, WPA and WPA2. This algorithms are described how coding by them works and for easier understandig are added block schemes of their principles. In practical part is realized algorithms WEP, WPA and WPA2 in program Matlab simulink. Model is complemented by graphs which shows how data changes when comming throught this systems. KEYWORDS 802.11, AES, CCMP, MIC, RC4, TKIP, WEP, WPA, WPA2 VOJTÍŠEK, Jindřich Analýza šifrovacích algoritmů ve standardu 802.11: diplomová práce. Brno: Vysoké učení technické v Brně, Fakulta elektrotechniky a komunikačních technologií, Ústav telekomunikací, 2013/2014. 89 s. Vedoucí práce byl Ing. Bohumil Novotný,

PROHLÁŠENÍ Prohlašuji, že svou diplomovou práci na téma Analýza šifrovacích algoritmů ve standardu 802.11 jsem vypracoval samostatně pod vedením vedoucího diplomové práce a s použitím odborné literatury a dalších informačních zdrojů, které jsou všechny citovány v práci a uvedeny v seznamu literatury na konci práce. Jako autor uvedené diplomové práce dále prohlašuji, že v souvislosti s vytvořením této diplomové práce jsem neporušil autorská práva třetích osob, zejména jsem nezasáhl nedovoleným způsobem do cizích autorských práv osobnostních a jsem si plně vědom následků porušení ustanovení S 11 a následujících autorského zákona č. 121/2000 Sb., včetně možných trestněprávních důsledků vyplývajících z ustanovení S 152 trestního zákona č. 140/1961 Sb. Brno................................................. (podpis autora)

PODĚKOVÁNÍ Rád bych poděkoval vedoucímu diplomové práce panu Ing. Bohumilu Novotnému za odborné vedení, konzultace, trpělivost a podnětné návrhy k práci. Brno................................................. (podpis autora)

Faculty of Electrical Engineering and Communication Brno University of Technology Purkynova 118, CZ-61200 Brno, Czechia http://www.six.feec.vutbr.cz Výzkum popsaný v této diplomové práci byl realizován v laboratořích podpořených z projektu SIX; registrační číslo CZ.1.05/2.1.00/03.0072, operační program Výzkum a vývoj pro inovace.

OBSAH Úvod 13 1 Standard IEEE 802.11 14 1.1 Struktura bezdrátové sítě......................... 14 1.1.1 Ad-hoc (IBSS).......................... 14 1.1.2 Infrastrukturní síť......................... 14 1.2 Autentizace v IEEE 802.11....................... 16 1.3 Vývoj standardů v rámci IEEE 802.11................. 17 1.3.1 IEEE 802.11............................ 17 1.3.2 IEEE 802.11a........................... 18 1.3.3 IEEE 802.11b........................... 18 1.3.4 IEEE 802.11e........................... 19 1.3.5 IEEE 802.11g........................... 19 1.3.6 IEEE 802.11n........................... 19 1.3.7 IEEE 802.11p........................... 19 1.3.8 IEEE 802.11ac.......................... 19 1.3.9 IEEE 802.11ad.......................... 20 2 WEP (Wired Equivalent Privacy) 21 2.1 Inicializační vektor (IV)......................... 21 2.2 CRC32................................... 21 2.3 RC4.................................... 21 2.3.1 KSA................................ 22 2.3.2 PRGA............................... 22 2.4 Postup šifrování.............................. 23 2.5 Postup dešifrování............................. 23 2.6 Slabá místa WEP............................. 24 2.6.1 Autentizace............................ 24 2.6.2 Řízení přístupu.......................... 25 2.6.3 Neomezená platnost paketu................... 25 2.6.4 CRC32............................... 25 2.6.5 Slabé tajné klíče......................... 25 2.6.6 IV................................. 26 2.6.7 RC4................................ 26

3 WPA 27 3.1 Rozdíly proti WEP............................ 27 3.1.1 TSC (IV)............................. 27 3.1.2 TKIP (Temporal Key Integrity Protocol)............ 27 3.1.3 MIC (Message Integrity Check)................. 27 3.2 Čtyřcestné podání rukou (4-way handshake).............. 28 3.3 Rozlišení klíčů ve WPA a WPA2.................... 28 3.4 PBKDF2.................................. 30 3.5 HMAC................................... 31 3.6 SHA1................................... 31 3.7 TKIP................................... 31 3.7.1 Substituční tabulka S-BOX................... 32 3.7.2 Fáze 1 mixování klíče....................... 32 3.7.3 Fáze 2 mixování klíče....................... 33 3.7.4 MIC................................ 33 3.8 Dešifrování TKIP............................. 33 3.9 Slabá místa WPA............................. 36 3.9.1 Slabé klíče............................. 36 3.9.2 WPS................................ 36 3.9.3 QoS................................ 36 4 WPA2 37 4.1 Šifrování v WPA2............................. 37 4.2 AES.................................... 38 4.3 MIC.................................... 40 4.3.1 CCMnonce............................ 40 4.3.2 AAD................................ 41 4.4 CCM počítadlo.............................. 41 4.5 Slabá místa WPA2............................ 41 4.5.1 Slabé klíče............................. 41 4.5.2 SSID................................ 42 4.5.3 WPS................................ 42 4.5.4 Hole196.............................. 42 5 Tvorba modelů v prostředí Matlab Simulink 43 5.1 Matlab Simulink............................. 43 5.2 WEP.................................... 43 5.2.1 Celkový model.......................... 43 5.2.2 Kodér............................... 45

5.2.3 Dekodér.............................. 45 5.2.4 Blok RC4............................. 45 5.2.5 Grafy pro WEP.......................... 46 5.3 WPA.................................... 47 5.3.1 Celkový model.......................... 47 5.3.2 Blok derivace klíčů........................ 47 5.3.3 WPA kodér............................ 48 5.3.4 TKIP............................... 49 5.3.5 WPA dekodér........................... 49 5.3.6 Grafy pro WPA.......................... 50 5.4 WPA2................................... 53 5.4.1 Celkový model WPA2...................... 53 5.4.2 kodér WPA2........................... 53 5.4.3 Substituční tabulka........................ 54 5.4.4 Keyexpansion........................... 54 5.4.5 AES................................ 54 5.4.6 VektorPNgen........................... 55 5.4.7 MIC................................ 55 5.4.8 Dekodér WPA2.......................... 55 5.4.9 Grafy pro WPA2......................... 56 6 Závěr 58 Literatura 59 Seznam symbolů, veličin a zkratek 61 Seznam příloh 63 A zdrojové kódy pro WEP 64 A.1 Zdrojový kód bloku RC4........................ 64 B WPA 66 B.1 WPA S-Box dle standardu....................... 66 B.2 Zdrojový kód PBKDF2......................... 68 B.3 Zdrojový kód fáze 1 mixování klíče................... 72 B.4 Zdrojový kód fáze 2 mixování klíče................... 76 B.5 Zdrojový kód MIC bloku........................ 80

C WPA2 83 C.1 Zdrojový kód WPA2 S-Box....................... 83 C.2 Zdrojový kód bloku rozšíření klíče................... 85 C.3 Zdrojový kód bloku vektorpngen.................... 86 C.4 Zdrojový kód bloku AES........................ 86 D Obsah přiloženého DVD 89

SEZNAM OBRÁZKŮ 1.1 Ad-hoc struktura bezdrátové sítě.................... 14 1.2 Infrastrukturní bezdrátová síť...................... 15 1.3 Autentizace v otevřeném systému.................... 16 1.4 Autentizace sdíleným klíčem....................... 16 1.5 Autentizace dle 802.1X.......................... 17 1.6 Přehled vývoje standardů v 802.11................... 20 2.1 Princip KSA................................ 22 2.2 Princip PRGA............................... 22 2.3 Postup šifrování dat pomocí WEP.................... 23 2.4 Postup šifrování dat pomocí WEP.................... 24 3.1 Hierarchie klíčů ve WPA......................... 29 3.2 Hierarchie klíčů ve WPA2........................ 29 3.3 Postup šifrování TKIP.......................... 32 3.4 Pseudokód fáze 1 mixování klíče..................... 33 3.5 Pseudokód fáze 2 mixování klíče..................... 34 3.6 Pseudokód generování MIC....................... 35 3.7 Postup dešifrování TKIP......................... 35 4.1 Diagram šifrování ve WPA2....................... 37 4.2 Diagram šifrování AES.......................... 38 4.3 Diagram vytvoření MIC......................... 40 4.4 Struktura CCMnonce........................... 40 4.5 Diagram šifrování dat za použití počitadla............... 42 5.1 Celkový model WEP........................... 44 5.2 Model WEP kodéru............................ 44 5.3 Model WEP dekodéru.......................... 45 5.4 Porovnání průběhů po jednotlivých operacích. První graf zachycuje data+crc32, druhý proudovou šifru vytvořenou na výstupu bloku RC4, třetí ukazuje výstupní data po provedení XOR operace..... 46 5.5 Porovnání vstupních dat do kodéru a výstupních dat z dekodéru... 46 5.6 Celkový model WPA........................... 47 5.7 Blok derivace klíčů............................ 48 5.8 Blok WPA kodér............................. 48 5.9 Blok TKIP................................ 49 5.10 Blok WPA dekodér............................ 50 5.11 Graf výstupů fáze 1 a 2 mixováni klíče................. 50

5.12 Graf zobrazení výstupů, v prvním jsou vstupní data opatřená MIC a CRC32, v druhém proudový klíč a v třetím výstup WPA kodéru bez TSC a MAC hlavicky........................... 51 5.13 Graf zobrazení derivace klíčů, v prvním je původní klíč PSK, v druhém hashováním odvozený PMK a v třetím PTK odvozený hashováním PMK................................ 51 5.14 Výstup MIC bloku............................ 52 5.15 Porovnání vstupních dat před šifrováním a výstupních dat po dešifrování 52 5.16 Celkový model WPA2.......................... 53 5.17 Kodér WPA2............................... 54 5.18 Blok MIC ve WPA2........................... 55 5.19 Dekodér WPA2.............................. 56 5.20 Graf zobrazující vypočítané MIC v kodéru s dekodéru......... 56 5.21 Porovnání nešifrovaných dat s MIC a šifrovaných dat s MIC..... 57 5.22 Celkový rámec se zašifrovanými daty.................. 57 5.23 Porovnání vstupních nešifrovaných dat s výstupními dešifrovanými daty 57

ÚVOD Standard 802.11, známý také jako Wi-Fi, se díky svým vlastnostem, jako jsou nepotřeba kabeláže, mobilita, využití nelicencovaných pásem a cena, stal velice populárním. Z principů šíření radiového signálu vyplývá, že tuto komunikaci lze snadno odposlouchávat, což je problém v situaci, kdy je potřeba přenášet citlivé informace. Dále zde může nastat problém s neoprávěným využíváním nechráněné sítě nebo může dojít i ke krádeži identity. Proto byly vytvořeny šifrovací algoritmy WEP, WPA a WPA2, které mají za cíl tyto informace chránit a mají zabránit lidem ve zneužívání přístupu do sítě, do které nemají povolený přístup. Tato práce má za cíl seznámit s principy, které jsou použity v jednotlivých šifrovacích algoritmech. Principy jednotlivých typů zabezpečení budou vysvětleny v teoretické části. Toto bude doplněno o vhodné obrázky pro jednodušší pochopení průběhu zabezpečení. Pro pochopení funkce některých bloků budou doplněny i pseudokódy, které ukazují principy fungování jednotlivých bloků a poskytují snadnější orientaci v operacích prováděných uvnitř bloků. Bude proveden rozbor slabých míst jednotlivých algoritmů s popisem problému a jak je možné tuto chybu zneužít. V praktickém řešení budou realizovány jednotlivé šifrovací algoritmy. Zvolené prostředí pro tvorbu těchto modelů je Matlab simulink. Jelikož zvolený program Matlab umožňuje vytvářet funkční blokové modely s praktickými grafickými výstupy, je možné snadněji ukázat principy šifrovacích algoritmů a napomoci tak jejich pochopení. Realizace bude obsahovat zdrojové kódy bloků, které bude nutné pro potřeby modelování jednotlivých algoritmů vytvořit. 13

1 STANDARD IEEE 802.11 U pevných sítí platí, že adresa reprezentuje umístění stanice, naopak u bezdrátových sítí je tato adresa nezávislá na přesné poloze stanice v rámci sítě, tedy není známa přesná poloha stanice. Z tohoto nám vyplývá, že v rámci komunikace v bezdrátové síti mezi dvěmi zařízeními je nutné signál vysílat v rámci celého okolního prostředí. To v praxi znamená, že tuto komunikaci může zachytit kterákoliv stanice v rámci okolí, i když jí data nejsou určena, protože v rádiovém prostředí se signál šíří všesměrově. Proto je bezdrátová komunikace označována jako přenos po sdíleném médiu. IEEE 802.11 vyžaduje, aby se bezdrátová sít jevila vyšším vrstvám jako sít LAN. Tohoto je dosaženo tím, že vrstvy pod vrstvou MAC musí implementovat algoritmy pro bezdrátové sítě, například řešení mobility stanice. Podrobnějši informace k Wi-Fi na [13], [16] a [18]. 1.1 Struktura bezdrátové sítě 1.1.1 Ad-hoc (IBSS) V této síti je několik stanic, které mohou libovolně mezi sebou komunikovat přímo. Z tohoto vyplývá, že se zde netvoří žádná hierarchická struktura. Pro některé případy v praxi je toto řešení vhodné, ale ve většině připadů se nepoužívá. Obr. 1.1: Ad-hoc struktura bezdrátové sítě 1.1.2 Infrastrukturní síť Jedná se o nejobvyklejší řešení bezdrátových sítí v praxi. Základní částí je takzvaný BSS (Basic Service Set), což je oblast, kde se kromě vlastních stanic vyskytuje i pří- 14

stupový bod (dále AP). Narozdíl od stanic má AP schopnost komunikovat s jinými typy sítí, například LAN. K tomu, abychom byli schopni rozeznat jednotlivé AP, je zde zaveden parametr BSSID (Basic Service Set Identifier), který je unikátní pro každý přístupový bod. BSSID má stejnou strukturu jako MAC adresa v pevných sítích a je tedy součástí MAC hlavičky při komunikaci mezi AP a stanicí. V této síti už nemohou stanice komunikovat přímo mezi sebou, ale musí směrovat svou komunikaci přes AP. Kromě BSSID je používáno jestě SSID (Service Set Identifier) o délce 0 až 32 bajtů. SSID poskytuje textové označení sítě, tak aby bylo jméno sítě čitelné pro člověka. Obr. 1.2: Infrastrukturní bezdrátová síť 15

1.2 Autentizace v IEEE 802.11 Otevřená autentizace, kdy AP přijme každé zařízení bez ověření jejich identity. Obr. 1.3: Autentizace v otevřeném systému Autentizace sdíleným klíčem, kdy AP přijme každé zařízení, které zná tajný klíč. Tato autentizace probíhá v několika krocích. Nejprve stanice vyšle požadavek pro připojení do sítě na AP, kdy v reakci na tento požadavek AP odešle stanici odpověd obsahující text, který AP vyžaduje zašifrovat pro ověření identity stanice. Stanice provede podle svého klíče šifrování textu a odešle zpět k AP. AP dešifruje text z paketu a dle výsledku rozhodne o stanici, jestli má právo se připojit do sítě a rozhodnutí odešle zpět ke stanici. Obr. 1.4: Autentizace sdíleným klíčem 16

802.1X, poskytuje nejsilnější zabezpečení za cenu dalšího zařízení v síti, autentizačního serveru. Nejčastější řešení využívá protokol EAP a RADIUS autentizační server. Aby stanice mohla být registrovaná, musí poslat na AP uživatelské jméno a heslo nebo digitální certifikát. AP tyto informace přepošle do RADIUS serveru, který ověří, jestli tento záznam má ve svých tabulkách a rozhodne, jestli má uživatel právo se připojit. Toto řešení je nejčastěji používané ve velkých bezdrátových sítích v kombinaci s WPA nebo WPA2 šifrováním. Pro WPA a WPA2 platí, že ve fázi povolení přístupu se provede odvození klíčů pro vlastní WPA šifrování. Detailní informace k různým druhům zabezpečení jsou k dispozici na [2]. Obr. 1.5: Autentizace dle 802.1X 1.3 Vývoj standardů v rámci IEEE 802.11 1.3.1 IEEE 802.11 Jedná se o první standard vydaný v roce 1997 společností Wi-Fi Alliance. Využívá modulaci DSSS a FHSS a pracuje v nelicencovaném frekvenčním pásmu 2,4 GHz, maximální rychlost je 2 Mb/s. Jelikož nebyly standardizovány jednotlivé kanály, docházelo k nekompatibilitě zařízení mezi různými výrobci. DSSS( přímé rozprostírání signálu) Datový tok je pomocí XOR sloučen s pseudonáhodnou posloupností získanou dle Barkerovy sekvence a následně zakódován pomocí BPSK či QPSK. 17

FHSS (frekvenční přeskoky) Je metoda sloužící k rychlému přepínání mezi jednotlivými kanály, k tomu se využívá pseudonáhodné posloupnosti, která je známá vysílači i přijímači. Toto nám umožňuje sdílet frekvenční pásmo s dalšími typy přenosů s minimálními interferencemi. 1.3.2 IEEE 802.11a Tento standard vyšel v roce 1999. Oproti původnímu standardu se zde změnilo frekvenční pásmo do nelicencovaného pásma na 5 GHz a původní modulace DSSS byla nahrazena OFDM. Podporované rychlosti tohoto standardu jsou 6, 12, 24, 36, 48 a 52 Mb/s. OFDM OFDM znamená v češtině ortogonální multiplex s kmitočtovým dělením. Každý z původních 12 kanálů je rozdělen na 52 subkanálů (48 datových a 4 pilotních) a každý z nich je klíčován vícestavovými modulacemi BPSK, QPSK, 16-QAM nebo 64-QAM. Ortogonalita pak zajišťuje, že subnosné jsou k sobě vzájemně ortogonální a tedy jejich skalární součin je roven nule. Výhodou OFDM je odolnost proti rušení mnohacestného šíření signálu, proti interferenci mezi symboly a interferenci mezi nosnými frekvencemi. 1.3.3 IEEE 802.11b Tento vyšel ve stejnou dobu jako IEEE 802.11a a jedná se o vylepšení standardu IEEE 802.11. Kromě modulace DSSS přidává jestě CKK. Došlo k standardizaci přenosových kanálů na 13 kanálů rozložených na frekvencích od 2,412 GHz do 2,472 GHz a k navýšení rychlosti na 11 Mb/s. CKK (doplňkové kódové klíčování) Jedná se o skupinu 64 kódových slov o délce 8 bitů. Kódová slova mají unikátní matematickou vlastnost, která umožňuje tyto kódy rozeznat i při zarušení signálu. V rámci Wi-Fi to znamená že na začátek rámce se místo 1 bitu nyní dává bitová sekvence o 8 b, která se využije k rozprostření signálu. Tento kód poskytuje dobrou odolnost proti rušení z mnohacestného šíření signálu. 18

1.3.4 IEEE 802.11e V roce 2005 došlo k důležité úpravě a to zavedení kvality služeb (QoS) a prioritizace. To umožnilo, aby ve Wi-Fi síti bylo efektivně možné požívat služby závislé na zpoždění, například přenos hlasu. 1.3.5 IEEE 802.11g V roce 2003 vyšel tento standard, který měl za cíl zvýšit propustnost bezdrátové sítě, výsledkem bylo navýšení přenosové rychlosti až na 54 Mb/s. Toho se dosahuje kombinováním vlastností ze standardů IEEE 802.11a a IEEE 802.11b. Používá frekvenční pásmo na 2,4 GHz, ale jako modulace se používá DSSS a OFDM. Pro rychlosti do 11 Mb/s se používá DSSS a pro vyšší se pak přejde k použití OFDM. Výhodou tohoto standardu je i to, že je kompaktibilní s IEEE 802.11b avšak pouze do rychlosti 11 Mb/s. Proto v praxi bývá tento standard označován často jako IEEE 802.11b/g. 1.3.6 IEEE 802.11n Tento standard, který vznikl v roce 2009, zavádí pro zvýšení přenosové rychlosti takzvanou metodu vícenásobného vstupu a výstupu (MIMO). MIMO funguje tak, že se datový tok rozdělí na několik menších, v tomto případě 4, které jsou pak vyslány každý přes samostatnou anténu. Na přijímací straně je potom stejný počet antén, aby bylo možno data přijmout. Díky tomu může zůstat zachována původní šířka pásma. Tento standard operuje ve frekvenčních pásmech 2,4 i 5 GHz a podporuje jak DSSS tak OFDM, což mu umožňuje zpětnou kompatibilitu se standardy 802.11 a, b, g. Maximální rychlost se pohybuje okolo 600 Mb/s. 1.3.7 IEEE 802.11p Tento standard byl definován pro použití v pohybujících se vozidlech ke komunikaci s infrastrukturou okolo. Použité frekvenční pásmo je 5,9 GHz a maximální přenosová rychost 27 Mb/s. 1.3.8 IEEE 802.11ac Tento standard vyšel v roce 2013 a jedná se o rozšíření IEEE 802.11n. MIMO nyní podporuje rozdělení datového toku až na 8 dílčích. Signál je modulován hustší amplitudovou modulací 256-QAM (4x více než u verze n) a šířka pásma byla navýšena na 80 MHz (160 MHz). Teoretická maximální rychlost je 6,93 Gb/s. 19

1.3.9 IEEE 802.11ad Tento standard byl uveden na trh v roce 2014. Místo frekvenčních pásem 2,4 a 5 GHz je zde využito pásmo na 60 GHz. Maximalní přenosová rychlost v pásmu 60 GHz je teoreticky 7 Gb/s, ale díky vysokému kmitočtu dochází ke snížení maximálního dosahu signálu na max 10 m (předchozí standardy mají přibližný dosah 30-50 m). V ýpočet vlnové délky pro 60 GHz pásmo λ vlnová délka v rychlost šíření světla ve vakuu (300000 Km/s) f frekvence λ = v f = 300000000 60000000000 = 0, 005 m Obr. 1.6: Přehled vývoje standardů v 802.11 20

2 WEP (WIRED EQUIVALENT PRIVACY) Tento šifrovací algoritmus byl poprvé představen již v roce 1997 jako součást prvního standardu IEEE 802.11. Cílem bylo poskytnout přenosu dat stejnou bezpečnost, jako je v sítích ethernet. K ochraně dat využívá symetrickou proudovou šifru RC4. Vlastní šifrovací klíč se skládá z tajného klíče, který má délku 40 b nebo 104 b (5 nebo 13 znaků z abecedy ACSII), a inicializačního vektoru (dále IV) o délce 24 b. WEP jako takový nebyl navržen odborníky z oblasti kryptografie, což se následně projevilo množstvím slabých míst v rámci algoritmu. Informace k různým druhům zabezpečení Wi-Fi jsou na [4],[7] a [14]. 2.1 Inicializační vektor (IV) IV je blok bitů nutný pro kodér, aby bylo možné generovat unikátní toky šifrovacího textu při využití jednoho šifrovacího klíče. Z tohoto vyplývá, že IV musí znát i protistrana, jinak není možné v přijímači tuto zprávu dekódovat. Předání IV je možné realizovat několika způsoby: Dohodnutím se obou stran během výměny klíčů nebo při navázáni spojení ( Handshake ). Přiložením IV k zašifrovanému textu. Výpočtem z různých parametrů, jako jsou časový údaj, adresy vysílače a přijímače, čísla paketu, atd. V rámci WEP bylo použito metody přiložení IV ke zprávě. Navíc se použilo příliš krátkého IV (24 b), což vedlo k opakovanému použití stejných IV (Uvádí se 7 až 8 hodin k spořebování všech IV) a tedy k možnému riziku prolomení zabezpečení. 2.2 CRC32 Jedná se o kód na detekci náhodných chyb ve zprávě. Přidává k původní zprávě nadbytečnost o délce 32 b, která je vypočtena pomocí bitového dělení. Z hlediska šifrování je tento algoritmus nevhodný, protože díky tomu, že je lineární, je snadné pozměnit chráněná data. 2.3 RC4 RC4 je proudová šifra s variabilní délkou šifrovacího klíče. Díky své rychlosti a jednoduchosti se tato šifra stala volbou pro ochranu přenosů v sítích. RC4 je například 21

použita v SSL, WEP a u WPA jako součást TKIP. Tato šifra v sobě implementuje kombinaci dvou šifrovacích algoritmů, pseudonáhodného generátoru (PRGA) a algoritmu rozvrhnutí klíče (KSA). 2.3.1 KSA Obr. 2.1: Princip KSA Nejdříve se vytvoří vektor S, který se postupně naplní čísly 0 až 255. Následně dojde k promíchání těchto čísel dle šifrovacího klíče. Získáme tedy vektor s čísly 0 až 255 pseudonáhodně proházenými. 2.3.2 PRGA Obr. 2.2: Princip PRGA Dle délky datového rámce v bajtech se provede tolik cyklů, aby výstupní keystream byl stejné délky. V každém cyklu se provede prohození čísel ve vektoru S a zapíše se do keystreamu jeden bajt z vektoru S. Toto se provádí, dokud délka keystreamu není stejná s délkou datového rámce. 22

2.4 Postup šifrování Obr. 2.3: Postup šifrování dat pomocí WEP 1. Vstupní rámec dat je pomocí CRC32 zabezpečen a výsledek CRC32 je přidán na konec datového rámce. 2. V bloku RC4 se sloučí tajný klíč s IV do 64 b (128 b) šifrovacího klíče a následně se tento klíč použije pro provedení permutací k vytvoření pseudonáhodné posloupnosti (keystream) na výstupu tohoto bloku. Tato posloupnost se ještě přizpůsobí, aby délka byla stejná s délkou vstupních dat s CRC32 a tedy bylo možné provést další operaci. 3. Keystream a vstupní data s CRC32 se sečtou za pomocí XOR operace. 4. Pro dokončení WEP rámce je ještě nutné připojit k rámci IV, čímž na výstupu dostáváme konečný tvar rámce. 2.5 Postup dešifrování 1. Ze vstupního rámce dat je oddělen IV. 2. IV a tajný klíč vytvoří v RC4 šifrovací klíč, který se použije pro vytvoření keystreamu. 3. Keystream a vstupní data bez IV se sečtou za pomocí XOR operace, na výstupu je dešifrovaný rámec dat s ICV. 4. Z rámce se oddělí ICV. 23

Obr. 2.4: Postup šifrování dat pomocí WEP 5. Nad datovým rámcem se provede CRC32 a výsledek ICV* se porovná s ICV. Pokud jsou stejné, datový rámec je vyhodnocen jako v pořádku, pokud nejsou, signalizuje se chyba vyšší vrstvě. 2.6 Slabá místa WEP 2.6.1 Autentizace Tato chyba se vyskytuje ve WEP, pokud používáme autentizaci sdíleným klíčem. Důvodem je, že text odeslaný ke stanici od AP, který je vyžadován zašifrovat, se posílá nešifrovaně. Pokud tedy útočník zachytí tuto úvodní komunikaci i s odpovědí na ni ze stanice, získává tak všechny potřebné informace k získání keystreamu. Platí totiž, že šifrovaná data jsou výsledkem XOR operace mezi keystreamem a nešifrovanými daty a pro operaci XOR platí, pokud použijeme XOR mezi šifrovanými a nešifrovanými daty, získáme keystream. V tomto okamžiku zná útočník keystream a i bez znalosti vlastního tajného klíče může posílat do sítě vlastní pakety. Označíme keystream jako K, nešifrovaný text od AP jako P a zašifrovaný text odeslaný zpět stanicí jako C. P latí : P K = C Z tohoto lze odvodit : C P = (P K) P = (P P ) K = K XOR operace 24

2.6.2 Řízení přístupu Kromě jednoduchého řízení přístupu pomoci sdíleneho klíče není tato funkce součástí WEP. Někteří výrobci přidali filtrování MAC adres, aby omezili počet povolených zařízení v síti. I toto řešení je relativně snadné obejít, protože hlavička paketu s MAC adresou se posílá nešifrovaně. Útočníkovi tedy stačí odposlechnout jediný paket, aby získal MAC adresu povoleného zařízení a následně změnil svoji MAC adresu na tuto získanou. 2.6.3 Neomezená platnost paketu V systému WEP se toto neřeší a proto je platnost paketu neomezená. V praxi to znamená, že útočníkem odchycená i starší data mohou být použita jako ta aktuální a pak je možné je použít k útoku na systém. V bezpečných systémech se používá počitadel nebo posuvného okénka, aby se zabránilo těmto útokům. 2.6.4 CRC32 Tento algoritmus není vhodný k použití pro šifrování, protože jeho primární použití je detekce nahodilých chyb vzniklých při přenosu dat. Poskytuje tedy jen jednoduchý algoritmus za tímto účelem, který je lehce spočitatelný, což útočníkovi umožňuje snadno upravit paket a následně změnit i výsledek CRC32. Díky tomu je pro útočníka snadné měnit obsah paketu. 2.6.5 Slabé tajné klíče Pro některé klíče je snadnější odvodit jejich vazbu na zašifrovaný text. U 40 b tajného klíče se odhaduje okolo 9000 slabých kombinací znaků. Navíc 40 b klíč je relativně krátký a tedy pro moderní počítače není obtížné ho prolomit pomocí brute force útoku, tento problém je možné vyřešit použitím 104 b klíče. V současnosti ale existují i sofistikovanější metody, které mění exponenciální závislost času potřebného na prolomení klíče na lineární. 40 b klíč : 2 40 = 1, 1 * 10 12 kombinací 104 b klíč : 2 104 = 2 * 10 30 kombinací 25

2.6.6 IV Díky nevhodné implementaci IV, kdy IV je posíláno nešifrovaně jako součást zašifrovaného paketu, může útočník okamžitě po odchycení paketu získat IV a tedy mít k dispozici 24 b z šifrovacího klíče. Další nevýhodou IV je jeho délka, protože 24 b je pro použití šifry RC4 příliš krátké. V praxi to znamená, že po relativně krátké době (7 až 8 hodin) se začnou vyskytovat pakety se stejným IV. Pokud útočník získal dva pakety se stejným IV, je možné pomocí operace XOR získat šifrovací sekvenci a to může vést k prozrazení obsahu zprávy. 2.6.7 RC4 V RC4 dochází k problému s vygenerovaným keystreamem. Tento nedostatek souvisí s odesíláním nešifrovaného IV u každé zprávy a výsledkem je, že útočník může předvídat následující bajt keystreamu. Kromě této slabiny se vyskytuje jestě slabé místo v generování keystreamu ze slabých klíčů, kde platí, že slabý klíč generuje slabý keystream. Pro tento problém existuje řešení v podobě odstranění určitého počtu úvodních bajtů z posloupnosti. 26

3 WPA U šifrování pomocí WEP se ukázalo, že obsahuje mnoho slabých míst, která je možné zneužít. Proto bylo v roce 2003 představeno nové řešení WPA (Wireless Protected Access). Původní řešení WPA bylo navrhnuto tak, aby bylo možné ho použít na všech zařízeních, která podporují WEP, pouze s úpravami v softwarové části. Bylo čerpáno těchto zdrojů [1], [4], [6], [7] a [14]. 3.1 Rozdíly proti WEP WEP kodér je rozšířen na TKIP, kdy WEP část zůstává stejná, ale přidaly se algoritmy řešící problémy WEP. Došlo k nahrazení nevyhovujícího CRC32 novým algoritmem s názvem MIC (Message Integrity Check), který je generován pomocí kryptografického algoritmu Michael. Přidání počítadla TSC (TKIP Sequence Counter) řeší problém neomezené platnosti v WEP. TSC je prodloužené IV z WEP. Zavedením odvozování klíče pro každý paket se odstranil problém s přímým použitím šifrovacího klíče a použitím slabých klíčů. IV bylo prodlouženo na 48 bitů. 3.1.1 TSC (IV) Došlo k prodloužení délky TSC na dvojnásobek z 24 b WEP na 48 b. Nyní se již TSC nepřipojuje přímo k šifrovacímu klíči, ale používají se algoritmy, kde TSC slouží k odvozování šifrovacího klíče. TSC vždy začíná od hodnoty 0 a každý rámec tuto hodnotu inkrementuje o 1. TSC je vloženo do WPA rámce v nešifrované podobě. Na přijímací straně je zavedena kontrola přijatého TSC proti hodnotě v paměti přijímače. Pokud TSC hodnota přijatého rámce je nižší než hodnota v paměti přijímače, rámec je zahozen. 3.1.2 TKIP (Temporal Key Integrity Protocol) Tento algoritmus byl zaveden z důvodu ochrany tajného klíče. Místo přímého použití tajného klíče se provede odvození paketového klíče z tajného klíče, TSC a MAC adresy vysílače. Paketový klíč se počítá pro každý rámec samostatně a tedy každý paketový klíč je jiný než předchozí. 3.1.3 MIC (Message Integrity Check) Toto řešení bylo implementováno jako náhrada za CRC32 pro zlepšení ochrany před falšování rámců. MIC se počítá z algoritmu Michael, který poskytuje lepší zabezpečení než původní CRC32. Výpočet se skládá z pravé a levé rotace, sčítání modulo 2 32 27

a XOR operací. Data, nad kterými se počítá MIC, jsou cílová a zdrojová adresa a vlastní data. 3.2 Čtyřcestné podání rukou (4-way handshake) Tato metoda je modifikovanou metodou autentizace sdíleným klíčem, která odstraňuje možnost snadného odhalení klíče, jak tomu bylo u WEP. Toto řešení autentizace stanice a přístupového bodu se používá u WPA a WPA2. Autentizace touto metodou funguje takto: 1. Stanice posílá žádost o připojení do sítě. Po přijetí této zprávy v AP se vytvoří ANonce, což je náhodné číslo, kterým AP započne vlastní autentizaci. 2. Po přijetí ANonce si stanice vytvoří také náhodné číslo SNonce. Tyto čísla se pak použijí k výpočtu párového přenosového klíče z tajného primárního klíče (PMK). SNonce je pak odesláno k AP s podpisem od PMK, ale samo jím není šifrováno. 3. AP přijme SNonce od stanice a protože zná primární klíč a má původní ANonce, může vypočítat přenosový klíč. Následně AP ověří integritu podpisu na SNonce paketu a tím zjistí, jestli stanice zná správný klíč. Pokud je vše v pořádku, odešle povolení ke stanici, které je podepsané přenosovým klíčem. 4. Stanice přijme toto povolení a ověří integritu podpisu. Když je vše v pořádku, tak stanice ví, že i AP má správný klíč. Výhodou využití této metody je, že nepoužíváme přímo tajný klíč a tím se snižuje nebezpečí jeho vyzrazení. Podpis při výměně nonce zpráv je generován pomocí PBKDF2 hashovacího algoritmu, kdy nonce se pomocí něho zašifruje a PMK slouží jako heslo. 3.3 Rozlišení klíčů ve WPA a WPA2 1. Předsdílený klíč (PSK) - Tajný klíč umístěný ve stanici a AP. 2. Párový primární klíč (PMK) - Klíč derivovaný z PSK nebo z klíče zaslaného pomocí EAP protokolu. 3. Párový přenosový klíč (PTK) - Odvozený klíč z hlavního klíče, ANonce a SNonce, který se vytvoří ve stanici a AP při úspěšném dokončení autentizace. Tento klíč slouží k šifrováni jednotlivých paketů. 4. Dočasný klíč (TK) - 128 b klíč, jež je částí PTK. 5. Skupinový dočasný klíč (GTK) - Tento klíč je používán k adresaci všech prvků v rámci sítě. 28

6. MIC klíč - Klíč určený k použití v MIC, jedná se o dva klíče o délce 64b, kdy první je určen pro komunikaci z AP na stanici a druhý v obráceném směru. U WPA2 tento klíč neexistuje, protože je stejný s TK. Obr. 3.1: Hierarchie klíčů ve WPA Obr. 3.2: Hierarchie klíčů ve WPA2 29

3.4 PBKDF2 Jedná se pseudonáhodnou funkci používanou ve WPA a WPA2 zabezpečení, kde slouží k autentizaci prvků bezdrátové sítě a k hashování šifrovacích klíčů. Vnitřní funkce použitá k hashování klíčů je HMAC-SHA1. Oproti předchozí funkci PBKDF1 došlo k vylepšení, které umožňuje si zvolit délku výstupního klíče. Informace byly čerpány z [11]. Výpočet PBKDF2 je následující: DK = PBKDF2 (text, salt, c, dklen) DK - výstupní hashovaný text text - vstupní data, která mají být zašifrována salt - klíč použitý k šifrování textu c - číslo definující počet iteračních cyklů dklen - délka výstupního hashovaného textu definovaná v bajtech n = CEIL(dkLen/hLen) definuje počet cyklů pro zadanou délku výstupu zaokrouhluje se na nejbližší vyšši integer T1 = F (text, salt, c, 1) T2 = F (text, salt, c, 2)... Tn = F (text, salt, c, n) T1 až Tn jsou segmenty DK kdy F(text, salt, c, n) = U1 xor U2... xor Uc U1 až Uc jsou počítány dle HMAC-SHA1, i je hodnota cylku tedy od 1 do n, tato hodnota se připojuje k salt. U1 = HMAC-SHA1(text, salt INT_32(i)) U2 = HMAC-SHA1(text, U1)... Uc = HMAC-SHA1(text, U(c-1)) výstup je vytvořen spojením všech T1 až Tn DK = (T1 T2... Tn) 30

3.5 HMAC Tento algoritmus je určen ke generování autentizačního kódu zprávy za použití hashovací funkce. V případě WPA a WPA2 se jedná o SHA1. HMAC je definováno v [12]. Postup pro generování HMAC je následující: 1. Provede se doplnění klíče K o nuly do délky bloku, v případě WPA, WPA2 je délka tohoto bloku 64 B. 2. Opad, vnější padding, s hodnotou 0x5c a Ipad, vnitřní padding, s hodnotou 0x36 hexadecimálně se zopakují tolikrát, aby jejich nová délka odpovídala délce bloku. 3. Vytvoříme nové vektory Opad a Ipad provedením XOR operace původních Ipad a Opad s klíčem K. 4. Připojíme vstupní blok textu k Ipad a zavoláme SHA1 funkci. 5. Výsledek SHA1 se připojí k Opad a provedeme opět SHA1 funkci. 6. Hodnota vrácená SHA1 se poté pošle na výstup. Postup uvedený výše lze složit do tohoto zápisu: výstup = SHA1(K XOR Opad SHA1(K XOR Ipad text)) 3.6 SHA1 SHA1 patří mezi světově nejrozšířenější hashovací algoritmy. Tento algoritmus je schopen kromě hashovaní zpráv zajistit i jejich datovou integritu. SHA1 je popsána ve standardu [5], kde je dispozici i pseudokód realizace. Každá hashovací funkce, která má jít do veřejného použití, musí být zkontrolována proti testovacím vektorům, které definoval národní institut standardů a technologie v USA. Pro Českou republiku tyto normy přebírá a upravuje Úřad pro technickou normalizaci, metrologii a státní zkušebnictví. V současnosti existuje více než 2000 ověřených implementací. 3.7 TKIP Klíč je vypočítán z tajného klíče a SSID pomocí pseudonáhodné funkce PBKDF2. Nejprve je nutné z cílové a zdrojové MAC adresy, klíče a dat vypočítat MIC, které připojí k datovému rámci. Rámec dat s MIC je zabezpečen proti chybám pomocí CRC32. Z horních 32 b IV, klíče a MAC adresy vysílače se pomocí fáze 1 mixování klíče vytvoří nový 80 b klíč. Tento klíč se sloučí se spodními 16 b IV a provede se fáze 2 mixování klíče. Výsledkem je 128 b WEP klíč, tímto klíčem se pak zašifruje 31

Obr. 3.3: Postup šifrování TKIP pomocí původního WEP kodéru rámec dat s MIC a ICV. Postup šifrování v TKIP je možné vidět na obr. 3.3. 3.7.1 Substituční tabulka S-BOX Substituční tabulka slouží k provádění substitucí pro obě fáze mixování klíče. Pro snadnější použití a zrychlení operací bývá umístěna v paměti zařízení. Protože celá tabulka je definována jako matice 256x256 16 bitových prvků, v praxi se používají 2 tabulky o celkové délce 512 8 b prvků. Vyhledávání v této tabulce probíhá nejprve rozdělením hledaného slova na horní a spodní bajt, kdy první bajt slouží k indexování v první tabulce a druhý v druhé. Následným spojením bajtů získaných ze substitučních tabulek dostaneme 16 b hodnotu pro použití v dalších operacích. Substituční tabulky dle standardu jsou v příloze B.1. 3.7.2 Fáze 1 mixování klíče V této fázi se použije 128 b klíč, MAC adresa vysílače a horních 32 b TSC, ze kterých se vytvoří 80 b klíč pro další fázi mixování klíče. Tento klíč se skládá z bloků P1K0, P1K1, P1K2, P1K3, P1K4, kdy každý z nich je dlouhý 16 b. V této fázi se používá pouze sčítání, XOR operací a spojování dvou 1 B slov do 2 B slov. Pseudokód postupu mixování je na obr. 3.4. 32

Obr. 3.4: Pseudokód fáze 1 mixování klíče 3.7.3 Fáze 2 mixování klíče Z 80 b klíče z předchozí fáze a spodních 16 b TSC se vytvoří paketový klíč o délce 128 b pro RC4 blok. Postup je uveden na obr. 3.5. 3.7.4 MIC Vstupní data se se musí nejprve upravit do vhodného tvaru, než je možné použít vlastní MIC operace. V prvním kroku se k datům na konec připojí bajt s hodnotou 0x5A. Následně je k datům připojeno tolik nulových bajtů, aby data byla dělitelná 4 v bajtech. Minimální počet připojených nulových bajtů jsou 4. Tyto přidané bajty jsou přidány pouze pro výpočet MIC a přes linku se nevysílají. Takto upravená data jsou připravena ke zpracování MIC algoritmem. Výsledkem MIC výpočtu jsou dvě 32 b hodnoty V0 a V1, které dohromady dávají 64 b MIC pro rámec před šifrováním. Pseudokód pro MIC blok je na obr. 3.6. 3.8 Dešifrování TKIP Od přijatého rámce se oddělí TSC (IV) a ověří se, jestli TSC přijatého rámce má vyšší hodnotu než TSC v paměti příjemce. Následně se vytvoří pomocí TKIP WEP klíč pro WEP dekodér, kdy postup je stejný jako při šifrování. WEP dekodér nyní 33

Obr. 3.5: Pseudokód fáze 2 mixování klíče 34

Obr. 3.6: Pseudokód generování MIC Obr. 3.7: Postup dešifrování TKIP 35

již s klíčem dešifruje přijatá data. Nakonec se ověří správnost CRC32 a MIC v dešifrovaném rámci. Postup je ukázán na obr. 3.7. 3.9 Slabá místa WPA 3.9.1 Slabé klíče Stejně jako u WEP platí, že zvolením slabého tajného klíče zjednodušujeme útočníkovi práci s prolomením hesla. Délka hesla je 8 až 63 ASCII znaků a za bezpečné se považuje heslo o délce nad 20 znaků. 3.9.2 WPS WPS (Wi-Fi protected setup) bylo vytvořeno pro zjednodušení konfigurace nových prvků ve Wi-Fi sítích, ale ukázalo se jako velké bezpečnostní riziko. WPS je sestaveno z 8 dekadických číslic, které bylo možné pomocí bruteforce útoků do několika hodin dešifrovat. Toto útočníkovi umožní nejenom připojit se do sítě, ale také získat WPA či WPA2 klíč. 3.9.3 QoS Díky použití QoS došlo k možnosti, že stejný keystream je možné opakovaně použít v různých frontách, protože každá fronta má vlastní sekvenční počítadlo. Tohoto je možné použít u krátkých paketů, jako jsou ARP, kde je možné z tohoto paketu dešifrovat MIC a následně provést injektáž vlastního paketu. Tento útok se nazývá Beck and Tews. Jelikož tato injektáž funguje pouze s krátkými pakety, jako jsou ARP, závisí na použití QoS a šifrovací klíč stále zůstává tajný, nejedná se o zásadní bezpečnostní riziko. 36

4 WPA2 Jedná se o vylepšení WPA, které nahrazuje původní TKIP využívající RC4 novým řešením, jež se nazývá pokročilý šifrovací standard (AES). WPA2 bylo uveřejněno v roce 2004 a do současnosti nebyla nalezena žádná zásadní chyba, která by vedla k zásadnímu bezpečnostnímu riziku. Oproti WPA je zde snaha redukovat data přidaná šifrovacími algoritmy, proto má oproti WPA vyšší propustnost užitečných dat. Díky velké složitosti WPA2 vyžaduje pro provedení vyšší výpočetní výkon než předchůdci. Bylo čerpáno těchto zdrojů [1], [8], [9], [10] 4.1 Šifrování v WPA2 Obr. 4.1: Diagram šifrování ve WPA2 V prvním kroku se zvýší číslo paketu a přes MAC hlavičku se provede AAD rozšířená autentizace dat, která slouží k zabezpečení MAC hlavičky. Vytvoří se Nonce pro paket a vše se odešle do bloku AES CCMP. AES CCMP slouží k vlastnímu zašifrování dat a přidání MIC vypočítaného pomocí AES. Výsledný rámec sestává z CCMP hlavičky a šifrovaných dat s MIC. 37

4.2 AES AES je symetrickou blokovou šifrou, která je jádrem WPA2. Pro účely WPA2 je délka bloku definovaná na 128 b a počet cyklů na 10. Bloky jsou organizovány do matice 4x4, kdy každý prvek matice je tvořen 8 bity. Obr. 4.2: Diagram šifrování AES Algoritmus začíná připojením prvního rozšířeného klíče, následně se provede 9 cyklů bajtové substituce, posunu řádků, mixování sloupců a přidání rozšířeného klíče. Cyklus 10 se provádí stejně jako předchozí cykly jen s vynecháním operace mixováni sloupců. Po provedení těchto operací je na výstupu šifrovaný text. Dešifrování probíhá stejným způsobem jako šifrování, pouze v obráceném pořadí s inverzními funkcemi pro substituci, posun řádků a mixování sloupců. Bajtová substituce V AES je vytvořena substituční matice 16x16 bajtů, ze které jsou vyčteny jednotlivé prvky dle hodnoty vstupního parametru funkce. Prvni 4 bity se použijí jako adresa řádku a druhé 4 bity jako adresa sloupce. Dle tohoto principu je postavena i inverzní bajtová substituce. 38

Posun řádků Tato operace posunuje postupně prvky v jednotlivých řádcích. První řádek zůstává stejný, druhý je rotován o bajt doleva, třetí je rotován o 2 bajty doleva a u posledního je to o 3 bajty doleva. Inverzní operací je posun řádků o stejné počty bajtů doprava. Míchání sloupců V této operaci se provádí substituce každé hodnoty každého sloupce matice jako funkce všech ostatních prvků v rámci sloupce. Výpočty jsou prováděny v Galloisově poli 2 8. Pro matici 4x4 se počítá operace míchání sloupců následujícím způsobem: s 1 0,j = (2 s 0,j ) (3 s 1,j ) s 2,j s 3,j s 1 1,j = s 0,j (2 s 1,j ) (3 s 2,j ) s 3,j s 1 2,j = s 0,j s 1,j (2 s 2,j ) (3 s 3,j ) s 1 3,j = (3 s 0,j ) s 1,j s 2,j (2 s 3,j ) je násobení v Galloisově konečném poli GF (2 8 ) s 1 i,j jsou prvky nové matice, s i,j jsou prvky původní matice Násobení v Galloisově poli znamená, že bajty, které násobíme, převedeme na jejich matematický polynomiální tvar a vynásobíme je mezi sebou. Tímto získáme nový polynom, pokud se v tomto polynomu nevyskytuje mocnina vyšší než 7 je toto výsledek. Pokud je zde mocnina vyšší než 7, je nutné navíc tento polynom vydělit neredukovatelným polynomem m(x) = x 8 + x 4 + x 3 + x + 1. Tento polynom byl definován tvůrci AES šifry. Přidání rozšířeného klíče Jedná se o bitový XOR mezi 128 b stavem z předchozího bloku a 128 b rozšířeného klíče na příslušném řádku. Rozšíření klíče Rozšíření klíče vytváří z původních 4 slov o délce 128 b lineární pole o 44 slovech. Tedy každý z rozšířených klíčů má délku 128 b. První 4 slova jsou stejná jako původní. Následující slova jsou výsledkem provedení rotace o 8 b doleva, každý bajt slova je nahrazen dle substituce pomocí S-Boxu novým bajtem. Výsledek je pomocí XOR s Rcon, což je řádková konstanta, kde pouze první bajt nese hodnotu, převeden na finální klíč pro daný blok AES šifry. 39

S-Box Podobně jako u WPA je i ve WPA2 zavedena tabulka pro substituci. Tato tabulka je kratší než u předchůdce, obsahuje pouze 256 záznamů. Celá tabulka je generována pomocí inverzního násobení v Galloisově poli dle neredukovatelného polynomu. Pro dešifrování je nutné použít inverzní S-Box, který je inverzní k puvodní tabulce. 4.3 MIC MIC je nyní počítáno s pomocí AES šifry. Postup je následující: výsledek předchozího bloku šifrovaného AES se pomocí operace XOR spojí s dalším blokem dat a opět se provede AES šifrování. Součástí dat, nad kterými se provádí výpočet MIC, je i CCMnonce a AAD. Toto se opakuje, dokud nejsou spotřebovány všechny vstupní bloky. MIC je poté bráno jako 64 nejdůležitějších bitů z výstupu posledního bloku AES. Tento postup je možné vidět na obr. 4.3. Obr. 4.3: Diagram vytvoření MIC 4.3.1 CCMnonce Obr. 4.4: Struktura CCMnonce 40

Struktura CCMnonce je na obr. 4.4. Pole priorita definuje, jaká třída zacházení s rámcem je nastavena pro data dle QoS, pokud není použito QoS, je toto pole naplněno nulami. PN definuje číslo rámce. Tato hodnota je inicializována na 0 při začátku spojení a každý rámec ji inkrementuje o 1. PN odpovídá funkci TSC u WPA. Pole dlen definuje délku dat v bajtech v přenášeném rámci. Struktura návěstí je následující: bit 7 rezervováno bit 6 nastaven na 1, značí, že MIC se počítá i přes hlavičku rámce. bit 3-5 definuje délku MIC, nastaveno na dekadickou hodnotu 3 pro délku 8 B MIC bit 0-2 určuje délku dlen v bajtech, nastaveno na dekadickou hodnotu 1 pro dlen 2 B. 4.3.2 AAD Tato část slouží k ochraně hlavičky rámce před úpravami, proto struktura tohoto bloku odpovídá původní MAC hlavičce pouze s vypuštěním částí, které se mohou měnit. Takovou částí je například doba trvání rámce. Tento blok je nutné prodloužit do délky 256 b, aby ho bylo možné zpracovat pomocí AES šifrování. Toto se provede přidáním nulových bitů pro doplnění do délky 256 b. 4.4 CCM počítadlo Struktura CCM počitadla se podobá CCMnonce. Návěstí nyní obsahuje nuly kromě bitu 0, který je nastaven na hodnotu 1. Poslední 2 B puvodně vyhrazené pro dlen jsou zde použity jako počítadlo CTR. Hodnota počítadla se navyšuje o 1 s každým blokem dat. Průběh šifrování za pomoci počítadla je zobrzeno na obr. 4.5. Na každé CTR připadá 1 segment dat o délce 128 b, pokud poslední blok dat je kratší než 128 b je počítadlo zkráceno po průchodu AES šifrováním na stejnou délku. Tímto se odstraňuje problém blokových šifer, kdy je nutnost doplnit data na délku bloku. 4.5 Slabá místa WPA2 4.5.1 Slabé klíče Podobně jako u předchozích zabezpečení i zde platí, že nevhodně zvolené heslo zjednodušuje útočníkovi možnost prolomit heslo. Vhodné heslo je 20 náhodných znaků dlouhé. 41

Obr. 4.5: Diagram šifrování dat za použití počitadla 4.5.2 SSID Tato hodnota je přednastavena výrobcem routeru a je vhodné ji změnit, protože pro výrobcem definované hodnoty existují již vypočítané tabulky, které zjednodušují práci utočníkovi. Seznam aktuálně nejpoužívanějších SSID je možné nalézt na těchto stránkách [3]. 4.5.3 WPS Jedná se o stejný problém jako u WPA. 4.5.4 Hole196 Jedná se o útok, kdy útočník, pokud zná skupinový klíč GTK, má možnost odcizit identitu jiného uživatele uvnitř sítě. Jedná se o takzvaný man-in-the-middle útok, kdy útočník přesměrovává přes vlastní stanici komunikaci mezi napadeným uživatelem a přístupovým bodem a tedy odposlouchává celou jejich komunikaci. Další možností, jak tuto chybu lze využít, je bránění použití některé ze služeb útokem nazývaným denial-of-service. I tento útok je možné provést pouze na stanice nacházející se v rámci sítě, v které známe GTK. 42

5 TVORBA MODELŮ V PROSTŘEDÍ MATLAB SIMULINK 5.1 Matlab Simulink Použitá verze Matlabu byla R2012b. Návod k Matlabu je k dispozici na [15]. Bylo zvoleno používání bloků v Matlabu s možností pracovat s celými rámci, protože ve skutečných systémech se nejprve skládají celé rámce, které se až poté odesílají bit po bitu po přenosovém médiu. Navíc řešení zobrazení jako rámců dat zvyšuje přehlednost celého modelu a zjednodušuje možnost prohlížení dat. Proměnné v Simulinku byly definovány jako binární sloupcové vektory a proměnné pro blok data store memory jako dekadické. Jejich výběr byl zvolen z důvodu neschopnosti prostředí Simulink posílat písmenné proměnné skrze signálové cesty, což znemožňuje použití hexadecimálních a textových proměnných v těchto signálových cestách. Pokud by tedy bylo třeba, je možné text převést na binární formu pomocí příkazu dec2bin( abc ) v Matlabu (každý znak v uvozovkách je převeden na řádek binárních hodnot dle ASCII tabulky, počet řádků odpovídá počtu znaků). Následně lze tyto hodnoty zkopírovat do vybrané proměnné v Simulinku. 5.2 WEP Protože ne všechny bloky jsou v Matlabu obsaženy, bylo nutné vytvořit vlastní bloky, které implementují požadované funkce. Takovým blokem je například proudová šifra RC4. Drobné funkční bloky například Vložení inicializačniho vektoru do rámce jsou řešeny jednoduchou operací for pro spojování a oddělování dat a nebudou zde rozepisovány. Vlastní model podporuje zpracovaní zpráv o délce více bajtů, ale v rámci přehlednosti grafů je zobrazena délka dat pouze 2 bajty. 5.2.1 Celkový model Z modelu je vidět, že pro generování dat a klíče jsou použity náhodné generátory. Bloky WEP kodér a dekodér obsahují subsystémy, které provádějí požadovanou funkci. Blok porovnání CRC slouží k porovnání CRC32 hodnot. K tomu je použito jednoduchého řešení s XOR s ověřením, jestli výsledný rámec je nulový. Celkový model je na obr. 5.1 43

Obr. 5.1: Celkový model WEP Obr. 5.2: Model WEP kodéru 44

5.2.2 Kodér Model z obr. 5.2 odpovídá blokovému schématu z teorie ohledně kodéru WEP. RC4 blok v Matlabu neexistuje a proto ho bylo nutné navrhnout. 5.2.3 Dekodér Obr. 5.3: Model WEP dekodéru Model z obr. 5.3 odpovídá blokovému schématu z teorie ohledně dekodéru WEP. RC4 blok je v podstatě stejný jako u kodéru, jediným rozdílem je, že IV není generováno uvnitř bloku, ale je získáno ze vstupního rámce. 5.2.4 Blok RC4 RC4 blok bylo nutné navrhnout, protože není součástí již existujících bloků v Matlabu. Kód byl vytvářen na základě literatury ohledne KSA a PRGA algoritmů a upraven do prostředí Matlab. Vlastní kód bloku RC4 je k nalezení v příloze A.1. 45

5.2.5 Grafy pro WEP Obr. 5.4: Porovnání průběhů po jednotlivých operacích. První graf zachycuje data+crc32, druhý proudovou šifru vytvořenou na výstupu bloku RC4, třetí ukazuje výstupní data po provedení XOR operace Obr. 5.5: Porovnání vstupních dat do kodéru a výstupních dat z dekodéru 46

5.3 WPA Podobně jako u WEP bylo i zde nutné některé bloky navrhnout. Jako vstupní data byl zvolen krátký rámec pro snadnější orientaci v jednotlivých grafech. 5.3.1 Celkový model Obr. 5.6: Celkový model WPA Vlastní model je obr. 5.6. Anonce a Snonce jsou pseudonáhodná čísla generovaná pomocí náhodného generátoru, obě mají délku 8 B. MAC vysílače a přijímače jsou MAC adresy komunikujících zařizení definovány jako konstanty o délce 6 B. Substituční tabulka je blok generující S-box, který je potřeba pro provádění substitucí v dalších blocích. Generování rámců dat je náhodný generátor s minimální délkou rámce 8 b. Klíč PSK generuje tajný klíč, pro správnou fukci musí mít klíč od 32 b do 256 b s krokem po 8 b. Blok derivace klíčů slouží k odvození jednotlivých klíčů z tajného klíče. WPA kodér a dekodér jsou bloky,které plní vlastní funkci šifrování a dešifrování dat. 5.3.2 Blok derivace klíčů Tento blok, jehož vnitřní uspořádání je na obr. 5.7, je určen k odvození potřebných klíčů z tajného klíče. Jádrem tohoto bloku je funkce PBKDF2, kterou bylo nutné dle specifikací navrhnout. Zdrojový kód této funkce lze nalézt v příloze B.2. Vstup klíč u PBKDF2 slouží pro klíč, z kterého se odvozují další klíče, vstup SSID pro salt 47

vektor, který klíč ze vstupu klíč dle hashovací funkce šifruje. Keyhash je výstupní klíč po provedení operací v PBKDF2. Blok salt je určen pro sloučení vstupních informací na salt vektor pro druhý blok PBKDF2. Blok oddělení následně odděluje potřebné klíče od celkového výstupního vektoru keyhash. Obr. 5.7: Blok derivace klíčů 5.3.3 WPA kodér Obr. 5.8: Blok WPA kodér 48

Tento blok slouží k vlastnímu šifování zpráv, jeho interní struktura je na obr. 5.8 WEP kodér je blok, který odpovídá původnímu bloku WEP kodéru u WEP šifrování na obr. 5.2. Funkce pro výpočet integrity zprávy MIC byla vytvořena na základě definic z standardů a její zdrojový kód je možné nalézt v příloze B.5. Blok TKIP slouží ke generování dočasných klíčů pro WEP kodér. 5.3.4 TKIP Obr. 5.9: Blok TKIP Blok TKIP slouží k tvorbě dočasných klíčů. Vnitřní uspořádání je na obr. 5.9. Blok TSC je určen ke generování inicializačních vektorů a k jeho řešení bylo zvoleno použití globální proměnné, aby hodnota mohla být inkrementována v každém cyklu. Bloky fáze 1 mixování klíče a fáze 2 mixování klíče byly navženy dle standardu a jejich kód je k nalezení v přílohách B.3 B.4. 5.3.5 WPA dekodér Tato část slouží k dešifrování příchozí zprávy. Blok TKIP je stejný jako v případě kodéru. WEP dekodér odpovída schématu na obr. 5.3. Další bloky jsou určeny k vygenerování a porovnání MIC a CRC32 s odpovídajícími hodnotami z příchozího rámce a následnému zobrazení výsledku porovnání. Vnitřní zapojení WPA dekodéru je na obr. 5.10. 49

Obr. 5.10: Blok WPA dekodér 5.3.6 Grafy pro WPA Obr. 5.11: Graf výstupů fáze 1 a 2 mixováni klíče 50

Obr. 5.12: Graf zobrazení výstupů, v prvním jsou vstupní data opatřená MIC a CRC32, v druhém proudový klíč a v třetím výstup WPA kodéru bez TSC a MAC hlavicky Obr. 5.13: Graf zobrazení derivace klíčů, v prvním je původní klíč PSK, v druhém hashováním odvozený PMK a v třetím PTK odvozený hashováním PMK 51

Obr. 5.14: Výstup MIC bloku Obr. 5.15: Porovnání vstupních dat před šifrováním a výstupních dat po dešifrování 52

5.4 WPA2 Podobně jako u předchozích modelů, i v tomto bylo nutné navhnout vlastní bloky. 5.4.1 Celkový model WPA2 Obr. 5.16: Celkový model WPA2 Celkový model pro WPA2 je na obr. 5.16. Blok derivace klíčů je stejný jako ve WPA. Blok WPA2 realizuje šifrování a blok WPA2 dešifrování následně dešifrování dat. Substituční tabulka generuje vektor hodnot, který je určen pro substituce v dalších blocích modelu. Proměnné byly navrženy jako binarní sloupcové vektory a globální proměnné jako dekadické pro zjednodušení jejich inkrementování. 5.4.2 kodér WPA2 Tento blok slouží k vlastnímu šifrování dle WPA2 a jeho vnitřní uspořádání je na obr. 5.17. Konstrukce MAC hlavičky vytváří potřebná data pro záhlaví rámce. AAD následně z hlavičky vybere potřebná data, která mají být zabezpečena pomocí MIC. CCMnonce vytváří vektor nutný pro inicializaci MIC. Keyexpansion blok generuje rozšířený klíč pro jednotlivé bloky AES kodéru. VektorPNgen slouží k vytvoření počítadla, které je po zašifrování AES určeno k XOR operaci s vlastními daty určenými k zašifrování. Blok AES1 imlementuje šifrovací algoritmus AES pro šifrování ve WPA2. Blok zkompletování rámce je určen k přiložení všech potřebných dat 53

Obr. 5.17: Kodér WPA2 jako záhlaví k šifrovaným datům, aby dekodér byl schopen zašifrovaná data úspěšně dešifrovat. 5.4.3 Substituční tabulka V tomto bloku se vypočítávají jednotlivé hodnoty pro substituce realizované v dalších blocích. Zdrojový kód substiční tabulky je v příloze C.1. V praxi se vlastní výpočet tabulky neprovádí, protože tabulka je vytvořena jako záznam v paměti zařízení. 5.4.4 Keyexpansion Realizuje expanzi klíče na lineární pole, kdy toto pole se používá pro AES bloky v modelu jako šifrovací klíč. Zdrojový kód tohoto bloku je v příloze C.2. 5.4.5 AES AES je šifrovací algoritmus, který je jádrem celého WPA2 zabezpečení. Jeho realizace v Matlabu byla výhodná, protože vnitřní operace tohoto bloku jsou na bázi maticového počtu. Zdrojový kód pro AES blok se nachází v příloze C.4. 54

5.4.6 VektorPNgen Slouží ke generování vektoru počítadla, které musí mít odpovídající délku jako šifrovaná data. Zdrojový kód je v příloze C.3. 5.4.7 MIC Blok, který počítá MIC hodnotu pro daný vstup. Vnitřní struktura MIC je na obr. 5.18. AES1,AES2 a AES3 slouží k šifrování záhlaví rámce. Blok AES následně pro šifrování dat, kdy konečným výsledkem je 64 b MIC. Obr. 5.18: Blok MIC ve WPA2 5.4.8 Dekodér WPA2 Bloky tvořící dekodér jsou odpovídají blokům v kodéru. Rozdíl je pouze v datech ze záhlaví rámce, které dekodér získá z příchozího rámce a díky kterým je schopen zprávu dešifrovat a v blocích ověřujících pravost přijatého rámce. Vnitřní struktura WPA2 dekodéru je na obr. 5.19. 55

Obr. 5.19: Dekodér WPA2 5.4.9 Grafy pro WPA2 Obr. 5.20: Graf zobrazující vypočítané MIC v kodéru s dekodéru 56

Obr. 5.21: Porovnání nešifrovaných dat s MIC a šifrovaných dat s MIC Obr. 5.22: Celkový rámec se zašifrovanými daty Obr. 5.23: Porovnání vstupních nešifrovaných dat s výstupními dešifrovanými daty 57