Dlaczego nie jesteśmy lepiej zabezpieczeni przed podsłuchami?

Dlaczego nie jesteśmy lepiej zabezpieczeni przed podsłuchami?

Dlaczego nie jesteśmy lepiej zabezpieczeni przed podsłuchami?
Źródło zdjęć: © chip.pl
14.10.2014 11:45

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 podsłuchiwanie nas z każdego miejsca na świecie. Zazwyczaj jednak korzystamy ze standardowych mechanizmów, wbudowanych w przeglądarki WWW i obsługiwanych przez serwery. Łączymy się przez stronę z HTTPS w adresie, wierząc, że przesyłane przez nas informacje są bezpieczne. 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.

Obraz
© (fot. chip.pl)

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 nawet teoretycznie możliwe, jeśli do komunikacji wykorzystano Perfect Forward Secrecy (PFS). 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.

Obraz
© (fot. chip.pl)

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.

Obraz
© (fot. chip.pl)

Ż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 można mieć pewność, ż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 połczeniu z symetrycznymi metodami kodowania. Podobnie jest z serwerami – PFS wciąż jest rzadko stosowany do wymiany klucza. Zmiany w podejściu do kwestii bezpieczeństwa mogą jednak nastąpić
już wkrótce.

Polecamy w wydaniu internetowym chip.pl: Ampy: genialna kinetyczna ładowarka do smartfona

Oceń jakość naszego artykułuTwoja opinia pozwala nam tworzyć lepsze treści.
Wybrane dla Ciebie
Komentarze (0)