WhatsApp nie czyta Twoich wiadomości. Nie musi…

6 077

Zainspirowani niedawną dyskusją na temat prywatności popularnego komunikatora internetowego WhatsApp, postanowiliśmy przyjrzeć się sprawie nieco bliżej. Co tak naprawdę i jak wiele wie o nas WhatsApp? Czy, jak sugeruje Elon Musk, warto korzystać z Signal? Przed Wami tłumaczenie rozprawy pod wszystko mówiącym tytułem: „WhatsApp Doesn’t Read Your Messages, It Doesn’t Need To”. Zapraszamy!

W chwili pisania tego tekstu firma WhatsApp opublikowała nowszą wersję swojej polityki prywatności (4 stycznia 2021 r.).

Czytamy w niej, między innymi:

„Jesteśmy jedną z firm Facebooka. Więcej informacji na temat sposobów, w jakie udostępniamy informacje w tej rodzinie firm, można znaleźć poniżej w niniejszej Polityce Prywatności.”

Kiedy wczoraj otworzyłem WhatsApp, powitano mnie prośbą o przeczytanie komunikatu napisanego drobnym drukiem. Dużo było tam mowy o „szyfrowaniu end-to-end”. WhatsApp ma nawet śmieszne 30-sekundowe wideo informujące użytkowników o istnieniu takiego rodzaju szyfrowania. Nie pokusił się jednak o żadną próbę wyjaśnienia, czym ono tak naprawdę jest.

Video zapewne na celu przekonać mnie, że moje wiadomości są w WhatsApp bezpieczne. Kiedy pomyślałem o tym przez chwilę, stałem się sceptyczny.

Wkrótce byłem pewien. Nie. Nic nie było bezpieczne.

Co to jest szyfrowanie end-to-end?

Mówiąc najprościej, oznacza to, że nikt poza docelowym odbiorcą nie może czytać / przeglądać / uzyskiwać dostępu do wysłanych informacji.
Po pierwsze, jak działa normalne szyfrowanie?

Szyfrowanie jest bardzo powszechną cechą każdego rozproszonego systemu oprogramowania. Głównym celem szyfrowania jest zabezpieczenie danych przed podsłuchiwaniem bądź przechwyceniem przez podmioty zewnętrzne.

To oznacza, że ​​serwer (a tym samym zespół programistów) jest de facto jednostką zaufaną. W wyjątkowych przypadkach stają się nią również podmioty prawne (NSA, CIA, FBI). Dojdziemy do tego nieco później.

Jeśli sąsiadowi uda się zhakować Twoją sieć Wi-Fi, będzie mógł uzyskać dostęp do całej Twojej aktywności online. W przypadku niezaszyfrowanych danych może je zobaczyć w postaci zwykłego tekstu, na przykład:

[email protected] – hasło1234

Jednak przy szyfrowaniu, twój sąsiad widzi tylko to:

E-mail: w8FOdIASVEOuU33VtlUDRFXVE3oARNHq1v5tOQdkX8M =

Hasło: K4ysWmpk9g7T8TIlxWYuqg ==

Dla tych, którzy są zaznajomieni z tematem, obydwa ciagi są szyfrowane przy użyciu AES z kluczem (secret), który znam tylko ja (klucz tajny: „mysecret”). W prawdziwych aplikacjach secret jest zwykle wybierany przez twórcę aplikacji (na przykład przy użyciu pewnej biblioteki szyfrów, takiej jak Node.js crypto), a nie przez samego użytkownika ani przez urządzenie użytkownika.

Oznacza to, że Twoje dane są zabezpieczone przed notorycznymi podsłuchami i hakerami, aczkolwiek nie przed złośliwymi aktorami w zespole serwera.

Oznacza to również, że serwer aplikacji musi mieć sposób na przechowywanie tego hasła („mysecret” w powyższym przykładzie), aby odszyfrować zaszyfrowaną wiadomość e-mail i hasło, które trafią na serwer podczas logowania. To samo dotyczy wszystkich innych wymian danych między klientem a serwerem.

Twoje dane są zabezpieczone przed notorycznymi podsłuchami i hakerami in-transit, ale nie przed potencjalnymi napastnikami po stronie zespołu programistów aplikacji lub agencji śledczych. Jest wysoce prawdopodobne, że Twój tajny klucz jest pojedynczą jednostką chroniącą wszystkie Twoje dane – w celu zaoszczędzenia miejsca na serwerze i przepustowości.

Aby obejść takie łatwe exploity, można ukryć „mysecret” za pomocą technik takich jak haszowanie. Hashe są jednokierunkowe. Oznacza to, że „mysecret” wygeneruje jakiś bełkot, taki jak „P1OxC + gPZ9zFhvqeHt4AFQ ==”, który zostanie zapisany na serwerze w celu późniejszego odszyfrowania wiadomości e-mail i hasła, ale nie służy to założonemu celowi. Eliminując zwykły dostęp do starego klucza, hash staje się nowym kluczem.

Jeden klucz zapewniający dostęp do wszystkich Twoich szafek = pojedynczy punkt awarii.

Ponownie, brak możliwości odczytania danych przez serwer nie jest pożądane w większości sytuacji. Na przykład, jeśli zamówisz telewizor na Amazon, musi on mieć możliwość odszyfrowania zamówienia + adresu, aby wysłać go z magazynu.

***

Jednak nie jest to prawdą w przypadku aplikacji konsument-konsument, gdy celem aplikacji jest służenie obu stronom, bez ingerencji serwera / osoby trzeciej w komunikację. Wiadomości są jednym z takich scenariuszy użycia.

Aby rozwiązać problem prywatności + wiele innych możliwości wynikających z MITM (atak Man in the middle), wprowadzono szyfrowanie end-to-end.


Oto, co obiecuje szyfrowanie end-to-end:

Gdy aplikacja korzysta z szyfrowania end-to-end oznacza to, że:

  • Dane nadawcy są szyfrowane bezpośrednio u źródła. Nikt (nawet serwer aplikacji) nie może ich odszyfrować. Obejmuje to tekst, dźwięk, wideo – dowolną formę danych.
  • Dane są odszyfrowywane w miejscu docelowym, na urządzeniach należących do zamierzonych odbiorców (przeważnie poza jakąkolwiek formą weryfikacji). W przypadku wiadomości i połączeń grupowych dzieje się tak na wszystkich urządzeniach członków grupy za każdym razem, gdy próbują odczytać wiadomość lub odebrać połączenie audio / wideo.
  • Jeśli ktoś (serwer, nasłuchujący, haker lub organy ścigania) spróbuje odszyfrować dane, zostaną one zniekształcone.

Jak wdrażane jest szyfrowanie end-to-end?

Chociaż nie jest to objęte zakresem tego artykułu, stworzy sensowne podwaliny do zrozumienia zagadnienia…

Da również nieco krytycznego kontakstu, dlaczego w ogóle na czoło sektora komunikatorów reklamujących się jako prywatne, wyszedł Signal.

Szyfrowanie typu end-to-end opiera się na zasadach kryptografii klucza asymetrycznego (znanej z kryptografii klucza publicznego).

Na potrzeby dowolnego systemu komunikacji każdy uczestnik ma dwa klucze: publiczny (znany światu) i prywatny (znany tylko sobie).

Ze względu na ich złożoność matematyczną, ogromną liczbę z nich można łatwo utworzyć i odtworzyć w dowolnym momencie. Innymi słowy, nie jesteś ograniczony do skończonego zestawu kluczy publicznych / prywatnych. Są one matematycznie powiązane ze sobą, dzięki czemu mogą wspólnie opracować treść wiadomości.

Każda forma kryptografii klucza publicznego wymaga, aby nadawca i odbiorca mieli wzajemny dostęp do kluczy publicznych. To samo w sobie nie zapewnia poufności wiadomości (dopóki wiadomość nie zostanie przekształcona przy użyciu jakiejś ich kombinacji), ale jest to absolutne minimalne wymaganie potwierdzenia autentyczności nadawcy / odbiorcy.

Koncepcje kryptografii klucza publicznego dotyczą przede wszystkim podpisu cyfrowego, a nie samego szyfrowania, ponieważ jego wynalezienie miało na celu zapobieganie działalności zewnętrznych interuptorów (np. kogoś siedzącego między Tobą a serwerem, podszywającego się pod Ciebie lub serwer). Serwer zawsze był uważany za święty..

whatsapp
źródło: Wikipedia

Rozważmy teraz systemy przesyłania wiadomości. Serwer jest zawsze zaangażowany. Jak zrobić pakiet danych, który może zostać odszyfrowany przez odbiorcę, ale przez kogoś innego już nie? Kto zagwarantuje, że serwer nigdy nie wypuści łatki, która wykradnie twoje klucze prywatne, przeczyta wszystkie twoje wiadomości z ostatniego roku i skończy z tym, żeby nigdy nie dać się złapać na gorącym uczynku?

Piękno DHM polega na tym, że ​​ten tajny numer jest całkowicie losowy, unikalny dla każdej wiadomości i nigdy nie może być przechowywany, więc jest mało prawdopodobne, aby został skradziony przez złośliwych lub potężnych insiderów.

Aby rozwiązać ten problem, Diffie i Hellman wprowadzili w 1976 roku algorytm bezpiecznej wymiany kluczy, znany jako DHM (wymiana kluczy Diffiego – Hellmana). W 2002 roku Hellman zmienił nazwę na wymianę kluczy Diffie-Hellman-Merkle, aby oddać hołd Ralphowi Merkle, wynalazcy kryptografii publicznej – koncepcji, którą właśnie wyjaśniliśmy powyżej.

whatsapp
źródło: Wikipedia

DHM zapewnia, że ​​oprócz kluczy publicznych i prywatnych istnieje kilka tajnych numerów, o których wiedzą tylko nadawca i odbiorca, aby wygenerować swój wspólny sekret – jednostkę, za pomocą której wszystkie wiadomości są szyfrowane. Załączony diagram opisuje to w uproszczony sposób, ale zawsze można przeanalizować to głębiej.

W rzeczywistych aplikacjach, zamiast kolorów, sekretem mógłby być prywatny numer losowo generowany w momencie transmisji wiadomości. Liczba ta, mimo że jest różna dla obu stron i nie jest znana sobie nawzajem, wytworzyłaby ten sam wspólny sekret przy użyciu wzoru matematycznego obejmującego liczby pierwsze – dla danej wiadomości.

Ze względu na matematyczną złożoność wspólnego sekretu, współczynnik przetwarzania rośnie za każdym razem, gdy do komunikacji dodawana jest nowa strona, np. połączenia grupowe WhatsApp i spotkania wielu użytkowników Zoom. Z tego powodu istnieje ograniczenie liczby uczestników, którzy mogą uczestniczyć w zaszyfrowanym czacie grupowym / spotkaniu e2e.

Dlaczego omawiamy tutaj DHM? Ponieważ był to fundament, na którym został oparty protokół Signal, którego implementacja jest używana przez WhatsApp (+ Skype, a teraz także Facebook Messanger), aby dać sobie mandat do określania siebie mianem platformy end-to-end.

***

Opierając się na protokole Signal, systemy Open Whisper opracowały aplikację na Androida o nazwie TextSecure, której nazwę zmieniono w 2015 roku na Signal. Twórca Signal, Moxie Marlinspike, współpracował wcześniej z zespołem bezpieczeństwa Twittera. Open Whisper Systems pomogło Facebookowi, WhatsApp i Google w przyjęciu pełnego szyfrowania w ich systemach przesyłania wiadomości.

W 2018 roku Moxie założył Signal Foundation wraz ze współzałożycielem WhatsApp Brianem Actonem – znanym ze swojego stanowiska wobec Facebooka, który stosuje strategie naruszające prywatność w celu zarabiania na WhatsApp.

Dlaczego używanie przez WhatsApp pełnego szyfrowania może nie mieć już znaczenia?

Wkrótce po tym, jak WhatsApp ogłosił, że może udostępniać dane Facebookowi, Elon Musk napisał na Twitterze:

Spójrz teraz na zapis z najnowszej polityki prywatności WhatsApp:

WhatsApp w ogóle nie przechowuje treści naszych wiadomości. Może nawet nigdy tego nie robił.

Aby ekonomicznie przechowywać wiadomości użytkowników, trzeba by stworzyć dedykowany komunikator używany tylko przez miliarderów.

Jest bardzo mało prawdopodobne, że WhatsApp kiedykolwiek przechował treści wiadomości. Przyczyną nie jest prywatność, ale serwer + przepustowość, która jest bezpośrednio (czasami nieliniowo) połączona z wysokimi kosztami.

Która firma zapłaci fortunę w chmurze, tylko po to, by przechowywać „hej” czy „tęsknię” użytkowników tylko po to, by co chwilę pojawiać się na wokandzie w sprawach sądowych dotyczących prywatności?

Dla użytkowników WhatsApp ważne są znajdujące się u dołu interfejsu – „Połączenia”. W Polityce Prywatności WhatsApp nie ma wzmianki o tym, że są one przechowywane i sądzę, że nigdy takowej nie było.

Teraz, w myśl cytowanych na wstepie komunikatów, twoje połączenia WhatsApp, podobnie jak twoi znajomi na Facebooku, są własnością Facebooka.

WhatsApp zawsze przechowuje wiadomości i dzienniki połączeń. Jeśli usuniesz wiadomość tekstową, nadal przechowuje ona sygnaturę czasową wiadomości. Oznacza to, że Twoja komunikacja nigdy nie pozostaje bez śladu.

Facebook Messenger może już czytać Twoje wiadomości WhatsApp:

Nie żeby już to robił. Ale dzięki architekturze aplikacji jest to możliwe.

To może być dziwne. Ale to prawda.

W ekosystemie iOS (i jestem pewien, że jest to możliwe również w Androidzie), za pomocą mechanizmu zwanego grupami aplikacji, możliwe jest współdzielenie bazy danych klientów aplikacji między aplikacjami należącymi do podobnych grup aplikacji (tj. organizacji).

Szyfrowanie typu end-to-end jest świetne, ale domyślnie nie jest w pełni dostępne w Facebook Messenger.

Jeśli nie jesteś przekonany, przeczytaj ten bardzo pomocny artykuł o tym, jak wiadomości WhatsApp były przechowywane w postaci niezaszyfrowanej na urządzeniu z systemem iOS i są podatne na dostęp przez komunikator Facebooka za pośrednictwem mechanizmu grup aplikacji. (Ani artykuł źródłowy, ani ja nie twierdzę, że to już się dzieje).

Poniższy diagram przedstawia bazę danych czatów WhatsApp iOS (prawdopodobnie również udostępnianą przez komunikator Facebook), w której wszystko, w tym numer telefonu i treść wiadomości tekstowych, jest przechowywane w postaci zwykłego tekstu!

whatsapp
http://twitter.com/gzanon

Hipotetycznie:

Krok 1: Poprzez grupy aplikacji komunikator Facebooka ma dostęp do miliardów wiadomości WhatsApp w stanie niezaszyfrowanym.

Krok 2: Facebook Messanger może przesyłać wiadomości na serwery Facebooka, bez szyfrowania typu end-to-end.

Nawet jeśli Facebook uczyni to jutro domyślnym, nikt nie wie, co się stanie z miliardami wiadomości WhatsApp z ostatnich 6 lat przechowywanych w postaci zwykłego tekstu.

Wiadomości WhatsApp nie są jednak jedyną rzeczą w kontekście prywatności, o którą powinieneś się martwić:

Nawet w przypadku zaszyfrowanych wiadomości historia konwersacji ujawnia o wiele więcej tajemnic biznesowych niż same wiadomości.

Potencjalny scenariusz, który mógłby wykorzystać Facebook:

Jesteś największym sprzedawcą zabawek w swoim małym mieście, osiągającym wystarczające zyski. Twój USP jest bardzo kreatywnym i genialnym twórcą zabawek w pobliskiej wiosce, o którym nie wie żadna firma produkująca zabawki. Zarabiasz małą fortunę w swoim mieście dzięki niezbyt szczelnie strzeżonej tajemnicy.

Często korzystasz z WhatsApp, aby rozmawiać ze swoim dostawcą. Dzięki sztucznej inteligencji Facebookowi łatwo jest wywnioskować, że może on być Twoim partnerem biznesowym (na podstawie Twojego wzorca komunikacji). Jest to bardziej prawdopodobne niż kiedykolwiek, ponieważ Facebook zna wszystkich twoich znajomych i krewnych z własnej bazy danych.

Co się stanie, gdy jakiś miliarder kupi reklamy na Facebooku kierowane do Twojego miasta? Twój genialny twórca zabawek pojawiłby się jako sugestia dostawcy dla klienta Facebooka z większą kieszenią. Twój biznes momentalnie znika.

Każdy, kto uważa, że ​​jest to spekulacyjne podsycanie strachu, niech po prostu przejdzie do centrum tworzenia reklam na Facebooku i zobaczy dostępne opcje. Nawet w przypadku zaszyfrowanych wiadomości historia rozmów ujawnia o wiele więcej tajemnic biznesowych niż wiadomości i numery telefonów.

Policja ma dostęp do historii połączeń tylko wtedy, gdy jesteś podejrzany o popełnienie przestępstwa. Facebook to nie policja. Zawiera dane. Posiada narzędzia do wizualizacji tego w znacznie bardziej znaczący sposób. Powyższy scenariusz jest moją wyobraźnią, a prawdopodobieństwo, że będzie to przypadek jeden na milion, jest bliskie 1.

Konkluzja:

W szyfrowaniu end-to-end chodzi bardziej o bezpieczeństwo niż prywatność. Jesteśmy chronieni przed nieznanymi zagrożeniami, ale nie mamy kontroli nad tym, co może nas spotkać.

Bez zbioru przepisów prawnych dotyczących programowania, który dyktowałby zasady etycznego gromadzenia i interpretacji danych, „złe” firmy nieuchronnie opóźniają moment, w którym użytkownicy mogliby kontrolować, co dzieje się z ich danymi, gdy tylko zostawią na klawiaturze ślady swoich palców.

WhatsApp ma wkrótce połączyć swoją gigantyczną książkę telefoniczną z Facebookiem, a możliwości są ogromne. Ale nie nieprzewidywalne.

źródło: tutaj

Komentarze