Narzędzia użytkownika

Narzędzia witryny


sk2:wlan:sec

Różnice

Różnice między wybraną wersją a wersją aktualną.

Odnośnik do tego porównania

Nowa wersja
Poprzednia wersja
sk2:wlan:sec [2023/12/06 23:44]
jkonczak utworzono
sk2:wlan:sec [2023/12/13 23:59] (aktualna)
jkonczak
Linia 1: Linia 1:
 ===== Zabezpieczenia sieci bezprzewodowych ===== ===== Zabezpieczenia sieci bezprzewodowych =====
  
-Zabezpieczenia sieci bezprzewodowych:​ +==== WEP ====
-  * WEP – nie zapewnia bezpieczeństwa +
-  * WPA (Wi-Fi Protected Access) – implementacja 802.11i zanim powstało 802.11i, w tym szyfrowanie używając:​ +
-    * [[https://​pl.wikipedia.org/​wiki/​Temporal_Key_Integrity_Protocol|TKIP]] +
-    * <​html><​small>​ opcjonalnie CCMP AES </​small></​html>​ +
-  * [[https://​en.wikipedia.org/​wiki/​IEEE_802.11i-2004|802.11i]] – standard opisujący skuteczne zabezpieczanie sieci bezprzewodowych +
-  * **WPA2** – "​handlowa"​ nazwa implementacji 802.11i, w tym szyfrowanie używając:​ +
-    * <​html><​small>​ opcjonalnie TKIP</​small></​html>​ +
-    * [[https://​en.wikipedia.org/​wiki/​CCMP_(cryptography)|CCMP (AES)]] +
-  * **WPA3** - ogłoszony w czerwcu 2018 standard, jego obsługa jest wymagana w nowych urządzeniach [[https://​www.wi-fi.org/​news-events/​newsroom/​wi-fi-alliance-introduces-wi-fi-certified-wpa3-security|[1]]] [[https://​www.wi-fi.org/​discover-wi-fi/​security|[2]]] [[https://​www.wi-fi.org/​file/​wpa3-security-considerations|[3]]] +
-    * <​html><​small></​html>​uniemożliwia znane ataki na WPA2 (m. inn. [[https://​en.wikipedia.org/​wiki/​KRACK|KRACK]],​ lista innych na [[https://​en.wikipedia.org/​wiki/​Wi-Fi_Protected_Access#​Security_issues|Wikipedii]])<​html></​small></​html>​ +
-    * <​html><​small></​html>​uniemożliwia słownikowe ataki offline na sieci zabezpieczone hasłem ([[https://​en.wikipedia.org/​wiki/​Simultaneous_Authentication_of_Equals|SAE]],​ [[https://​www.rfc-editor.org/​rfc/​rfc7664.html|RFC 7664]])<​html></​small></​html>​ +
-    * <​html><​small></​html>​umożliwia użycie silniejszej kryptografii (dłuższe klucze i silniejsze protokoły – [[https://​en.wikipedia.org/​wiki/​Galois/​Counter_Mode|GCMP]] i oparte na krzywych eliptycznych)<​html></​small></​html>​ +
-    * <​html><​small></​html>​wymaga zabezpieczania ramkek typu management ​ ([[https://​en.wikipedia.org/​wiki/​IEEE_802.11w-2009|802.11w]])<​html></​small></​html>​ +
-    * <​html><​small></​html>​w WPA3 odkryto już podatności na inne rodzaje ataków ([[https://​wpa3.mathyvanhoef.com/​|dragonblood]])<​html></​small></​html>​ +
-    * <​html><​small></​html>​wraz z WPA3 próbowano wprowadzić rozwiązanie pozwalające tworzyć bezpieczne sieci nie wymagające hasła do połączenia ([[https://​www.wi-fi.org/​news-events/​newsroom/​wi-fi-certified-enhanced-open-delivers-data-protection-in-open-wi-fi-networks|Wi-Fi Enhanced-Open]],​ [[https://​www.rfc-editor.org/​rfc/​rfc8110|RFC 8110]])<​html></​small></​html>​ +
-  * Uwierzytelnianie:​ +
-    * WPA-Personal +
-      * w WPA i WPA2 – **PSK** ([[https://​en.wikipedia.org/​wiki/​Pre-shared_key|Pre-shared Key]]) \\ <​html><​small></​html>​znając PSK i słuchając pełnej komunikacji (od nawiązania ​ połączenia) można deszyfrować transmisję<​html></​small></​html>​ +
-      * w WPA3 – **SAE** ([[https://​en.wikipedia.org/​wiki/​Simultaneous_Authentication_of_Equals|Simultaneous Authentication of Equals]]) +
-    * WPA-Enterprise – **[[https://​en.wikipedia.org/​wiki/​Extensible_Authentication_Protocol|EAP]]**,​ [[https://​en.wikipedia.org/​wiki/​IEEE_802.1X|EAPOL]] +
-      * PSK +
-      * TLS +
-      * [[https://​en.wikipedia.org/​wiki/​Protected_Extensible_Authentication_Protocol|PEAP]],​ TTLS, FAST +
-    * <​html><​small></​html>​ Scentralizowane uwierzytelnianie – [[https://​en.wikipedia.org/​wiki/​RADIUS|RADIUS]] [[http://​wiki.freeradius.org/​guide/​WPA-HOWTO|konfiguracja przykładowego serwera]] \\ Otwarta dokumentacja dla sieci Eduroam – przykład wdrożenia sfederalizowanego uwierzytelniania:​ [[https://​wiki.geant.org/​pages/​viewpage.action?​pageId=121346286|en]],​ [[https://​www.eduroam.pl/​index.php?​page=doc&​lang=pl|pl]]<​html></​small></​html>​  +
-  * **[[https://​en.wikipedia.org/​wiki/​Wi-Fi_Protected_Setup|WPS]]** – rozwiązania mające ułatwić osobom nietechnicznym korzystanie z zabezpieczeń WPA-PSK \\ <​html><​small></​html>​ część implementacji WPS (np. //pin//) nie zapewnia bezpieczeństwa sieci<​html></​small></​html>​+
  
 +Pierwsze 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.
 +
 +==== WPA (Wi-Fi Protected Access) ====
 +
 +=== WPA i WPA2 ===
 +
 +<​small>​
 +WEP stało się za słabe do zabezpieczania sieci zanim opracowano oficjalny
 +standard IEEE 802.11i mający być jego następcą.
 +</​small>​
 +
 +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 [[https://​en.wikipedia.org/​wiki/​IEEE_802.11i-2004|IEEE 802.11i]]
 +w 2004 roku organizacja Wi-Fi Alliance określiła jego rozwiązania jako **WPA2**
 +(Wi-Fi Protected Access 2).
 +<​small>​Sam standard 802.11i nie używa nazwy WPA2, tylko RSN (Robust Security Network).</​small>​
 +
 +WPA i WPA2 nie różnią się od siebie istotnie.
 +
 +=== WPA3 ===
 +
 +Po kilkunastu latach, głównie na skutek odkrycia
 +[[https://​en.wikipedia.org/​wiki/​Wi-Fi_Protected_Access#​Security_issues|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.
 +<​small>​
 +[[https://​www.wi-fi.org/​news-events/​newsroom/​wi-fi-alliance-introduces-wi-fi-certified-wpa3-security|[1]]]
 +[[https://​www.wi-fi.org/​discover-wi-fi/​security|[2]]]
 +[[https://​www.wi-fi.org/​file/​wi-fi-protected-access-security-considerations|[3]]]
 +</​small>​
 +
 +==== Uwierzytelnianie w WPA/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:
 +<​html><​div style="​margin-top:​-1.2em"/></​html>​
 +|      ^ <​small>//​brak uwierzytelniania//</​small>​ ^ WPA-Personal ^ WPA-Enterprise ^ 
 +^ WPA  |   <​html><​div style="​margin-top:​1em"/>​—</​div></​html> ​  ​| ​ <​html><​div style="​margin-top:​1em"/>​PSK</​div></​html> ​ |  <​html><​div style="​margin-top:​2em"/>​EAP</​div></​html> ​ |
 +^ WPA2 |  :::  |  :::  |  :::  |
 +^ WPA3 |  OWE  |  SAE  |  :::  |
 +
 +=== OWE ===
 +
 +Od standardu WPA3 możliwe jest tworzenie sieci szyfrowanych __bez__ uwierzytelniania.
 +W takich sieciach do wygenerowania potrzebnych kluczy używa się
 +[[https://​en.wikipedia.org/​wiki/​Opportunistic_Wireless_Encryption|OWE]]
 +([[https://​datatracker.ietf.org/​doc/​html/​rfc8110|RFC 8110]]), rozwiązania które na bazuje ​
 +protokole [[https://​pl.wikipedia.org/​wiki/​Protok%C3%B3%C5%82_Diffiego-Hellmana|Diffiego-Hellmana]].
 +\\
 +<​small>​Protokół DH pozwala wygenerować tajny klucz bez żadnego wspólnego sekretu
 +znanego osobom generującym klucz.</​small>​
 +
 +<​small>​Sieci wykorzystujące [[https://​en.wikipedia.org/​wiki/​Opportunistic_Wireless_Encryption|OWE]]
 +są nazywane przez Wi-Fi Alliance [[https://​www.wi-fi.org/​news-events/​newsroom/​wi-fi-certified-enhanced-open-delivers-data-protection-in-open-wi-fi-networks|Wi-Fi Enhanced-Open]]</​small>​
 +
 +=== WPA-Personal ===
 +
 +**PSK** ([[https://​en.wikipedia.org/​wiki/​Pre-shared_key|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:​
 +  * podatność na słownikowe ataki offline,
 +  * siła zabezpieczenia zależy od siły hasła,
 +  * znane (i częściowo niezałatane) podatności,​ np. [[https://​en.wikipedia.org/​wiki/​KRACK|KRACK]],​
 +  * <​small>​znając PSK i słuchając pełnej komunikacji (od nawiązania ​ połączenia) można deszyfrować transmisję.</​small>​
 +
 +**SAE** ([[https://​en.wikipedia.org/​wiki/​Simultaneous_Authentication_of_Equals|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.
 +
 +<​small>​Matematyczne podstawy działania SAE: https://​asecuritysite.com/​encryption/​dragonfly</​small>​
 +
 +Na skutek zignorowania w trakcie tworzenia WPA-3 znanych wcześniej,
 +zgłaszanych i załatanych w innych zastosowaniach podatności wymiany
 +dragonfly([[https://​datatracker.ietf.org/​doc/​html/​rfc7664#​section-3.3|RFC 7664]])
 +na ataki czasowe, w niektórych implementacjach WPA3-SAE możliwe jest
 +przeprowadzenie ataków pozwalających odkryć hasło ([[https://​wpa3.mathyvanhoef.com/​|dragonblood]]).
 +
 +  ​
 +=== WPA-Enterprise ===
 +  ​
 +Profil WPA-Enterprise używa mechanizmu wcześniej zdefiniowanego dla sieci
 +przewodowych – [[https://​en.wikipedia.org/​wiki/​IEEE_802.1X|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**.
 +\\
 +<​small>​Do uwierzytelniania wykorzystywany jest serwer implementujący protokół
 +[[https://​en.wikipedia.org/​wiki/​RADIUS|RADIUS]].\\
 +Jednym z wiodących implementacji takiego serwera jest FreeRADIUS
 +([[http://​wiki.freeradius.org/​guide/​WPA-HOWTO|przykładowa konfiguracja]]). \\
 +Otwarta dokumentacja dla sieci Eduroam – przykład wdrożenia sfederalizowanego uwierzytelniania:​
 +[[https://​wiki.geant.org/​pages/​viewpage.action?​pageId=121346286|en]],​
 +[[https://​www.eduroam.pl/​index.php?​page=doc&​lang=pl|pl]]</​small>​
 +
 +
 +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).
 +\\
 +<​html><​div style="​margin-top:​-1.2em"/></​html>​
 +  - stacja i AP wymieniają się tożsamościami
 +  - AP wysyła żądanie dostępu od stacji do serwera uwierzytelniającego
 +  - serwer uwierzytelniający proponuje sposób uwierzytelniania i wysyła za pośrednictwem AP żądanie o dane uwierzytelniające do stacji
 +  - stacja za pośrednictwem AP odpowiada serwerowi uwierzytelniającemu((lub żąda innego sposobu uwierzytelniania,​ co cofa proces do poprzedniego kroku))
 +  - serwer uwierzytelniający wysyła do AP zgodę na dostęp (lub odmowę)
 +  - AP wpuszcza do sieci stację
 +
 +Protokół **[[https://​en.wikipedia.org/​wiki/​Extensible_Authentication_Protocol|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:
 +  * <​small>​PSK (uwierzytelnianie oparte o pre-shared key) i PWD (uwierzytelnianie oparte o hasło)</​small>​
 +  * TLS (uwierzytelnianie oparte o certyfikat klienta)
 +  * przesłanie kolejnych danych uwierzytelniających wewnątrz szyfrowanego tunelu – [[https://​en.wikipedia.org/​wiki/​Protected_Extensible_Authentication_Protocol|PEAP]],​ TTLS, FAST, wewnątrz którego można stosować:
 +    * uwierzytelnianie oparte o nazwę użytkownika i hasło
 +    * uwierzytelnianie oparte o certyfikat klienta
 +
 +=== WPS ===
 +    ​
 +**[[https://​en.wikipedia.org/​wiki/​Wi-Fi_Protected_Setup|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.
 +
 +=== Klucz PMK ===
 +
 +**W wyniku uwierzytelnienia((każdego – zarówno PSK, EAP, OWE, SAE jak i EAP))
 +klient i access point generują identyczny klucz PMK (Pairwise Master Key)
 +używany później na potrzeby szyfrowania.**
 +
 +==== Szyfrowanie w WPA/2/3 ====
 +
 +**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.
 +
 +<​small>​Wszystkie klucze używane do szyfrowania są symetryczne.</​small>​
 +
 +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:​
 +    * [[https://​pl.wikipedia.org/​wiki/​Temporal_Key_Integrity_Protocol|TKIP]] (wymagane wsparcie w WPA, opcjonalnie wspierane w WPA2, zabronione w WPA3)
 +    * [[https://​en.wikipedia.org/​wiki/​CCMP_(cryptography)|CCMP (AES)]] (opcjonalnie wspierane w WPA, wymagane wsparcie w WPA2 i WPA3)
 +    * [[https://​en.wikipedia.org/​wiki/​Galois/​Counter_Mode|GCMP]] (wprowadzone w WPA3)
 +
 +<​small>​
 +Klucze używane do szyfrowania mają długość 128, 192 bądź 256 bitów.
 +</​small>​
 +    ​
 +==== Zabezpieczenie ramek zarządzających ​ ====
 +
 +Dostępny do dawna, ale wymagany dopiero w WPA3 i od tego momentu powszechnie
 +implementowany standard [[https://​en.wikipedia.org/​wiki/​IEEE_802.11w-2009|802.11w]]
 +wymaga zabezpieczania ramek zarządzających,​ co zapobiega podrabianiu ramek
 +m. inn. rozłączających klienta od AP([[https://​en.wikipedia.org/​wiki/​Wi-Fi_deauthentication_attack|deauth attack]]).
 +
 +<​small>​Zabezpieczenie polega na szyfrowaniu (ramki do jednego odbiorcy) lub kryptograficznym podpisywaniu (ramki do wielu odbiorców) ramek przez ich nadawcę</​small>​
 +
 +==== (Stare) linki ====
 +      ​
 +<​small>​
 WEP, WPA{,2,3} dobrze opisuje artykuł: https://​www.nastykusieci.pl/​wpa3/​ i https://​www.cyberbajt.pl/​raport/​377/​0/​378/​ WEP, WPA{,2,3} dobrze opisuje artykuł: https://​www.nastykusieci.pl/​wpa3/​ i https://​www.cyberbajt.pl/​raport/​377/​0/​378/​
 +</​small>​
  
sk2/wlan/sec.1701902683.txt.gz · ostatnio zmienione: 2023/12/06 23:44 przez jkonczak