Czym jest szyfrowanie End-to-End (E2EE)?
Strona G艂贸wna
Artyku艂y
Czym jest szyfrowanie End-to-End (E2EE)?

Czym jest szyfrowanie End-to-End (E2EE)?

艢rednio zaawansowany
Opublikowane Jul 3, 2020Zaktualizowane Dec 7, 2023
9m

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.

Szyfrowanie end-to-end to metoda szyfrowania komunikacji pomi臋dzy nadawc膮, a odbiorc膮 w taki spos贸b, 偶e tylko te dwie strony mog膮 odszyfrowa膰 nadane wiadomo艣ci. Pocz膮tki tego typu przesy艂u informacji datuje si臋 na lata 90', kiedy to Phil Zimmerman stworzy艂 Pretty Good Privacy (szerzej znane jako PGP).聽

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膮.

Zazwyczaj dane pomi臋dzy A <> S oraz S <> B, na infografice powy偶ej, s膮 zaszyfrowane. Przyk艂adem tego mo偶e by膰 Transport Layer Security (TLS), z kt贸rego bardzo cz臋sto korzysta si臋, by zabezpieczy膰 po艂膮czenie mi臋dzy klientem i serwerem.
TLS i inne tego typu rozwi膮zania zabezpieczaj膮ce uniemo偶liwiaj膮 komukolwiek na przechwycenie wiadomo艣ci, gdy ta w臋druje od klienta do serwera. Mimo 偶e takie rozwi膮zania blokuj膮 osoby trzecie przed przeczytaniem Twojej wiadomo艣ci, serwer nadal mo偶e je przeczyta膰. W tym miejscu wchodzi szyfrowanie. Je偶eli dane z A zosta艂y zaszyfrowane przy u偶yciu klucza nale偶膮cego do B, serwer nie b臋dzie m贸g艂 ich odczyta膰.聽
Bez metod E2EE serwer mo偶e przechowywa膰 informacje w swojej bazie danych wraz z milionem innych danych. Z racji, 偶e w艂amania do baz danych zdarzaj膮 si臋 od czasu do czasu, taka sytuacja mo偶e mie膰 katastrofalne skutki dla u偶ytkownik贸w.


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.聽

Dane s膮 szyfrowane w takich aplikacjach jak Whatsapp, Signal, Google Duo (podobno), dzi臋ki czemu tylko nadawca i odbiorca mog膮 je odszyfrowa膰. W tym schemacie dzia艂ania czynnikiem rozrusznikowym mo偶e by膰 co艣, co nazywamy wymian膮 klucza.


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 鈥渒oloru鈥 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.



Na tej podstawie tworzymy wsp贸lne sekrety w otwartych przestrzeniach. R贸偶nica jest taka, 偶e nie pracujemy tutaj z farb膮 i korytarzem, a z niezabezpieczonymi kana艂ami oraz publicznymi i prywatnymi kluczami.


Wymiana wiadomo艣ci

Gdy strony maj膮 ju偶 wsp贸lny sekret, mog膮 go wykorzysta膰 jako baz臋 do asymetrycznego schematu szyfruj膮cego. Popularne implementacje cz臋sto korzystaj膮 z dodatkowych technik, by jeszcze bardziej zwi臋kszy膰 bezpiecze艅stwo, ale to ju偶 dzieje si臋 poza wiedz膮 u偶ytkownika. Kiedy ju偶 po艂膮czysz si臋 z przyjacielem poprzez aplikacj臋 E2EE, szyfrowanie i rozszyfrowywanie mo偶e dzia膰 si臋 tylko i wy艂膮cznie na waszych urz膮dzeniach (pami臋taj膮c o wszelkich wra偶liwych punktach oprogramowania).

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

W sytuacji, w kt贸rej nie ma 偶adnej z wy偶ej wymienionych wad, E2EE jest bezsprzecznie o wiele cenniejszym 艣rodkiem komunikacji - bezpiecznym i zapewniaj膮cym prywatno艣膰. Podobnie jak w przypadku onion routing'u, jest to technologia wychwalana przez zwolennik贸w prywatno艣ci na ca艂ym 艣wiecie. E2EE stosuje si臋 w podobny spos贸b, jak zwyk艂e 艣rodki komunikacji cyfrowej, dzi臋ki czemu ka偶dy u偶ytkownik telefonu kom贸rkowego b臋dzie w stanie uzyska膰 dost臋p do tej technologii.

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.聽

Je偶eli dana firma korzysta z E2EE, a jej dane wyciekn膮, atakuj膮cy nie zdob臋d膮 偶adnych istotnych informacji (zak艂adaj膮c, 偶e szyfrowanie jest dobrze zaimplementowane). Co najwy偶ej b臋d膮 mieli dost臋p do metadanych. Dla niekt贸rych mo偶e dalej stanowi膰 to pow贸d do zmartwie艅, jednak jest to zdecydowanie lepsza opcja, ni偶 transmisja ca艂kowicie niezaszyfrowanych wiadomo艣ci.


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.

Pami臋tajmy jednak, 偶e szyfrowanie end-to-end to nie magiczna bariera chroni膮ca ci臋 przed wszystkimi atakami w cyberprzestrzeni. Jednak przy relatywnie ma艂ym nak艂adzie pracy mo偶esz znacz膮co zredukowa膰 zagro偶enia zwi膮zane z korzystaniem z internetu. W po艂膮czeniu z Tor, VPN, i kryptowalutami, komunikatory E2EE mog膮 sta膰 si臋 cennym dodatkiem do twojego arsena艂u narz臋dzi zapewniaj膮cych prywatno艣膰.