W publikacjach [6, 7] opisano, w jaki sposób można wykorzystać wiadomości protokołu AODV (Ad-hoc On-demand Distance Vector) [8] do przeprowadzenia skrytej komunikacji. Jest to routingowy protokół reaktywny, a więc żądania odkrycia drogi są generowane przez węzeł źródłowy, w chwili gdy zaistnieje potrzeba komunikacji z węzłem docelowym i tablica routingu węzła źródłowego nie zawiera poprawnej drogi do węzła docelowego.
Żądanie odkrycia drogi wysyłane jest w postaci wiadomości Route Request (RREQ), w trybie broadcastowym. Budowa wiadomości RREQ została przedstawiona na rysunku 1,
a funkcje poszczególnych pól wiadomości zostały opisane w tabeli 1.
Tabela 1. Opis pól wiadomości RREQ protokołu AODV
Nazwa pola | Rozmiar | Opis |
Typ | 1 B | Pole oznaczające typ wiadomości protokołu AODV; w przypadku wiadomości Route Request wynosi 1. |
J | 1 b | Flaga „Join”, zarezerwowana do użytku w przypadku obsługi ruchu multicastowego. |
R | 1 b | Flaga „Repair”, zarezerwowana do użytku w przypadku obsługi ruchu multicastowego. |
G | 1 b | Flaga „Gratuitous Route Reply”; ustawienie 1 powoduje generację dodatkowej, unicastowej wiadomości RREP (Route Reply) do węzła docelowego przez węzeł pośredniczący, który zna do niego drogę; w przypadku ustawienia 0 węzeł pośredniczący odpowiada jedynie węzłowi źródłowemu. |
D | 1 b | Flaga „Destination only”; ustawienie 1 powoduje, że tylko węzeł docelowy może odpowiedzieć na wiadomość RREQ |
U | 1 b | Flaga „Unknown Sequence Number”; ustawiana przez węzeł źródłowy, kiedy nie znana jest mu wartość numeru sekwencyjnego dla węzła docelowego. |
Ilość skoków | 1 B | Pole zawiera liczbę skoków od węzła źródłowego, do węzła aktualnie przetwarzającego wiadomość RREQ; przy generacji wiadomości przez węzeł źródłowy ustawiana jest wartość 0. |
RREQ ID | 4 B | Numer sekwencyjny wiadomości RREQ; wraz z adresem IP węzła generującego wiadomość RREQ stanowi unikalny identyfikator tej wiadomości. |
Adres IP węzła docelowego | 4 B (IPv4) lub 16 B (IPv6) | Adres IP węzła, do którego droga jest poszukiwana. |
Numer sekwencyjny węzła docelowego | 4 B | Numer sekwencyjny węzła docelowego, jaki był ostatnio otrzymany przez węzeł źródłowy. |
Adres IP węzła źródłowego | 4 B (IPv4) lub 16 B (IPv6) | Adres IP węzła, który inicjuje proces wyszukiwania drogi. |
Numer sekwencyjny węzła źródłowego | 4 B | Aktualny numer sekwencyjny węzła źródłowego; jest powiększony o 1 przed generacją wiadomości RREQ. |
Wiadomość jest propagowana w sieci, do momentu kiedy dotrze do węzła poszukiwanego, bądź do węzła pośredniczącego, który zna drogę do węzła poszukiwanego. Wówczas do węzła źródłowego zwracana jest wiadomość Route Reply (RREP). Budowa wiadomości RREP została przedstawiona na rysunku 2.
W celu zmniejszenia ilości wiadomości RREQ propagowanych w sieci ad-hoc, używana jest technika expanding ring search (przeszukiwania w rozszerzającym się pierścieniu). Polega ona na określeniu przez węzeł źródłowy wartości czasu życia TTL (Time To Live) w nagłówku IP wiadomości RREQ i oczekiwaniu przez pewien czas na wiadomość RREP. Wartość TTL określa maksymalną ilość węzłów pośredniczących, które mogą przesłać żądanie RREQ. Jeśli czas oczekiwania na wiadomość RREP przekroczy założoną wartość, wówczas generowana jest nowa wiadomość RREQ, ze zwiększoną wartością TTL. Procedura jest powtarzana do osiągnięcia ustalonego progu wartości TTL.
W protokole AODV stosuje się numery sekwencyjne, aby zapobiec wystąpieniu pętli. Każdy węzeł utrzymuje w pamięci liczbę, zwaną numerem sekwencyjnym. Może ona ulec tylko zwiększeniu, i tylko w dwóch przypadkach: na chwilę przed generacją wiadomości RREQ (przez węzeł źródłowy) oraz na chwilę przed generacją wiadomości RREP (przez poszukiwany węzeł docelowy). W tablicy routingu każdego węzła każda droga jest powiązana z ostatnio znanym numerem sekwencyjnym, jaki został zwrócony w wiadomości RREP. Jeśli w odpowiedzi na wiadomość RREQ węzeł źródłowy otrzyma kilka poprawnych dróg, do tablicy routingu wpisuje drogę najnowszą, czyli związaną z największym numerem sekwencyjnym węzła docelowego.
Autorzy [6, 7] wskazują cztery kanały skrytej komunikacji, spośród których jeden jest poddany głębszej analizie i symulacji, ze względu na łatwość implementacji. Zaproponowane mechanizmy steganograficzne wykorzystywane do przeprowadzenia skrytej komunikacji polegają na:
Założono, iż w procesie skrytej komunikacji biorą udział dwa węzły – nadawczy CT (Covert Transmitter) i odbiorczy CR (Covert Receiver). Wprowadzają one modyfikacje do generowanych i docierających do nich jednostek danych. Reszta węzłów wchodzących w skład sieci ad-hoc generuje i przekazuje wiadomości wyłącznie w sposób zgodny z opisem działania protokołu AODV [8].
|
REKLAMA |
REKLAMA |