Wprowadzenie
Charakterystyką dzisiejszej komunikacji cyfrowej jest założenie, że rzadko komunikujesz się bezpośrednio ze swoim odbiorcom. Może się wydawać, że ty i twój przyjaciel wymieniacie się wiadomościami bezpośrednio, gdzie w rzeczywistości są one rejestrowane i przechowywane przez centralny serwer.
Możesz jednak nie chcieć, by centralny serwer mógł odczytać twoją wiadomość, którą przez niego przekazujesz. W takim wypadku szyfrowanie end-to-end (lub w skrócie E2EE) może być rozwiązaniem dla ciebie.
Zanim powiemy do czego mógłbyś chcieć używać E2EE oraz jak dokładnie działa ten system, zobaczymy jak przesyłane są nieszyfrowane wiadomości.
Jak działają nieszyfrowane wiadomości?
Omówmy działanie typowej platformy komunikacyjnej, z której możesz korzystać. Instalujesz aplikację i tworzysz konto, dzięki czemu jesteś w stanie komunikować się z użytkownikami, którzy zrobili to samo. Piszesz wiadomość, wybierasz odbiorcę i wrzucasz ją do centralnego serwera. Serwer widzi twoją wiadomość, więc przesyła ją dalej do twojego przyjaciela.
Użytkownika A komunikujący się z Użytkownikiem B. Informacje muszą przejść przez serwer (S), by docierały do swoich odbiorców.
Tę sytuację opisuje się jako model klient-serwer. Klient (twój telefon) nie robi za wiele – zamiast tego serwer zajmuje się całym trudem przesłania informacji. Oznacza to jednak, że usługodawca jest pośrednikiem między nadawcą i odbiorcą.
Jak działa szyfrowanie end-to-end?
Szyfrowanie end-to-end zapewnia, że nikt – nawet serwer, który łączy cię z resztą użytkowników – nie ma dostępu do twoich komunikacji, przez którą rozumiemy zarówno proste wiadomości, jak i pliki, a także rozmowy wideo.
Czym jest wymiana klucza Diffie-Hellman?
Pomysł na wymianę klucza Diffie-Hellman powstał dzięki kryptografom: Whitfield Diffie, Martin Hellman oraz Ralph Merkle. To potężna technika pozwalająca stronom na wygenerowanie wspólnego sekretu w potencjalnie niebezpiecznym środowisku.
Innymi słowy, kreacja klucza może obyć się w niebezpiecznym środowisku (nawet na oczach innych) i nie wpłynie to w żaden sposób na bezpieczeństwo wiadomości. W erze informacji jest to szczególnie ważne, gdyż strony nie muszą wymieniać się fizycznie kluczem, by móc się komunikować.
Wymiana sama w sobie polega na dużych liczbach i magii kryptografii. Nie będziemy się zagłębiać w szczegóły. Zamiast tego posłużymy się popularną analogią o kolorach farb. Załóżmy, że Alice i Bob są w osobnych pokojach hotelowych na różnych końcach korytarza i chcą wymienić się konkretnym kolorem farby. Jednak nie chcą, by ktokolwiek inny się o tym dowiedział.
Niestety całe piętro roi się od szpiegów. Zakładamy, że Alice i Bob nie mogą wejść do swoich pokoi w tym przypadku, więc są w stanie jedynie wchodzić w interakcje na korytarzu. To, co mogą zrobić, to uzgodnić ze sobą (na korytarzu) wspólny kolor – powiedzmy żółty. Biorą więc puszkę żółtej farby i dzielą nią, po czym wracają do swoich pokoi.
W pokojach dodają sekretną farbę – tą, o której nikt nie wie. Alice używa odcienia niebieskiego, a Bob czerwonego. Co ważne, szpiedzy nie widzą, jakich kolorów właśnie użyli Bob i Alice. Zobaczą jednak finalną farbę, ponieważ Alice i Bob wychodzą teraz z pokoju ze swoimi niebiesko-żółtymi i czerwono-żółtymi miksami.
Wymieniają się nimi na korytarzu. Nie ma to znaczenia, czy szpiedzy ich teraz widzą, czy nie, ponieważ nie są oni w stanie ustalić dokładnego odcienia dodanego koloru. Pamiętaj, że to tylko analogia – w normalnych warunkach zastosowanie matematyki, na której bazuje ten system, czyni odgadnięcie sekretnego “koloru” jeszcze trudniejszym.”
Alice bierze mieszankę Boba i vice versa, po czym oboje wracają do swoich pokoi. Teraz oboje znowu wlewają sekretne kolory do środka.
- Alice łączy swój sekretny odcień niebieskiego z czerwono-żółtym miksem Boba i otrzymuje czerwono-żółto-niebieski mix
- Bob łączy swój sekretny odcień czerwonego z niebiesko-żółtym miksem Alice i otrzymuje niebiesko-żółto-czerwony mix
Obydwie kombinacje kolorów są takie same, więc powinny wyglądać tak samo. Alice i Bob w ten sposób stworzyli sekretny kolor, o którym adwersarze nie zdają sobie pojęcia.
Wymiana wiadomości
Nie ma znaczenia, czy jesteś hakerem, dostawcą usługi, czy nawet stróżem prawa. Jeżeli usługa jest faktycznie szyfrowana metodą end-to-end, każda przechwycona wiadomość będzie wyglądała jak bełkot.
Zalety i wady szyfrowania end-to-end
Wady szyfrowania end-to-end
Istnieje tylko jedna wada szyfrowania typu end-to-end – i czy nazwiesz to wadą zależy tylko od ciebie. Dla niektórych to, co oferuje E2EE jest problematyczne, ponieważ nikt nie ma dostępu do twoich wiadomości bez odpowiedniego klucza.
Przeciwnicy metody end-to-end twierdzą, że kryminaliści mogą korzystać z E2EE, by w bezpieczny sposób komunikować się poza nadzorem rządu, a firmy technologiczne nie mogą temu zapobiec. Wierzą, że osoby niełamiące prawa nie powinny mieć potrzeby chowania swoich wiadomości i rozmów telefonicznych. Tę idee popiera wielu polityków, którzy chcą wprowadzić tylne drzwi do systemów szyfrujących, dzięki czemu rząd miałby dostęp do tego rodzaju komunikacji. Jednak takie działanie zabiłoby całą idee szyfrowania end-to-end.
Warto też pamiętać, że zastosowania E2EE nie są w 100% bezpieczne. Wiadomości są ukryte podczas przekazywania ich z jednego urządzenia na drugie, ale pozostają widoczne na końcach tej drogi – np. laptopach i smartfonach użytkowników. Nie jest to koniecznie wada szyfrowania end-to-end, jednak warto o tym pamiętać.
Wiadomość jest widoczna w postaci tekstu tylko przed i po zaszyfrowaniu.
E2EE gwarantuje, że nikt nie będzie mógł odczytać twojej wiadomości w trakcie jej przesyłania. Jednak nadal istnieją zagrożenia:
- Twoje urządzenie może zostać skradzione: jeżeli nie posiadasz kodu PIN lub atakujący obejdzie go, może mieć on natychmiastowy dostęp do twoich wiadomości.
- Twoje urządzenie może przestać być bezpieczne: urządzenie, z którego wysyłasz i odbierasz wiadomości, może mieć wirusa, który będzie śledzić informacje przed i po ich wysłaniu.
Kolejnym ryzykiem jest to, że ktoś może wejść między ciebie i twojego odbiorcę poprzez atak typu man-in-the-middle (pośrednik). To zdarzyć się może na początku tworzenia kanału komunikacji – gdy wymieniacie się swoimi kluczami nie masz pewności, czy robisz to ze swoim przyjacielem. Nieświadomie możesz utworzyć sekretny kanał komunikacji również z atakującym. Później atakujący otrzymuje przesyłane wiadomość i posiada klucz, dzięki któremu może odszyfrowywać wszystko, co od ciebie dostanie. W ten sam sposób może on oszukać twojego przyjaciela. Staje się on pośrednikiem między wami. Jest w stanie wprowadzać dezinformację, odszyfrowywać wiadomości, a nawet je modyfikować.
By to obejść wiele aplikacji korzysta z czegoś na wzór kodu bezpieczeństwa. Jest to ciąg liczb lub kod QR, który możesz przesłać swojemu kontaktowi za pomocą bezpiecznego kanału (najlepiej offline). Jeżeli liczby się zgadzają, obydwoje możecie być pewni, że nikt nie stoi między waszymi wiadomościami.
Zalety szyfrowania end-to-end
Postrzeganie E2EE jako mechanizmu przydatnego wyłącznie przestępcom byłoby poważnym błędem. Nawet najbezpieczniejsze firmy okazują się podatne na ataki cyfrowe, przez co niezaszyfrowane dane użytkowników wyciekają do niechcianych rąk. Wyciek wrażliwych informacji, przekazywanych podczas komunikacji, może mieć katastrofalne skutki dla niektórych osób.
Przemyślenia końcowe
Oprócz wcześniej wspomnianych zastosowań istnieje coraz więcej darmowych narzędzi E2EE: iMessage od Apple, czy Duo od Google, które są fabrycznie wgrane w systemy iOS i Android, a także mnóstwo innych, nastawionych na prywatność i bezpieczeństwo oprogramowań, które pojawiają się każdego dnia.