Zwłaszcza w kontekście wydarzenia ostatnich miesięcy bardzo interesującą wiadomością jest to, że cała komunikacja za pośrednictwem popularnej aplikacji WhatsApp jest teraz w pełni szyfrowana metodą end-to-end. Miliard aktywnych użytkowników usługi może teraz prowadzić bezpieczną rozmowę, zarówno na iOS, jak i Androidzie. Wiadomości tekstowe, wysyłane obrazy i połączenia głosowe są szyfrowane.
Pytanie brzmi, jak kuloodporne jest szyfrowanie. WhatsApp w dalszym ciągu centralnie obsługuje wszystkie wiadomości, a także koordynuje wymianę kluczy szyfrujących. Jeśli więc haker lub nawet rząd chciałby dostać się do wiadomości, zdobycie wiadomości użytkowników nie byłoby niemożliwe. Teoretycznie wystarczyłoby, żeby przeciągnęli firmę na swoją stronę lub w jakiś sposób bezpośrednio ją zaatakowali.
Szyfrowanie dla przeciętnego użytkownika i tak oznacza ogromny wzrost bezpieczeństwa jego komunikacji i jest dużym krokiem naprzód dla aplikacji. Do szyfrowania wykorzystywana jest technologia renomowanej firmy Open Whisper, z którą WhatsApp testuje szyfrowanie od listopada ubiegłego roku. Technologia opiera się na otwartym kodzie źródłowym (open source).
Nie jest dla mnie jasne, dlaczego centralne szyfrowanie, dlaczego WhatsApp nie pozwala obu uczestnikom rozmowy wymieniać kluczy?
Jednym zdaniem – użyteczność dla BFU. Przy całkowicie niezależnej wymianie kluczy byłoby miło, ale bezużytecznie.
Oczywiście, że miałem na myśli, pod maską. Lame użytkownik wcale nie musi o tym wiedzieć.
Nie widzę nigdzie wzmianki o centralnym szyfrowaniu, wręcz przeciwnie.
Kiedyś było w zwyczaju, że autor artykułu zamieszczał komentarz na podstawie edycji postu, zapisując go krótko w dyskusji i dodając „określone”.
Autor artykułu musiałby jednak coś zmienić.
w takim razie bardzo mi przykro, miałem wilczą mgłę. Błąd wystąpił pomiędzy moim komputerem a ścianą.
Threema
Nie wiem, co autor ma na myśli pisząc o kluczowej koordynacji. O ile wiem i jak wspomniano w artykule, WhatsApp od niedawna korzysta z protokołu Signal, co opiera się na tym, że każda rozmowa oznacza nową wymianę kluczy za pośrednictwem Diffie-Hellmann i wygenerowanie nowego AES i MAC. Wszystko to odbywa się po stronie klienta i nikt po drodze nic z tym nie może zrobić, nawet WhatsApp, który maksymalnie kieruje zaszyfrowane wiadomości pomiędzy użytkownikami oraz może (i prawdopodobnie robi) przechowywać i analizować metadane. A może coś przeoczyłem?
Witam, nie jestem ekspertem w dziedzinie szyfrowania i nie chciałem wdawać się w szczegóły techniczne, których nawet nie do końca rozumiem. W każdym razie, jeśli dobrze rozumiem, WhatsApp działa z kluczami publicznymi używanymi do szyfrowania wiadomości. Zatem jeśli atakującemu za pośrednictwem WhatsApp uda się przekazać komuś swój własny klucz szyfrujący, będzie mógł również odszyfrować zaszyfrowaną wiadomość.
W przeciwnym razie masz rację i przyznaję bez tortur, najprawdopodobniej masz przewagę, jeśli chodzi o szyfrowanie i będę szczęśliwy, jeśli mnie tego nauczysz.
Witam, to dość obszerny temat, ale spróbuję go uprościć - jedyne, co jest przechowywane na serwerze WhatsApp, to kilka Twoich kluczy publicznych, które są wykorzystywane podczas tworzenia sesji czatu między Tobą a kimś innym. Bez nich byłoby to możliwe, ale te tzw. pre-klucze pozwalają między innymi na utworzenie zaszyfrowanej sesji nawet wtedy, gdy druga strona jest offline (co jest specjalizacją protokołu Signal, nie może zrobić nic innego przynajmniej o ile nam wiadomo). W protokole Signal zawarta jest także metoda rzetelnej weryfikacji drugiej strony, zapobiegająca podszyciu się pod Ciebie. Do zaszyfrowania samej wiadomości wykorzystywana jest wówczas kryptografia symetryczna, tzn. wiadomość jest szyfrowana i deszyfrowana tym samym kluczem. Klucz ten generowany jest dla każdej nowej wiadomości i WhatsApp (firma) nie ma do niego dostępu, generowany jest na urządzeniach końcowych (stąd kryptografia End to End), które jako pierwsze wykonały tzw. uzgadnianie przy użyciu protokołu Diffiego-Hellmana ( dokładniej ECDH). Dzięki temu uściskowi dłoni obie strony zyskują tzw. wspólny sekret, czyli jakąś dużą losową liczbę, którą znają obie strony, ale nikt inny nie może jej podsłuchać. W oparciu o ten wspólny sekret obie strony mogą generować coraz to nowe klucze szyfrowania, unikalne dla każdej wiadomości. Danem wejściowym do wygenerowania takiego klucza jest nie tylko wspólny „wspólny sekret”, ale także poprzednia wiadomość. Dzięki tej i innym właściwościom protokołu Signal zapewniona jest tzw. tajemnica przekazu i tajemnica przyszłości, czyli nawet jeśli ktoś dostanie Twoją zaszyfrowaną wiadomość i jakimś cudem uda się ją w przyszłości złamać i uzyska dostęp do klucza szyfrującego, nie będzie mógł odszyfruj inną wiadomość, którą wysłałeś.
Przepraszam, jeśli napisałem to zbyt szczegółowo i powtórzyłem coś, co już wiesz i mam nadzieję, że odpowiedziałem na zamieszanie. Nie jestem specjalistą od kryptografii, ale przypadkiem zajmuję się tym tematem ostatnio dość dogłębnie :) Jeśli jednak ktoś znajdzie jakąś nieścisłość w tym, co napisałem, będzie mi miło, jeśli mnie poprawicie.
Dziękuję bardzo za informację, bardzo jasno to wyjaśniłeś. Następnym razem będę lepiej zaopatrzony w informacje ;)
Czy to oznacza, że WhatsApp nie ma teraz centralnej historii?
Ma centralną historię, ale każda wiadomość jest szyfrowana unikalnym kluczem, który posiada tylko odbiorca wiadomości.