Protokół WTLS

Bezpieczeństwo bezprzewodowej warstwy transportowej

Zadaniem protokołu WTLS jest zabezpieczenie komunikacji urządzenia mobilnego (klienta) z bramką WAP. WTLS oparty jest na przemysłowym standardzie TLS, który z kolei jest wynikiem udoskonalenia protokołu SSL. WTLS jest bardziej efektywny od TLS, wiąże się bowiem z wymianą mniejszej liczby komunikatów; TLS jest natomiast wykorzystywany na odcinku między bramką WAP a serwerem źródłowym. Zlokalizowana na styku obu wspomnianych odcinków bramka WAP (jak na rysunku u dołu ), dokonująca translacji między protokołami TLS i WTLS, jest w tym łańcuchu najbardziej wrażliwym ogniwem i wymaga szczególnie starannego zabezpieczenia przed atakami z zewnątrz.

WTLS oferuje następujące możliwości:
  • ochronę integralności danych, czyli zabezpieczenie przed ich zmodyfikowaniem, poprzez uwierzytelnianie komunikatów przesyłanych między klientem a bramką,
  • ochronę prywatności poprzez szyfrowanie czyniące przesyłane treści nieczytelnymi dla nieuprawnionych podmiotów,
  • uwierzytelnianie komunikujących się encji na podstawie certyfikatów,
  • zapobieganie paraliżowaniu usług poprzez odrzucanie komunikatów powtarzanych lub niezweryfikowanych.

Sesje i połączenia WTLS

Dwiema najważniejszymi koncepcjami WTLS są bezpieczna sesja i bezpieczne połączenie:
  1. Bezpieczne połączenie to połączenie typu peer-to-peer między warstwami transportowymi (w kategoriach modelu odniesienia OSI) zapewniające odpowiedni typ usługi. Ma charakter tymczasowy i zawsze istnieje w ramach konkretnej sesji.
  2. Bezpieczna sesja to wynik skojarzenia klienta z bramką WAP. Ustanowienie sesji wiąże się ze zdefiniowaniem zestawu parametrów używanych przez połączenia nawiązywane w ramach tej sesji. Koncepcja sesji pozwala zaoszczędzić czasochłonnego negocjowania parametrów dla każdego połączenia z osobna.
W danej chwili między klientem a bramką może istnieć wiele bezpiecznych połączeń. Teoretycznie możliwe jest jednoczesne istnienie wielu sesji, choć w praktyce raczej z możliwości tej się nie korzysta.
Każda sesja może w danej chwili znajdować się w różnych stanach. Gdy zostanie ustanowiona, znajduje się w stanie ustalonym dla odczytu i zapisu (czyli odbierania i wysyłania danych); ponadto w czasie tworzenia sesji przez podprotokół powitalny (handshake) tworzony jest stan przejściowy (pending state), który po zakończeniu działania tego protokołu staje się stanem ustalonym.

Stan bezpiecznej sesji WTLS określony jest przez następujące parametry:
  • identyfikator sesji - dowolny ciąg bajtów wybrany przez bramkę do identyfikowania stanu sesji,
  • wersję używanego protokołu WTLS,
  • certyfikat partnera - nieobowiązkowy,
  • metodę kompresji - algorytm wykorzystywany do kompresowania danych przed ich szyfrowaniem,
  • specyfikację szyfru - określenie algorytmu szyfrowania (opcjonalne, na przykład RCS lub DES), algorytmu haszowania wykorzystywanego do obliczenia kodu MIC (np. MDS lub SHA-1 ) oraz atrybutów kryptograficznych, m.in. hash_size,
  • tajny kod główny - ciąg 20 bajtów współdzielony przez klienta i bramkę i nieznany nikomu innemu,
  • sposób numerowania - metoda nadawania numerów sekwencyjnych przesyłanym PDU: jawna (explicit), domyślna (implicit) albo rezygnacja z numerowania (off),
  • odświeżanie - określenie częstotliwości odświeżania niektórych parametrów kryptograficznych (klucza szyfrowania, sekretu głównego i wektora inicjacyjnego IV),
  • znacznik wznawiania - określenie, czy w ramach sesji mogą być tworzone nowe połączenia.
Stan bezpiecznego połączenia określony jest przez środowisko operacyjne podprotokołu rekordu i obejmuje wszystkie parametry operacji kryptograficznych (szyfrowania, deszyfracji oraz obliczania i weryfikowania kodów MIC), a ponadto następujące elementy:
  1. klasyfikację nadawcy - wskazanie, czy encja wysyłająca PDU jest klientem, czy bramką,
  2. algorytm szyfrowania - dane związane z szyfrowaniem, między innymi rozmiar klucza dla danego algorytmu, efektywnie wykorzystywany rozmiar klucza, typ szyfru (blokowy albo strumieniowy) i rozmiar bloku (dla szyfru blokowego),
  3. algorytm MIC - rozmiar klucza wykorzystywanego do obliczania kodu MIC oraz rozmiar samego kodu MIC,
  4. algorytm kompresji - wszelkie informacje związane z algorytmem kompresowania rekordów,
  5. tajny kod główny - ciąg 20 bajtów współdzielony między klienta i bramkę,
  6. losowy parametr kliencki - 16-bitowa wartość losowa dostarczana przez klienta,
  7. losowy parametr bramki - 16-bitowa wartość losowa dostarczana przez bramkę WAP,
  8. sposób numerowania - metoda nadawania numerów sekwencyjnych przesyłanym PDU: jawna (explicit), domyślna (implicit) albo rezygnacja z numerowania (off),
  9. odświeżanie - określenie częstotliwości odświeżania niektórych parametrów kryptograficznych (klucza szyfrowania, sekretu głównego i wektora inicjacyjnego IV). Jeżeli oznaczymy ten parametr przez r, to odświeżanie odbywa się co n=2r rekordów, czyli wtedy, gdy numer sekwencyjny osiągnie wartość O, n, 2n, 3n itd.

Architektura protokołu WTLS

WTLS nie ma struktury monolitycznej, lecz podzielony jest na dwie warstwy, jak pokazano to na rysunku. Rezydujący w warstwie niższej podprotokół rekordu (WTLS Record Protocol) zapewnia podstawowe usługi na użytek podprotokołów rezydujących w warstwie wyższej. Jednym z tych podprotokołów jest WTP, trzy pozostałe - podprotokół powitalny (Handshake Protocol), podprotokół zmiany szyfru (Change Cip her Spec Protocol) i podprotokół alarmowy (Alert Protocol) są integralną częścią WTLS.

Podprotokół powitalny WLS Podprotokół zmany szyfru WTLS Podprotokół alarmowy WTLS WTP
Podprotokół rekord u WTLS
WDP lub UDP/IP

Rysunek. Stos protokołów WTLS


Źródła i Literatura:
William Stallings - "Kryptografia i bezpieczeństwo sieci komputerowych - Koncepcje i metody bezpiecznej komunikacji", Wydanie V, Wydawnictwo Helion 2012, ISBN: 978-83-246-2987-9.
Polish language edition published by HELION S.A. Copyright© 2012.
Copyright© 2012 Wydawnictwo HELION S.A
WWW: http:pl/helion.pl (księgarnia internetowa, katalog książek)

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *