Jak działa szyfrowanie w internecie: przystępne wyjaśnienie dla uczniów gimnazjum

0
5
Rate this post

Spis Treści:

Dlaczego w ogóle coś szyfrujemy? Proste analogie z życia

Kartka z wyznaniem a kartka na głos: różnica między tajemnicą a jawnością

Wyobraź sobie zwykłą lekcję. Kolega pisze do ciebie kartkę: „Podoba mi się Kasia z 2B, ale nikomu nie mów!”. Kartka wędruje przez kilka ławek. Wystarczy, że jedna osoba po drodze ją otworzy, przeczyta i nagle pół klasy zna sekret. To przykład „otwartej” wiadomości – każdy, kto ją przechwyci, może ją zrozumieć.

Teraz inna wersja. Umawiacie się wcześniej na zamianę liter: każda litera w alfabecie przesunięta jest o 3 miejsca dalej. Zamiast „A” piszecie „D”, zamiast „B” – „E”, itd. Kolega pisze: „Surgrpe pb gx fcpd”. Dla osoby postronnej to kompletny bełkot. Dla was – czytelna wiadomość, bo znacie „zasadę mieszania liter”. Właśnie zrobiliście swoją pierwszą, prostą formę szyfrowania.

Różnica jest prosta: w pierwszym przypadku kartka to czytelny tekst, w drugim – tajny kod. Jeśli ktoś nie zna klucza (czyli sposobu zamiany liter), widzi tylko chaos. Dokładnie o to chodzi w szyfrowaniu w internecie: żeby treść była zrozumiała tylko dla nadawcy i odbiorcy, a dla wszystkich „po drodze” wyglądała jak przypadkowy zlepek znaków.

Jakie tajemnice naprawdę krążą po internecie?

Co właściwie wymaga ochrony w sieci? Część osób myśli: „Ja tam nic ważnego nie mam, nie jestem bankiem ani policją”. Zadaj sobie pytanie: czego najbardziej nie chciałbyś, żeby ktoś podejrzał w twoim telefonie lub komputerze? Większość uczniów wskazuje kilka rzeczy:

  • prywatne rozmowy z przyjaciółmi i rodziną,
  • zdjęcia z telefonu i komunikatorów,
  • dane logowania – hasła do gier, poczty, social mediów,
  • informacje o zdrowiu – wizyty u lekarza, wyniki badań, recepty,
  • dane płatnicze – numery kart, BLIK, konta do przelewów.

Te wszystkie informacje naprawdę krążą po internecie. Gdy wysyłasz wiadomość na komunikatorze, logujesz się do dziennika elektronicznego, zapisujesz do lekarza albo kupujesz grę – dane gdzieś „jadą” między twoim urządzeniem a serwerami firm. Bez szyfrowania każdy, kto ma techniczne możliwości podsłuchu, mógłby je po drodze odczytać.

Szyfrowanie działa tutaj jak bardzo mocna kłódka na skrzynce, w której lecą twoje wiadomości. Komu otwierasz skrzynkę? Tylko temu, komu ufasz. Pozostali widzą, że jakieś dane są przesyłane, ale nie wiedzą jakie.

Świat bez szyfrowania: podsłuch na szkolnym i miejskim Wi‑Fi

Wyobraź sobie, że cały internet działałby jak otwarte kartki na lekcji. Łączysz się ze szkolnym Wi‑Fi. Ktoś, kto zna się trochę na sieciach, może uruchomić program, który „podsłuchuje” ruch w sieci. Bez szyfrowania mógłby w prosty sposób zobaczyć:

  • jakie strony odwiedzasz,
  • jakie dane logowania wysyłasz,
  • co wpisujesz w formularzach (np. adres, numer telefonu),
  • treść twoich wiadomości, jeśli korzystasz z nieszyfrowanych usług.

Podobnie na darmowym Wi‑Fi w galerii handlowej, pociągu czy kawiarni. Zdarza się, że takie sieci są celowo zakładane przez przestępców – nadają nazwę „Free_WiFi” albo „City_Hotspot”, a później patrzą, kto się podłączy i co wysyła. Jeśli strony i aplikacje nie używałyby szyfrowania, byłby to dla nich łatwy łup.

Dzięki szyfrowaniu ktoś „po drodze” widzi tylko to, że łączysz się z jakąś stroną (np. z bankiem), ale nie zna treści twojego logowania ani numerów, które wpisujesz. Ruch wygląda jak nieczytelny ciąg znaków – matematycznie „pomieszany” tak, by bez klucza nie dało się go odzyskać w sensownym czasie.

Oszwojenie pojęcia „szyfr” – zamiana treści na bełkot

Szyfr to nic innego jak sposób zamiany czytelnego tekstu (tzw. jawnego tekstu) na nieczytelny (tekst zaszyfrowany). Taka zamiana odbywa się według pewnej reguły, którą da się odwrócić, ale tylko znając odpowiedni klucz.

Można to porównać do pisania pamiętnika specjalnym „kodem”. Samo pismo to jeszcze nie szyfr, bo jeśli ktoś zna twój alfabet, to odczyta treść. Szyfr zaczyna się wtedy, gdy nawet patrząc na litery, ktoś nie jest w stanie odgadnąć pierwotnej wiadomości bez znajomości dodat­kowej tajemnicy – sposobu kodowania lub klucza.

Jaki masz cel, ucząc się o szyfrowaniu? Chcesz po prostu zrozumieć, co robi HTTPS w pasku przeglądarki, czy może interesuje cię też tworzenie własnych bezpiecznych haseł i świadome korzystanie z komunikatorów? Od odpowiedzi będzie zależeć, na co szczególnie zwrócisz uwagę w dalszej części tekstu.

Od tajnego alfabetu do matematyki: krótka historia szyfrowania

Prosty szyfr z dzieciństwa: przesuwanie liter w alfabecie

Wiele dzieciaków bawi się kiedyś w „tajny alfabet”. Popularna zabawa to zamiana każdej litery na inną lub przesunięcie o kilka miejsc w alfabecie. Gdy przesuwasz litery o 3 miejsca, mamy właśnie tzw. szyfr Cezara. Przykład:

  • jawny tekst: „KASIA”,
  • przesunięcie o 3: K→N, A→D, S→V, I→L, A→D,
  • zaszyfrowany tekst: „NDVLD”.

Szyfr Cezara używany był już w starożytnym Rzymie do prostych, wojskowych wiadomości. Dzisiaj wygląda na dziecinnie prosty. Ale sam pomysł „przesuwania”, „podmieniania” czy „mieszania” znaków jest wciąż wykorzystywany w dużo bardziej skomplikowanej formie w nowoczesnych algorytmach szyfrowania.

Pytanie: czy kiedyś wymyśliłeś z kimś własny „sekretny język”? Jakie zasady w nim działały, a co było uciążliwe? Najczęściej pojawiają się dwa problemy: łatwo zapomnieć ustaloną regułę oraz ktoś z boku może stosunkowo szybko ją odgadnąć, jeśli przeczyta kilka wiadomości.

Dlaczego proste szyfry są dziś zbyt słabe

To, co da się „złamać” ręcznie w kilka minut, dla komputera jest kwestią sekund. Szyfr Cezara ma tylko 25 możliwych przesunięć (o 1, 2, 3, …, 25). Program komputerowy może po prostu sprawdzić wszystkie możliwości i zobaczyć, przy którym przesunięciu powstaje sensowny tekst.

Podobnie jest z innymi prostymi pomysłami: zamianą liter na liczby, alfabetem od tyłu, dodawaniem stałej liczby do każdego znaku ASCII. Jeśli reguła jest zbyt prosta, komputer może ją „wypróbować” w brute forc’e, czyli metodą siłową: spróbować wszystkie możliwości i wybrać tę, która daje sens.

Dlatego współczesne szyfrowanie używane w internecie opiera się nie na prostym „przesuwaniu alfabetu”, ale na bardzo złożonej matematyce, która sprawia, że nawet najszybszy komputer nie jest w stanie w rozsądnym czasie sprawdzić wszystkich kombinacji. Zamiast 25 możliwości mamy ich liczby astronomiczne – tak duże, że próbowanie po kolei byłoby jak liczenie ziaren piasku na wszystkich plażach świata… po tysiąc razy.

Enigma i wyścig między szyfrowaniem a łamaniem szyfrów

Historia szyfrowania jest pełna wyścigu zbrojeń: jedni wymyślają coraz lepsze szyfry, inni – coraz sprytniejsze metody ich łamania. Symbolicznym przykładem jest Enigma – maszyna szyfrująca używana przez Niemcy w czasie II wojny światowej.

Enigma działała jak skomplikowana maszyna do pisania. Każde naciśnięcie klawisza litery powodowało skomplikowaną elektryczną zamianę tej litery na inną, zależną od ustawienia wirników. Bez ustawień wirników (klucza) odczytanie depeszy było skrajnie trudne. Mimo to matematycy i kryptolodzy, m.in. Polacy, opracowali sposoby łamania tych szyfrów.

Odkrycia wokół Enigmy pokazały coś ważnego: samo posiadanie szyfru nie wystarczy. Trzeba zadbać o to, by:

Jeśli interesuje cię szerszy kontekst tego, jak matematyka, komputery i sztuczna inteligencja się przenikają, sporo inspiracji da się znaleźć na stronach edukacyjnych, takich jak blog gimnazjum w Niegowici – to tam można poczytać więcej o edukacja w połączeniu z technologią i codziennością uczniów.

  • klucze były odpowiednio długie i losowe,
  • były odpowiednio często zmieniane,
  • nie popełniać ludzkich błędów, które ułatwiają łamanie (np. powtarzanie wstępów depesz).

Po wojnie rozwój komputerów sprawił, że szyfrowanie weszło na nowy poziom. Z prostych mechanicznych maszyn przeszło do algorytmów matematycznych zapisanych w kodzie programów i protokołów sieciowych.

Od prostych kodów do internetu, banków i komunikatorów

Dzisiejszy internet opiera się na szyfrowaniu w wielu miejscach. Gdy logujesz się do banku, twoja przeglądarka i serwer banku ustalają wspólny sekret (klucz), dzięki któremu dane są przesyłane w zaszyfrowanej postaci. To samo dzieje się, gdy rozmawiasz na szyfrowanym komunikatorze: twoje wiadomości są tak „mieszane”, żeby tylko odbiorca mógł je z powrotem ułożyć.

Nowoczesne szyfry, takie jak AES (Advanced Encryption Standard) czy algorytmy oparte na tzw. kryptografii asymetrycznej (np. RSA), to tak naprawdę duże pakiety matematyki: potęgowanie, logarytmy, operacje na bardzo dużych liczbach pierwszych, funkcje jednokierunkowe. Brzmi groźnie, ale użytkownik końcowy tego nie widzi – dla niego jest po prostu kłódka w przeglądarce i komunikat „Połączenie jest bezpieczne”.

Co tak naprawdę dzieje się z wiadomością w internecie?

Droga twojej wiadomości: od telefonu do serwera

Gdy wysyłasz wiadomość na komunikatorze albo wpisujesz adres strony, twoje urządzenie robi sporo rzeczy w tle. W dużym uproszczeniu droga wygląda tak:

  1. Telefon lub komputer pakuje dane (wiadomości, żądanie strony) w małe paczki – pakiety.
  2. Pakiety lecą do twojego routera (np. domowego lub w szkole).
  3. Router przekazuje je do dostawcy internetu (operatora, np. sieci komórkowej lub kablowej).
  4. Dalej pakiety wędrują przez różne routery pośrednie i serwery w internecie.
  5. Na końcu docierają do serwera usługi (np. serwera strony WWW, komunikatora, gry online).

Po drodze pakiety mogą przejść przez kilkanaście, a nawet kilkadziesiąt urządzeń należących do różnych firm i instytucji. Każde z nich teoretycznie mogłoby zajrzeć do środka, gdyby dane nie były zaszyfrowane.

Droga a treść: co widać, a czego nie widać?

Dobrze rozróżnić dwie rzeczy: trasę pakietów oraz ich zawartość. Trasa (kto z kim się łączy) jest często widoczna: widać, że twój adres IP komunikuje się z adresem IP jakiegoś serwera. Operator wie także, ile danych wysyłasz i o której godzinie.

Zawartość pakietów może być natomiast zaszyfrowana. Wtedy w środku nie widać tekstu „Cześć, co tam?” czy „login: uczen, hasło: xyz123”, tylko coś w rodzaju „9f3b1c7a…”. Nawet jeśli ktoś przechwyci paczkę, bez odpowiedniego klucza nie potrafi zamienić jej z powrotem na oryginalną wiadomość.

To jak różnica między pocztówką a listem w kopercie:

  • pocztówka – listonosz, pracownicy poczty i każdy po drodze może przeczytać treść;
  • list w zaklejonej kopercie – widać nadawcę i adresata, ale tekst w środku jest ukryty.

Szyfrowanie w internecie tworzy właśnie taką cyfrową kopertę wokół twoich danych.

Gdzie można zostać podsłuchanym?

Najłatwiej podsłuchuje się tam, gdzie jest dużo różnych osób, a bezpieczeństwo sieci jest słabsze. Typowe miejsca:

  • szkolne Wi‑Fi – często hasło znają dziesiątki, a nawet setki osób; nie zawsze sieć jest dobrze skonfigurowana,
  • publiczne hotspoty – Wi‑Fi w galeriach handlowych, kawiarniach, autobusach; czasem zupełnie otwarte, bez hasła,
  • domowe routery – jeśli ktoś pozna hasło do twojego Wi‑Fi lub router ma stare, dziurawe oprogramowanie.

Bez szyfrowania ruchu (np. bez HTTPS) ktoś technicznie ogarnięty mógłby:

  • podejrzeć loginy i hasła do nieszyfrowanych stron,
  • Jak atakują podsłuchiwacze i na co szczególnie uważać

    Podsłuch w sieci nie wygląda jak w filmie, gdzie ktoś siedzi w ciemnym vanie z wielkimi słuchawkami. Zwykle to po prostu program, który „słucha” ruchu sieciowego na danym Wi‑Fi albo na kablu. Zastanów się: z jakich sieci korzystasz najczęściej – dom, szkoła, galerie, hotspoty w autobusach?

    Najczęstsze sztuczki to m.in.:

  • fałszywe Wi‑Fi – ktoś zakłada sieć o nazwie „Free_WiFi” albo „Szkoła_WiFi_2” i czeka, aż ludzie się podłączą; cały ruch przechodzi wtedy przez jego sprzęt,
  • podsłuch w tej samej sieci – jeśli sieć nie jest dobrze skonfigurowana, osoba podłączona do tego samego Wi‑Fi może widzieć cudze pakiety,
  • atak „człowiek w środku” (MITM) – napastnik wpycha się pomiędzy ciebie a serwer, udając „pośrednika”, który przekazuje dane dalej.

W często spotykanym scenariuszu ktoś w kawiarni zakłada fałszywe Wi‑Fi. Ty się łączysz, wchodzisz na nieszyfrowaną stronę (bez HTTPS) i logujesz. Dla atakującego wygląda to jak czytanie otwartej pocztówki.

Pytanie do ciebie: z ilu różnych sieci Wi‑Fi korzystasz tygodniowo i w ilu z nich logujesz się do czegokolwiek ważnego (mail, dziennik elektroniczny, bank)? To dobry moment, żeby to policzyć.

Skąd wiadomo, że połączenie jest szyfrowane?

Przeglądarka pokazuje kilka prostych sygnałów. Pierwszy to kłódka obok adresu strony. Drugi – początek adresu: https:// zamiast http://.

Co dokładnie oznacza HTTPS?

  • połączenie między twoją przeglądarką a serwerem jest zaszyfrowane,
  • serwer ma certyfikat, który potwierdza jego tożsamość (ktoś sprawdził, że to faktycznie np. bank, a nie podróbka),
  • dane logowania, numer karty, wiadomości – lecą w „kopercie”, której nikt po drodze nie powinien otworzyć.

Czy masz nawyk zerknięcia na kłódkę przed wpisaniem hasła? Jeśli nie, spróbuj to dziś parę razy przećwiczyć na stronach, z których korzystasz najczęściej.

Dziewczyna uczy się online, rozmawia z nauczycielem na wideo rozmowie
Źródło: Pexels | Autor: Katerina Holmes

Klucz do zamka: co to jest klucz szyfrujący

Bez klucza ani rusz: idea wspólnego sekretu

Szyfr sam z siebie niewiele daje. To tylko przepis typu: „zamień tekst na ciąg liczb, pomieszaj je w taki i taki sposób”. Żeby szyfr działał, potrzebny jest jeszcze klucz szyfrujący – tajny element, który decyduje, jak dokładnie przebiegnie całe mieszanie.

Można to porównać do zamka szyfrowego w szafce w szkole. Sam mechanizm zamka to szyfr. A kombinacja liczb, którą ustawiasz, to klucz. Bez znajomości tej kombinacji szafka powinna pozostać zamknięta, nawet jeśli ktoś wie, jak zamek jest zbudowany.

W świecie algorytmów mówi się nawet: „bezpieczeństwo systemu ma zależeć od tajności klucza, a nie od tajności algorytmu”. To znaczy, że szyfr może być opisany w podręczniku i każdy może znać jego zasady, ale dopóki nikt nie zna klucza – nie odczyta zaszyfrowanej wiadomości.

Jak wygląda klucz w praktyce?

W filmach klucze to często jakieś kartki z kodami albo hasła. W komputerze klucz jest po prostu ciągiem bitów (zer i jedynek) o określonej długości, na przykład 128, 192 czy 256 bitów.

Żeby było bardziej po ludzku:

  • klucz 128‑bitowy można sobie wyobrazić jak bardzo długi i skomplikowany kod PIN,
  • klucz 256‑bitowy jest jeszcze dłuższy – liczba możliwych kombinacji jest tak wielka, że żaden współczesny komputer nie ma szans przetestować wszystkich, zanim wszechświat zdąży „ostygnąć”.

Ty zazwyczaj nie widzisz tych kluczy. Twoja przeglądarka i aplikacje same je losują, zapisują w pamięci na chwilę i po zakończeniu połączenia usuwają. Użytkownik widzi tylko efekt: działa lub nie działa.

Jak myślisz, co jest trudniejsze do zgadnięcia: twoje ulubione hasło typu „Kotek123” czy losowy 128‑bitowy klucz wygenerowany przez komputer?

Silny klucz kontra słabe hasło

Jest jedna ważna rzecz: klucz szyfrujący i hasło użytkownika to nie zawsze to samo. System może mieć świetny, długi klucz, ale być chroniony hasłem typu „admin” albo „123456”. Atakujący może wtedy:

  • zgadnąć lub wyliczyć hasło (np. metodą brute force),
  • dzięki hasłu przejąć dostęp do urządzenia lub konta,
  • a potem spokojnie odczytywać klucze i rozszyfrowywać dane.

Dlatego w wielu systemach twoje hasło jest używane tylko po to, żeby odszyfrować właściwy klucz zapisany na serwerze lub w urządzeniu. Jeśli hasło jest słabe, wszystko, co miało być „superbezpieczne”, robi się nagle kruche jak szkło.

Jak oceniasz swoje hasła w skali 1–10, gdzie 1 to „imię psa plus rok urodzenia”, a 10 to długi, losowy zlepek znaków zapamiętany menedżerem haseł?

Losowość i długość: z czego robi się dobry klucz

Silny klucz ma zwykle dwa ważne parametry: długość i losowość.

  • Długość – im więcej bitów, tym więcej możliwych kombinacji. Przeskok z 128 do 256 bitów nie oznacza „dwa razy trudniej”, tylko „niewyobrażalnie trudniej”.
  • Losowość – klucz nie powinien być „przewidywalny”. Sekwencja 000000000000... formalnie jest kluczem, ale beznadziejnym.

Systemy operacyjne wykorzystują różne źródła losowości: ruch myszką, opóźnienia w sieci, temperaturę podzespołów. To trochę jak mieszanie kart przed rozdaniem – im więcej zamieszania, tym trudniej przewidzieć kolejność.

Wyobraź sobie, że gracie w klasie w grę karcianą, a osoba rozdająca tylko „lekko” przemiesza talię. Szybko zauważysz wzorce: „o, po tej karcie zwykle idzie tamta”. Z kluczami jest podobnie – słaba losowość to zaproszenie dla atakującego.

Szyfrowanie symetryczne – kiedy wszyscy korzystają z jednego klucza

Jedna tajemnica dla dwóch osób

W szyfrowaniu symetrycznym ten sam klucz służy do szyfrowania i do odszyfrowania wiadomości. To jak hasło do wspólnego pamiętnika: jeśli ty i twoja przyjaciółka znacie ten sam kod do kłódki, obie możecie zamykać i otwierać zeszyt.

Formalnie oznacza to:

  • masz algorytm szyfrujący (np. AES),
  • masz klucz (sekretny ciąg bitów),
  • ten sam klucz używany jest po jednej i po drugiej stronie do zamiany tekstu jawnego w zaszyfrowany i odwrotnie.

Pytanie kontrolne: z kim obecnie dzielisz jakieś wspólne „hasło” – np. PIN do domowego Wi‑Fi, hasło do szkolnego dziennika, kod do bramy?

Jak działa to na przykładzie szyfru blokowego

Wyobraźmy sobie, że korzystasz z popularnego algorytmu symetrycznego, takiego jak AES. W uproszczeniu dzieje się seria operacji na danych i kluczu:

Dobrym uzupełnieniem będzie też materiał: Od Turinga do ChatGPT: krótka historia marzeń o myślących maszynach — warto go przejrzeć w kontekście powyższych wskazówek.

  1. Tekst jawny dzielony jest na bloki (np. po 128 bitów).
  2. Każdy blok jest mieszany z kluczem za pomocą działań matematycznych (dodawanie, XOR, podstawienia w tablicach, permutacje).
  3. Mieszanie odbywa się w wielu rundach, czyli powtórzeniach podobnych kroków, za każdym razem trochę inaczej.
  4. Efektem jest blok zaszyfrowany, z którego praktycznie nie da się wywnioskować oryginalnej treści bez klucza.

Odszyfrowanie to po prostu wykonanie tych operacji „w drugą stronę”, z tym samym kluczem. Gdy klucz jest poprawny, z pozornie przypadkowych danych wyłania się z powrotem tekst jawny.

Zalety szyfrowania symetrycznego

Dlaczego takie podejście jest wciąż tak popularne, skoro mamy też inne metody (np. asymetryczne)?

  • Szybkość – algorytmy symetryczne są bardzo szybkie. Nadają się do szyfrowania dużej ilości danych: filmów, plików, całego ruchu sieciowego.
  • Prosta konstrukcja – w porównaniu z kryptografią asymetryczną jest mniej skomplikowana matematycznie (co nie znaczy, że prosta). Łatwiej ją zaimplementować w układach elektronicznych, kartach sieciowych, procesorach.
  • Małe wymagania sprzętowe – telefon, router czy starszy komputer radzi sobie z symetrycznym szyfrowaniem bez problemu.

Dlatego gdy oglądasz film na platformie streamingowej albo grasz online, ogromna większość danych jest szyfrowana właśnie metodami symetrycznymi.

Największy problem: jak się dogadać co do klucza?

Ten typ szyfrowania ma jednak poważną wadę: obie strony muszą znać ten sam sekret. Trzeba go jakoś przekazać, zanim zacznie się bezpieczna rozmowa. I tu pojawia się pytanie: jak przesłać ten klucz, żeby nikt go nie podsłuchał?

Typowe scenariusze wyglądają tak:

  • w świecie „offline” – umawiacie się na klucz twarzą w twarz i zapisujecie go w pamięci lub w notatniku,
  • w małej firmie – administrator generuje klucz i ręcznie wprowadza go na urządzenia (np. na firmowe laptopy, routery),
  • w internecie – do uzgadniania wspólnego klucza często używa się najpierw kryptografii asymetrycznej, a dopiero potem przechodzi na szyfrowanie symetryczne.

Wyobraź sobie, że dyrektor szkoły chce w tajemnicy wysyłać ogłoszenia do wychowawców. Gdyby trzeba było każdemu wychowawcy osobiście podać inny klucz, przy dużej szkole robi się z tego niezły chaos. Tak właśnie wygląda problem zarządzania kluczami symetrycznymi na dużą skalę.

Tryby pracy szyfrów – nie tylko samo „mieszanie”

Samo działanie algorytmu (np. AES) to jeszcze nie cała historia. Dochodzą tzw. tryby pracy – sposoby, w jakie kolejne bloki danych są ze sobą powiązane.

Krótko o kilku przykładach:

  • ECB – każdy blok szyfrowany osobno, bez powiązania z innymi; jest szybki, ale niebezpieczny, bo identyczne fragmenty tekstu dają identyczne zaszyfrowane bloki (nie używa się go do transmisji danych),
  • CBC – każdy blok zależy od poprzedniego; wymaga tzw. wektora inicjalizującego (IV), który dodaje losowości na początku,
  • GCM – tryb, który oprócz szyfrowania daje także uwierzytelnienie danych, czyli ochronę przed podmianą.

W praktyce przeglądarki i protokoły sieciowe wybierają nowoczesne tryby, które nie tylko ukrywają treść, ale też pozwalają wykryć manipulację po drodze. To tak, jakby list w kopercie miał jeszcze plombę zabezpieczającą – po otwarciu od razu widać, że ktoś majstrował.

Szyfrowanie symetryczne w twoich codziennych aplikacjach

Choć nie widzisz tego wprost, z szyfrowania symetrycznego korzystasz praktycznie codziennie:

  • Wi‑Fi w domu – protokół WPA2/WPA3 używa algorytmów symetrycznych, żeby zabezpieczyć ruch między routerem a urządzeniami,
  • komunikatory – po uzgodnieniu kluczy często przełączają się na szybkie szyfrowanie symetryczne dla treści wiadomości,
  • dyski i pendrive’y – gdy włączysz szyfrowanie dysku, system korzysta z symetrycznego algorytmu, aby chronić pliki.

Pomyśl przez chwilę: które z twoich urządzeń (telefon, laptop, konsola, router) prawdopodobnie szyfrują dane? Jak możesz to sprawdzić w ustawieniach albo w instrukcji?

Co się dzieje, gdy klucz symetryczny wycieknie?

Jeśli ktoś pozna klucz symetryczny, sytuacja jest dość prosta – ma pełen dostęp do wszystkiego, co jest nim zabezpieczone. Może:

  • odszyfrowywać przechwycone wcześniej dane (o ile nadal używają tego samego klucza),
  • podszywać się pod jedną ze stron i wysyłać fałszywe, ale „prawidłowo” zaszyfrowane komunikaty,
  • przeglądać zawartość zaszyfrowanych plików lub dysków.

Jak ograniczyć szkody po wycieku klucza?

Skoro klucz symetryczny jest tak cenny, sensowne pytanie brzmi: co zrobić, żeby ewentualny wyciek bolał jak najmniej? Masz już w głowie jakieś pomysły?

Najczęstsze podejścia to:

  • częsta zmiana kluczy – klucze „krótkoterminowe” (sesyjne) są używane tylko przez chwilę, np. przez kilka minut po połączeniu,
  • różne klucze do różnych zadań – inny do szyfrowania, inny do uwierzytelniania, jeszcze inny do tworzenia nowych kluczy,
  • podział danych na części – jeden klucz nie daje dostępu do „całego świata”, tylko do konkretnego fragmentu (np. jednego dysku czy jednej rozmowy),
  • reagowanie na podejrzane zdarzenia – jeśli system wykryje coś dziwnego (np. logowanie z nietypowego kraju), może automatycznie zmienić klucz lub unieważnić sesję.

Kiedy następnym razem komunikator nagle cię wyloguje i poprosi o ponowne zalogowanie, zastanów się: czy to tylko błąd, czy może właśnie próba „ucięcia” podejrzanej sesji i wymuszenia nowych kluczy?

Krótko- i długoterminowe klucze – jak w praktyce wygląda „życie” klucza

Zastanów się: czy bardziej ryzykowne jest trzymanie jednego klucza przez lata, czy wielu kluczy używanych przez krótkie chwile? Kryptografia jasno odpowiada: lepsza jest „rotacja”, czyli zmienianie kluczy.

W systemach szyfrowania często występują:

  • klucze długoterminowe – istnieją miesiącami lub latami, przechowywane są bardzo ostrożnie i używane tylko do zadań specjalnych (np. do uzgadniania innych kluczy),
  • klucze krótkoterminowe (sesyjne) – powstają przy konkretnym połączeniu (np. wejściu na stronę banku), służą do szybkiego szyfrowania danych, a potem są wyrzucane.

Można to porównać do szkoły: dyrektor ma „klucz główny” od większości pomieszczeń (długoterminowy), a uczniowie dostają karty dostępu tylko do wybranych drzwi i na określony czas (krótkoterminowe).

Jak myślisz, z czym wiąże się większe ryzyko: zgubienie jednej takiej karty ucznia czy zgubienie klucza dyrektora?

Kryptografia asymetryczna – dwa klucze zamiast jednego

Dlaczego jeden klucz to czasem za mało?

Przy szyfrowaniu symetrycznym obie strony muszą znać ten sam sekret. Przy małej liczbie osób jakoś się da. Ale co, jeśli użytkowników są miliony, jak w internecie?

Spróbuj odpowiedzieć samemu: gdybyś miał ustalić osobne, tajne hasło z każdą stroną, z której korzystasz (płatności, gry, portale społecznościowe), jak szybko byś się pogubił?

Właśnie dlatego powstała kryptografia asymetryczna, oparta na dwóch różnych kluczach: publicznym i prywatnym.

Para kluczy: publiczny i prywatny

W asymetrycznym szyfrowaniu każdy uczestnik ma swoją parę kluczy:

  • klucz publiczny – można go rozdać wszystkim, umieścić na stronie, wysłać mailem; służy np. do szyfrowania wiadomości do ciebie,
  • klucz prywatny – zostaje tylko u właściciela; nie wolno go nikomu podawać; służy np. do odszyfrowywania wiadomości lub do podpisywania danych.

Działa to trochę jak skrzynka na listy w bloku:

  • otwór na listy z przodu skrzynki jest jak klucz publiczny – każdy może wrzucić list,
  • mały kluczyk do otwierania skrzynki jest jak klucz prywatny – ma go tylko właściciel.

Masz już skojarzenie, dlaczego taki podział rozwiązuje problem „dogadania się co do klucza” bez spotykania się na żywo?

Jak to zaszyfrować, żeby tylko jedna osoba mogła odczytać?

Kiedy chcesz wysłać bezpieczną wiadomość do kogoś (np. do serwera banku), możesz:

  1. pobrać jego klucz publiczny,
  2. zaszyfrować nim wiadomość lub klucz sesyjny,
  3. wysłać dane przez internet.

Po drugiej stronie tylko właściciel pasującego klucza prywatnego może tę treść odszyfrować. Nawet jeśli ktoś przechwyci zaszyfrowane dane, nie zrobi z tym wiele bez prywatnego klucza.

W praktyce często szyfruje się nie całą rozmowę asymetrycznie, ale właśnie klucz symetryczny, który potem posłuży do szybkiego szyfrowania dużej ilości danych.

Podpis cyfrowy – jak poznać, że ktoś cię nie oszukuje

Asymetria działa też w drugą stronę: można użyć klucza prywatnego do stworzenia podpisu cyfrowego. Co to daje?

  • właściciel klucza prywatnego tworzy podpis do konkretnej wiadomości,
  • każdy, kto ma jego klucz publiczny, może sprawdzić, czy podpis jest poprawny,
  • jeśli się zgadza, odbiorca ma dwie informacje naraz: wiadomość nie została zmieniona i pochodzi od właściciela klucza.

To trochę jak pieczątka szkoły na świadectwie: każdy może ją zobaczyć, ale podrobić ją tak, żeby wyglądała identycznie i została zaakceptowana – to już zupełnie inna historia.

Pomyśl: gdzie najbardziej potrzebujesz pewności, że treść pochodzi „naprawdę” od banku, nauczyciela, urzędu, a nie od kogoś, kto podszył się w internecie?

Dlaczego nie szyfrujemy wszystkiego asymetrycznie?

Skoro asymetryczne szyfrowanie tak wygodnie rozwiązuje problem wymiany kluczy, czemu nie używać go wszędzie i zawsze?

Powody są proste:

  • wolniejsze działanie – operacje na dużych liczbach (potęgowanie, dzielenie w trudnych grupach matematycznych) są wolniejsze niż proste działania blokowe w szyfrach symetrycznych,
  • większe klucze – dla podobnego poziomu bezpieczeństwa klucze asymetryczne muszą być dużo dłuższe (np. 2048 bitów i więcej), co też obciąża sprzęt,
  • ograniczenia urządzeń – małe urządzenia (np. tanie czujniki, starsze telefony) mogą mieć problem z intensywną kryptografią asymetryczną.

Dlatego w internecie przyjęło się rozwiązanie mieszane: asymetrię wykorzystuje się do startu i ustalenia sekretu, a symetrię do szybkiego szyfrowania reszty danych.

Nauczyciel prowadzi zdalną lekcję informatyki z uczniami przez laptopa
Źródło: Pexels | Autor: Katerina Holmes

Jak przeglądarka dogaduje się z serwerem – uproszczony obraz HTTPS

Co się dzieje, gdy wpisujesz https:// w pasku adresu

Masz jakiś ulubiony serwis, na który logujesz się codziennie? Spróbuj w głowie rozrysować, co się dzieje w sekundach po tym, jak wciśniesz Enter:

  1. Przeglądarka łączy się z serwerem i obie strony ustalają, jakiej wersji protokołu TLS użyją oraz jakie algorytmy szyfrowania akceptują.
  2. Serwer wysyła certyfikat – specjalny dokument zawierający m.in. jego klucz publiczny i informację, dla jakiej domeny jest ważny.
  3. Przeglądarka sprawdza, czy certyfikat został wystawiony i podpisany przez zaufane centrum certyfikacji.
  4. Jeśli wszystko się zgadza, po obu stronach generowany jest wspólny klucz sesyjny (symetryczny), często z użyciem asymetrycznych mechanizmów typu Diffie‑Hellman.
  5. Od tej pory treść twoich żądań (hasła, wiadomości, dane karty) jest szyfrowana właśnie tym kluczem sesyjnym.

Jednym z efektów ubocznych jest mała kłódka obok adresu strony. Widząc ją, możesz zadać sobie pytanie: czy ufam, że to naprawdę ta strona, za którą się podaje? Przeglądarka stara się to dla ciebie zweryfikować dzięki certyfikatowi.

Skąd przeglądarka wie, komu ufać?

Jeśli serwer może wysłać dowolny certyfikat, ktoś zły mógłby podszyć się pod bank i wcisnąć ci fałszywy dokument. Co wtedy?

System działa podobnie jak sieć zaufanych nauczycieli i dyrekcji:

  • na twoim komputerze lub telefonie znajduje się lista zaufanych centrów certyfikacji (CA) – to takie „urzędowe” instytucje kryptograficzne,
  • strony proszą jedno z CA o wystawienie im certyfikatu; CA sprawdza, czy właściciel domeny jest tym, za kogo się podaje,
  • certyfikat serwera jest podpisany cyfrowo przez CA; przeglądarka weryfikuje ten podpis za pomocą znanych jej kluczy publicznych CA.

Jeśli coś się nie zgadza (np. certyfikat jest wygasły, podpis niepasujący, domena inna niż w certyfikacie), przeglądarka ostrzega użytkownika komunikatem o niezaufanym połączeniu.

Jeśli chcesz pójść krok dalej, pomocny może być też wpis: Czy w kosmosie można rozpalić ogień? Eksperymenty z płomieniem na stacji ISS.

Jak zwykle reagujesz na taki komunikat? Klikasz „kontynuuj mimo ryzyka” czy raczej się wycofujesz?

Uzgadnianie klucza sesyjnego – uproszczony Diffie‑Hellman

Jednym z fascynujących elementów jest sposób, w jaki dwie strony ustalają wspólny sekret tak, aby podsłuchujący nie zrozumiał, co to za sekret. Jedną z metod jest protokół Diffie‑Hellmana.

W ogromnym uproszczeniu:

  1. Obie strony zgadzają się na pewne wspólne parametry (jawne, każdy może je widzieć).
  2. Każda strona losuje swój tajny numer (często wielką liczbę), którego nie ujawnia.
  3. Na podstawie tego tajnego numeru i wspólnych parametrów liczy pewną wartość i wysyła ją drugiej stronie.
  4. Po otrzymaniu wartości od drugiej strony, każda z nich używa swojego tajnego numeru, aby obliczyć końcowy wspólny sekret.

Magia polega na tym, że ktoś, kto podsłuchuje tylko wymieniane wartości pośrednie, nie potrafi policzyć końcowego sekretu – wymagałoby to rozwiązania bardzo trudnego problemu matematycznego (np. z logarytmem dyskretnym).

Wyobraź sobie sytuację: ty i twoja koleżanka mieszacie ten sam kolor farby podstawowej z waszymi tajnymi kolorami pomocniczymi. Widzicie swoje mieszaniny, ale nikt z zewnątrz nie jest w stanie odtworzyć dokładnych tajnych odcieni, które dodaliście osobno. Na końcu uzgadniacie wspólny kolor tylko dzięki temu, co obie strony wiedzą „w głowie”.

Perfect Forward Secrecy – żeby stare rozmowy pozostały tajne

Wyobraź sobie, że ktoś nagrywa cały ruch między tobą a serwerem przez wiele miesięcy. Jeśli kiedyś w przyszłości uda mu się zdobyć klucz prywatny serwera, czy powinien móc odszyfrować wszystkie stare rozmowy?

Nowoczesne wersje TLS stosują mechanizmy zapewniające tzw. Perfect Forward Secrecy (PFS). W praktyce oznacza to, że:

  • każde połączenie ma swój unikatowy klucz sesyjny,
  • klucze sesyjne są wyliczane w taki sposób, że nawet mając klucz prywatny serwera, nie można ich później odtworzyć,
  • po zakończeniu sesji klucze są usuwane z pamięci.

Dzięki temu przejęcie klucza prywatnego serwera jest groźne, ale nie daje automatycznie dostępu do wszystkich dawnych transmisji. Zastanów się: dla jakich rozmów lub danych (np. medycznych, prawnych) ma to największe znaczenie?

Gdzie jeszcze spotykasz szyfrowanie w codziennych sytuacjach?

Komunikatory z „end‑to‑end encryption”

Na pewno używasz przynajmniej jednego popularnego komunikatora. Część z nich chwali się funkcją end‑to‑end encryption (E2EE). Co to konkretnie znaczy?

W prawdziwym E2EE:

  • wiadomość jest szyfrowana na twoim urządzeniu,
  • przechodzi przez serwery w formie zaszyfrowanej (serwer widzi tylko śmieci),
  • odszyfrowanie następuje dopiero na urządzeniu odbiorcy.

Klucze prywatne znajdują się tylko na urządzeniach rozmówców. Serwer pośredniczy w przekazywaniu wiadomości, ale nie jest w stanie ich odczytać.

Jeśli twoja aplikacja twierdzi, że ma E2EE, spróbuj w ustawieniach znaleźć opis, jak zarządzane są klucze. Czy możesz ręcznie zweryfikować „odcisk klucza” znajomego, np. skanując kod QR na jego telefonie?

Szyfrowanie całych dysków i pamięci

Coraz więcej systemów oferuje wbudowane szyfrowanie dysków (np. BitLocker, FileVault, szyfrowanie Androida). Jaką sytuację to rozwiązuje?

Źródła informacji

  • Cryptography and Network Security: Principles and Practice. Pearson (2017) – Podstawy szyfrowania, szyfry klasyczne i nowoczesne, bezpieczeństwo sieci
  • Applied Cryptography: Protocols, Algorithms, and Source Code in C. Wiley (1996) – Przegląd algorytmów szyfrowania, pojęcia klucza, szyfru, brute force
  • Introduction to Modern Cryptography. CRC Press (2014) – Współczesne podejście do kryptografii, bezpieczeństwo obliczeniowe
  • NIST Special Publication 800-175B: Guideline for Using Cryptographic Standards in the Federal Government. National Institute of Standards and Technology (2020) – Zalecenia dot. stosowania nowoczesnych algorytmów szyfrowania
  • RFC 8446: The Transport Layer Security (TLS) Protocol Version 1.3. Internet Engineering Task Force (2018) – Opis protokołu TLS, podstawy działania HTTPS w internecie
  • The Code Book: The Science of Secrecy from Ancient Egypt to Quantum Cryptography. Anchor Books (2000) – Historia szyfrowania, szyfr Cezara, Enigma, rozwój kryptografii