Dydaktyka:
FeedbackPierwsze rozwiązania dotyczące zabezpieczania sieci funkcjonowały pod mylącą nazwą WEP (wired equivalent privacy).
WEP jest słaby kryptograficznie i praktycznie nie zapewnia bezpieczeństwa.
WEP stało się za słabe do zabezpieczania sieci zanim opracowano oficjalny standard IEEE 802.11i mający być jego następcą.
Na podstawie szkicu standardu IEEE 802.11i organizacja Wi-Fi Alliance przyjęła w 2003 roku nowe rozwiązania zapewniające bezpieczeństwo pod nazwą WPA (Wi-Fi Protected Access).
Po przyjęciu ostatecznej wersji standardu IEEE 802.11i w 2004 roku organizacja Wi-Fi Alliance określiła jego rozwiązania jako WPA2 (Wi-Fi Protected Access 2). Sam standard 802.11i nie używa nazwy WPA2, tylko RSN (Robust Security Network).
WPA i WPA2 nie różnią się od siebie istotnie.
Po kilkunastu latach, głównie na skutek odkrycia podatności mechanizmów WPA/WPA2, opracowano i ogłoszono przyjęcie w 2018 roku kolejnej wersji WPA – WPA3.
WPA3 wprowadza istotne zmiany w zabezpieczeniach w porównaniu do WPA2. [1] [2] [3]
Uwierzytelnianie (authentication) to proces w którym sprawdza się czy osoba podająca się za uprawnioną do łączenia się z siecią jest osobą za którą się podaje.
WPA/2/3 określa dwa profile uwierzytelniania: WPA-Personal i WPA-Enterprise.
WPA3 dodatkowo pozwala tworzyć sieci otwarte (bez uwierzytelniania).
Mechanizmy uwierzytelniania w WPA/2/3:
brak uwierzytelniania | WPA-Personal | WPA-Enterprise | |
---|---|---|---|
WPA | — | PSK | EAP |
WPA2 | |||
WPA3 | OWE | SAE |
Od standardu WPA3 możliwe jest tworzenie sieci szyfrowanych bez uwierzytelniania.
W takich sieciach do wygenerowania potrzebnych kluczy używa się
OWE
(RFC 8110), rozwiązania które na bazuje
protokole Diffiego-Hellmana.
Protokół DH pozwala wygenerować tajny klucz bez żadnego wspólnego sekretu
znanego osobom generującym klucz.
Sieci wykorzystujące OWE są nazywane przez Wi-Fi Alliance Wi-Fi Enhanced-Open
PSK (Pre-shared Key), używane przez WPA i WPA2, wymaga znajomości przez klienta i AP wspólnego sekretu – ciągu 256 bitów. Zwykle taki ciąg jest skrótem kryptograficznym z "hasła" o długości od 8 do 63 znaków.
Wady uwierzytelniania WPA-PSK/WPA2-PSK:
SAE (Simultaneous Authentication of Equals),
używane w WPA3, jest rozwinięciem protokołu Diffiego-Hellmana w którym strony
muszą dodatkowo znać wspólny sekret (tworzony z hasła). W SAE podsłuchanie
komunikacji nie pozwala poznać tego sekretu, nie pozwala na ataki słownikowe na
przechwyconej komunikacji i nie pozwala znając sekret wygenerować klucza z
podsłuchanej komunikacji.
Przez brak możliwości dopasowania hasła do przechwyconej komunikacji SAE
uznaje się za odporne na ataki słownikowe, stąd nie wprowadzono dolnych
ograniczeń na długość hasła.
Matematyczne podstawy działania SAE: https://asecuritysite.com/encryption/dragonfly
Na skutek zignorowania w trakcie tworzenia WPA-3 znanych wcześniej, zgłaszanych i załatanych w innych zastosowaniach podatności wymiany dragonfly(RFC 7664) na ataki czasowe, w niektórych implementacjach WPA3-SAE możliwe jest przeprowadzenie ataków pozwalających odkryć hasło (dragonblood).
Profil WPA-Enterprise używa mechanizmu wcześniej zdefiniowanego dla sieci
przewodowych – 802.1X.
W uwierzytelnianiu biorą udział trzy urządzenia: stacja (suplikant), AP i serwer
uwierzytelniający.
Główną cechą WPA/2/3-EAP jest scentralizowane uwierzytelnianie.
Do uwierzytelniania wykorzystywany jest serwer implementujący protokół
RADIUS.
Jednym z wiodących implementacji takiego serwera jest FreeRADIUS
(przykładowa konfiguracja).
Otwarta dokumentacja dla sieci Eduroam – przykład wdrożenia sfederalizowanego uwierzytelniania:
en,
pl
W WPA/2/3-EAP, stacja i AP wymieniają się wiadomościami protokołu EAP (opakowanymi w protokół EAPOL).
AP i serwer uwierzytelniający wymieniają się wiadomościami protokołu EAP (opakowanymi w protokół RADIUS).
Protokół EAP
pozwala uzgodnić jeden z wielu dostępnych sposobów uwierzytelniania i przekazać dane
uwierzytelniające. Wiadomości protokołu EAP (ani EAPOL) nie są szyfrowane.
Dostępne metody uwierzytelniania to między innymi:
WPS to zbiór
rozwiązań mających ułatwiać osobom nietechnicznym korzystanie z zabezpieczeń
WPA2-PSK / WPA3-SAE.
Część implementacji WPS (np. pin) nie zapewnia bezpieczeństwa sieci.
Inne (jak np. powszechny dzisiaj push button) są uważane za bezpieczne.
W wyniku uwierzytelnienia2) klient i access point generują identyczny klucz PMK (Pairwise Master Key) używany później na potrzeby szyfrowania.
Działanie szyfrowania nie zależy od zastosowanego w sieci uwierzytelniania.
Do szyfrowania ramek wysłanych między AP a jednym odbiorcą wykorzystuje się klucz PTK (Pairwise Transient Key). Klucz PTK jest generowany z klucza PMK i powinien być regularnie zmieniany. Stąd szyfrowanie używane w WPA/2/3 określa się jako używający kluczy dynamicznych.
Ramki wysłane przez AP do wielu odbiorców (rozgłoszeniowych bądź multicastowych) są szyfrowane używając klucza GTK (group temporal key), klucza generowanego przez AP, regularnie zmienianego i wysłanego klientom.
Wszystkie klucze używane do szyfrowania są symetryczne.
Podłączone stacje muszą na żądanie AP zmieniać klucze szyfrujące na karcie sieciowej.
Do generowania kluczy i szyfrowania można używać algorytmów:
Klucze używane do szyfrowania mają długość 128, 192 bądź 256 bitów.
Dostępny do dawna, ale wymagany dopiero w WPA3 i od tego momentu powszechnie implementowany standard 802.11w wymaga zabezpieczania ramek zarządzających, co zapobiega podrabianiu ramek m. inn. rozłączających klienta od AP(deauth attack).
Zabezpieczenie polega na szyfrowaniu (ramki do jednego odbiorcy) lub kryptograficznym podpisywaniu (ramki do wielu odbiorców) ramek przez ich nadawcę
WEP, WPA{,2,3} dobrze opisuje artykuł: https://www.nastykusieci.pl/wpa3/ i https://www.cyberbajt.pl/raport/377/0/378/