Sieci bezprzewodowe ad-hoc

Wstęp

Bezprzewodowe sieci komputerowe stają się obecnie coraz popularniejsze, zarówno w zastosowaniach sieci lokalnych jak i do połączeń w sieciach MAN. Technologie te pozwalają na realizację sieci w różnych konfiguracjach – z wykorzystaniem punktów dostępowych, w architekturze ad hoc, czy też do połączeń mostowych – takie możliwości wpływają na wzrost ich znaczenia w praktycznych zastosowaniach. Sieci bezprzewodowe obecnie najczęściej realizowane są w oparciu o standardy 802.11; zestaw standardów IEEE dla sieci bezprzewodowych obejmuje m.in.:

  • 802.11 - oryginalny standard obecnie oznaczany 802.11y, opublikowany w 1997 roku i wprowadzający dwie prędkości dla transmisji bezprzewodowej: 1 i 2 Mbps;
  • 802.11b - obecnie najpopularniejszy standard sieci bezprzewodowych gwarantujący prędkość transmisji do 11 Mbps (jednak w praktyce sprawność protokołów obniża prędkość transmisji do około 5,5 Mbps); wykorzystuje pasmo 2,4 GHz podzielone na 14 kanałów – w Polsce wykorzystuje się ich jedynie 13 w paśmie od 2400,0 do 2483,5;
  • 802.11a - prędkość transmisji do 54 Mbps w paśmie 5 GHz; pasmo dzielone jest na 12 kanałów: 8 do transmisji wewnątrz budynków i 4 do komunikacji pomiędzy budynkami (ang. point-to-point); (europejski odpowiednik to 802.11h)
  • 802.11g - standard wykorzystujący to samo pasmo co 802.11b (i zgodny z tym standardem) ale pozwalający na transmisję z prędkością do 54 Mbps;
  • 802.11n - opracowywany od 2004 do 2009 roku standard dotyczący rozległych sieci bezprzewodowych, pracujący w trybie MIMO (Multiple Input, Multiple Output), wykorzystujący wiele anten do nadawania i odbioryu sygnału. Teoretyczne szybkości do 600Mbit/s, praktycznie dla użytkownika ma osiągać 100Mbit/s.
  • 802.11w - nowelizacja 802.11, poprawiający bezpieczeństwo
  • 802.11ac - wczesna wersja nowego standardu, przepustować na poziomie conajmniej 1Gbit/s, pojedynczej stacji 500Mbit/s, pracujący w 5Ghz
http://upload.wikimedia.org/wikipedia/commons/8/8c/2.4_GHz_Wi-Fi_channels_%28802.11b%2Cg_WLAN%29.svg

Rys.1: Kanały w sieci 802.11bg

W skład radiowej sieci komputerowej wchodzą bezprzewodowe stacje klienckie (STA – ang. j station) oraz punkty dostępowe AP (ang. Access Point). Sieć składającą się z co najmniej dwóch takich urządzeń określa się jako BSS (ang. Basic Service Set); natomiast połączone ze sobą sieci BSS nazywa się ESS (ang. Extended Service Set). Wszystkie urządzenia działające w ramach BSS muszą posiadać identyczną wartość identyfikatora SSID (ang. Service Set Identifier) – najczęściej jest to nazwa określająca przeznaczenie lub właściciela sieci – oraz muszą pracować na tym samym kanale radiowym.

Istnieją dwa tryby pracy sieci bezprzewodowych (Rysunek Rys.1: Kanały w sieci 802.11bg).

  • tryb ad hoc - (nazywany także peer-to-peer) w tym wypadku wszystkie urządzenia sieci komunikują się ze sobą bezpośrednio (jeśli pozwala na to zasięg radiowy) – nie wykorzystuje się punktów dostępowych;
  • tryb infrastruktury - (lub też tryb stacjonarny) wykorzystuje punkty dostępowe (AP); wszystkie urządzenia komunikują się tyko z AP, który spełnia funkcję bramy (do sieci przewodowej) i pośredniczy w komunikacji pomiędzy urządzeniami sieci bezprzewodowej (STA).
../_images/adhoc.png

Rys.2: Dwa tryby pracy sieci bezprzewodowej: (a) tryb infrastruktury, (b) tryb ad-hoc

Typy ramek i ich funkcje w sieciach 802.11x

Wyróżnia się trzy typy ramek:

  1. ramki zarządzające (pozwalające na nawiązanie połączenia i zarządzanie komunikacją): beacon, probe request, probe response, authentication request, authentication respose, deauthentication request, association request, associacion response, disassociacion request
  2. ramki kontrolne (wspomagające przekazywanie danych): RTS, CTS, ACK
  3. ramki danych Ramki zawierają m.in. następujące informacje: typ ramki, status szyfrowania, adresy MAC, nr kolejny ramki, przesyłane dane oraz suma kontrolna.

Główne funkcje jakie realizuje warstwa MAC to: skanowanie, uwierzytelnianie, przyłączanie oraz szyfrowanie.

  • skanowanie polega na wyszukaniu przez stację dostępnych sieci bezprzewodowych (sieci będących w zasięgu radiowym). Wyróżnia się dwa rodzaje skanowania pasywne i aktywne. Skanowanie pasywne polega na przeglądaniu przez stację wszystkich kanałów w poszukiwaniu wysyłanych okresowo ramek zarządzających typu beacon – odebranie takiej ramki pozwala na ustalenie identyfikatora SSID, kanału pracy, obsługiwanych prędkości oraz poziomu sygnału radiowego dostępnej sieci bezprzewodowej. Skanowanie aktywne polega na wysłaniu przez stację ramki rozgłoszeniowej typu probe request; odpowiedzią na takie żądanie jest ramka probe response – nie ma wówczas konieczności oczekiwania na pojawienie się ramki typu beacon.
  • uwierzytelnianie istnieją dwie metody dokonania weryfikacji tożsamości stacji: uwierzytelnianie otwarte (ang. open) i z kluczem dzielonym (ang. restricted). W przypadku systemu otwartego stacja ubiegająca się o uwierzytelnienie wysyła ramkę zarządzającą typu authentication request, na którą wysyłana jest odpowiedź typu authentication response, z informacją o przyznaniu dostępu lub o odmowie dostępu. W przypadku uwierzytelniania w oparciu o klucz dzielony, wszystkie węzły sieci bezprzewodowej posiadają wspólny klucz szyfrowania WEP (ang. Wired Equivalent Privacy). Schemat postępowania jest następujący:
    1. stacja wysyła ramkę authentication request;
    2. węzeł uwierzytelniający (np. AP) w odpowiedzi wysyła ramkę authentication response z testowym ciągiem znaków;
    3. stacja szyfruje odebrany ciąg znaków z wykorzystaniem algorytmu WEP oraz klucza i odsyła zakodowany ciąg kolejną ramką;
    4. po odebraniu tej ramki węzeł uwierzytelniający szyfruje ciąg testowy własnym kluczem i porównuje oba zaszyfrowane ciągi – jeśli ciągi się zgadzają następuje odpowiedź (authentication response), a w przeciwnym razie wysyłana jest odpowiedź deauthentication resquest
  • przyłączanie następuje po fazie uwierzytelniania i wymaga wysłania ramki association request ze wskazanie identyfikatora SSID. W celu obsługi połączenia tworzony jest tzw. identyfikator połączenia (ang. association ID), dostarczany wraz z ramką association response
  • szyfrowanie wykonywane jest z wykorzystaniem algorytmu WEP. Szyfrowanie ramki danych DF składa się z następujących etapów:
    1. na koniec ramki dodawana jest suma kontrolna ICV (ang. Integrity Check Value) jawnej zawartości ramki wyznaczona przy pomocy algorytmu CRC-32; uzyskujemy: DF=DF.ICV(DF)
    2. generator liczb pseudolosowych wyznacza 24-bitowy tzw. wektor inicjalizacyjny IV (ang. Initialization Vector)
    3. do wektora IV dołączany jest klucz szyfrowania K; uzyskujemy: IV.K;
    4. wektor IV.K jest szyfrowany algorytmem strumieniowym RC4; uzyskujemy pseudolosową sekwencję RC4(IV.K)
    5. wykonywana jest funkcja logiczna XOR na zaszyfrowanym wektorze RC4(IV.K) i jawnej ramce DF; uzyskujemy zaszyfrowaną ramkę CDF=(DF.ICV(DF) XOR (RC4(IV.K))
    6. wektor IV jest dodawany na początku zaszyfrowanej ramki CDF w postaci jawnej; ostatecznie uzyskujemy ramkę: IV.CDF.

Tryb ad-hoc

Większość operacji i ramek standardów 802.11x jest wspólna dla trybów infrastruktury i ad hoc; praca w trybie ad hoc nie wymaga modyfikacji działań w warstwie fizycznej. Natomiast wymagane są pewne modyfikacje w warstwie MAC. Pierwszy uruchomiony węzeł sieci BSS – tutaj nazywanej IBSS (ang. Independent Basic Service Set) – rozpoczyna od nadawania ramek typu beacon, wymaganych do odpowiedniej synchronizacji pozostałych stacji (w trybie infrastruktury tylko AP rozsyła tego typu ramki). Pozostałe stacje mogą dołączyć do IBSS po odebraniu ramki beacon. Każda stacja sieci jest zobowiązana do nadawania okresowo własnych ramek typu beacon, jeśli taka ramka nie zostanie odebrana po określonym czasie. Czas oczekiwania na kolejną ramkę beacon jest (dla każdego węzła) losowy – ma to na celu zminimalizowanie ilości ramek tego typu transmitowanych w sieci.

Konfiguracji sieci bezprzewodowej w systemie Linux

Pakiet wireless tools w systemie Linux służy do konfiguracji sieci bezprzewodowej w terminalu. Najważniejsze narzędzia dostępne w pakiecie to:

  • iwconfig - narzędzie slużące do konfiguracji kart bezprzewodowych ustawiania szyfrowania, kanałów, trybów pracy)
  • iwlist - skanowanie oraz uzyskiwanie większej ilości informacji o znalezionych węzłach
  • iwpriv - ustawianie zmiennych charakterystycznych dla sterownika karty bezprzewodowej

Ustawienie nazwy sieci na karcie wlan0:

# ifconfig wlan0 down
# iwconfig wlan0 essid "SIEC"
# iwconfig wlan0 mode adhoc
# ifconfig wlan0 up

Skanowanie pasma:

# iwlist scan

Tryby pracy karty ustawia się modyfikaorem mode, zobacz iwconfig(8).

Alternatywnym zestawem narzędzi, zgodnym semantycznie z pakietem iprute2 jest pakiet iw.

Ćwiczenia

  1. Przy pomocy komendy iwlist sprawdź dostępne sieci bezprzewodowe, kanały, klucze szyfrujące.
  2. Wykorzytując dwa komputery należy skonfigurować sieć bezprzewodową w trybie ad-hoc, stusując polecenie iwconfig oraz ip
  3. Rozszerz sieć ad-hoc o szyfrowanie WEP (przełącznik key w iwconfig)