Zabezpieczenia przed podsłuchem

Ubiegły rok należał do Snowdena. Tajne służby amerykańskie podkopały zaufanie do mechanizmów bezpiecznej komunikacji w Sieci. NSA podsłuchuje dane przepływające przez oceaniczne światłowody oraz węzły komunikacyjne. Każdy surfujący, który szyfruje swoją komunikację, jest podejrzany. Gdy w oknie przeglądarki widoczna jest ikona zaszyfrowanego połączenia, możemy wyjść z założenia, że tajne służby przechwycą naszą komunikację, a później ją odszyfrują. Nie ma sposobu na powstrzymanie działania Wielkiego Brata. Istnieją jednak techniczne możliwości ochrony naszej komunikacji.

Zdaniem Snowdena tylko najlepsze narzędzie zapewni nam solidne szyfrowanie, uniemożliwiające globalny podsłuch. Zazwyczaj jednak korzystamy z mechanizmów wbudowanych w przeglądarki WWW i obsługiwanych przez serwery, standardowo nawiązując połączenia HTTPS. Zaszyfrowana komunikacja przebiega w dwóch etapach: podczas nawiązania kontaktu (handshake) za pośrednictwem asymetrycznego kodowania przekazywany jest klucz sesji (session key) wymagany do następującego po nim symetrycznego kodowania. Najpierw serwer wysyła przeglądarce klucz publiczny (public key), który pasuje do naszego klucza prywatnego (private key) – uzyskany klucz pozwala na odszyfrowanie wiadomości przekazywanych przez przeglądarkę. Oba klucze podlegają zmianie po nawiązaniu połączenia. Od tego momentu komunikacja przechodzi w tryb mniej złożonego obliczeniowo szyfrowania symetrycznego, dlatego musimy połączyć klucz sesji np. z algorytmem AES.

Negocjacja klucza sesji to ostatni etap nawiązywania połączenia. Klucz prywatny stanowi słaby punkt. Do tego momentu podsłuchujący przechwytuje tylko zakodowany, niezrozumiały ciąg danych, jednak później dociera do klucza prywatnego serwera, a wtedy zna już klucz sesji i potrafi z niego wyekstrahować komunikację. Taki właśnie klucz prywatny NSA chciała uzyskać od Ladara Levisona, administratora serwisu pocztowego Lavabit, z którego Edward Snowden regularnie korzystał. Gdyby zakodowane maile Snowdena zostały przechwycone przez NSA, z wykorzystaniem klucza prywatnego można by je odczytać w całości. Jednak Levison, zamiast przekazać klucz NSA, zamknął swój webowy serwer pocztowy. Odczytanie emaili z ciągu zaszyfrowanych danych nie byłoby możliwe, jeśliby do komunikacji wykorzystano Perfect Forward Secrecy (PFS), ponieważ PFS nie korzysta z klucza prywatnego. Klucz sesji nie jest przekazywany przez Internet, lecz samodzielnie obliczany przez obu partnerów. PFS używa do tego celu protokołu wymiany kluczy szyfrujących Diffiego-Hellmana.

W klasycznym DHE określana jest liczba pierwsza i podstawa dla formuły matematycznej, w której zostaną zastosowane dwie losowe liczby całkowite (elementy tajne). Wyniki operacji wykonanych z wykorzystaniem liczby pierwszej, podstawy i wylosowanej liczby całkowitej (dla każdej ze stron osobno) przekazywane są obu stronom, w efekcie czego każda z nich otrzymuje tę samą liczbę, która jest przyjmowana za klucz dla sesji kodowania symetrycznego. Jeśli PFS został poprawnie zaimplementowany, obie strony usuwają klucz sesji po zakończeniu komunikacji. Wówczas nasza zaszyfrowana wymiana wiadomości nie będzie mogła być odkodowana nawet przez nas samych. Matematyka zablokuje podsłuchujących. Wszechmocne serwisy szpiegujące, takie jak NSA, znają wprawdzie parametry i każdorazowo wynik operacji matematycznych przeprowadzonych z wykorzystaniem przypadkowych liczb, jednak żeby złamać klucz, musiałyby znać przynajmniej jedną z wylosowanych liczb. Te są umieszczone w obliczeniach w roli wykładników.

Żeby je wyśledzić, podsłuchujący musiałby rozwiązać równanie logarytmiczne z dwiema nieznanymi liczbami losowymi, co jest ekstremalnie żmudnym, wręcz niemożliwym do zrealizowania zadaniem. Dlatego zarówno serwer, jak i przeglądarka stosują bardzo duże liczby pierwsze, np. 2048-bitowe. Tylko w takim przypadku mamy gwarancję, że atakujący, stosując metodę brute force, nie odgadnie wyniku. Oprócz klasycznego algorytmu Diffiego-Hellmana istnieje również jego odmiana wykorzystująca kryptografię krzywych eliptycznych (ECDHE). Ta metoda matematyczna jest bardziej złożona obliczeniowo. W przypadku ECDHE możliwe jest posługiwanie się mniejszymi liczbami pierwszymi, co przyspiesza generowanie klucza sesji. Praktycznie wszystkie popularne przeglądarki WWW oferują obsługę Perfect Forward Secrecy dla DHE i ECDHE, ale nie zawsze w kombinacji z symetrycznymi metodami kodowania. Podobnie jest z serwerami – wciąż PFS rzadko jest stosowany do wymiany klucza. Zmiany w podejściu do kwestii bezpieczeństwa mogą jednak nastąpić już wkrótce.

0
Zamknij

Choć staramy się je ograniczać, wykorzystujemy mechanizmy takie jak ciasteczka, które pozwalają naszym partnerom na śledzenie Twojego zachowania w sieci. Dowiedz się więcej.