O utajnianiu wiadomości w komunikacji bezpośredniej

O utajnianiu wiadomości w komunikacji bezpośredniej

hejto.pl
Każdy człowiek ma sekrety, coś czym nie chce się dzielić ze wszystkimi. Od zarania dziejów ludzie rozumieli wartość informacji i zagrożenia płynące z ich ujawnienia. Wraz z rozwojem cywilizacji narastała potrzeba chronienia danych przed osobami niepowołanymi, mogącymi wykorzystać je przeciwko nam.

Steganografia

V wiek p.n.e.  na dwór króla Leonidasa dochodzi wiadomość od Demaratosa, jest ona jednak nietypowa, posłaniec wręcza bowiem drewnianą tabliczkę pokrytą woskiem. Nie byłoby w tym nic nadzwyczajnego, gdyż w tamtych czasach popularną metodą zapisu wiadomości było jej wyrycie w wosku. Ta tabliczka była jednak inna, powierzchnia wyglądała na gładką, zupełnie jakby ktoś wysłał pustą wiadomość. Po pewnym czasie odbiorcy doszli do wniosku, że treść może znajdować się w środku. Zeskrobali wosk i przeczytali wyrytą na drewnie informacje: „Persowie planują atak”.

Historia ta opisuje wykorzystanie steganografii, czyli metody ukrywania samego faktu komunikacji. Szyfrowanie jest jej przeciwieństwem, adresatowi nie zależy na ukryciu tego, że przekazuje on wiadomość, lecz na uniemożliwieniu przeczytania jej przez osoby niepowołane, poprzez zamianę tekstu jawnego na szyfrogram (tekst niejawny).

Szyfrowanie symetryczne

Juliusz Cezar, osoba, którą nikomu nie trzeba przedstawiać, był autorem jednego z najbardziej rozpoznawalnych szyfrów symetrycznych. W swojej korespondencji z przyjaciółmi umówił się, że każdą literę będzie zapisywał z przesunięciem o 3 znaki zgodnie z ich pozycją w alfabecie.

W zamyśle autora, aby poznać wiadomość trzeba znać metodę szyfrowania (przesunięcie litery) oraz sekret (o wartość 3). Jak zapewne zauważyłeś, szyfr ten nazwałem symetrycznym. Każda metoda szyfrowania, w której klucz służy do szyfrowania, jak i do odszyfrowania nazywana jest szyfrowaniem symetrycznym. Jeżeli wiemy, że znak przesunięto o 3 pozycję, to do odszyfrowania wystarczy przesunąć go o 3 pozycję w przeciwną stronę.
Prawdopodobnie zdarzyło ci się zaszyfrować plik. Przykładowo za pomocą popularnego programu WinRAR. Skorzystałeś wtedy z szyfrowania symetrycznego, dokładniej mówiąc Rijndael (AES). Hasło użyte do szyfrowania pozwala także odszyfrować zawartość.
Przy wymianie informacji naturalnym problemem jest przekazanie hasła, Juliusz Cezar spotkał się zapewne ze swoimi przyjaciółmi i przekazał im swój klucz. Jednak nie zawsze jest to możliwe. W internecie często kontaktujemy się z osobami nieznajomymi, więc bezpieczne przekazanie hasła jest mocno utrudnione.

Szyfrowanie asymetryczne


W przypadku między innymi komunikatorów internetowych stosujemy szyfrowanie asymetryczne. Polega ono na wygenerowaniu klucza publicznego (znanego wszystkim) i prywatnego (znanego tylko tobie). Istnieją różne metody generowania klucza publicznego, jednak w każdym przypadku wykorzystywane są funkcje jednokierunkowe (trudne do odwrócenia).
Przykładowo, które zadanie wydaje ci się prostsze, znalezienie dwóch liczb pierwszych, których iloczyn to 62062883? Czy pomnożenie liczb: 7879 i 7877?
Załóżmy, że planujesz konwersację ze znajomym znajdującym się daleko od ciebie. Jedyną dostępną metodą komunikacji jest wysyłanie przesyłek pocztowych. Każda taka przesyłka jest jednak dokładnie sprawdzana przez listonosza. Na szczęście ty i twój znajomy posiadacie niezniszczalną skrzynkę oraz niezniszczalną, nieskończenie skomplikowaną kłódkę i kluczyk, każdy swoją. Twój klucz pasuje tylko do twojej kłódki, a klucz znajomego tylko do jego kłódki.
Wpadacie jednak na pomysł:
  • Otwierasz swoją kłódkę i wysyłasz ją do znajomego wraz z listem, aby zrobił to samo.
  • Następnego dnia otrzymujesz od znajomego, jego otwartą kłódkę, piszesz do niego wiadomość, zamykasz ją w skrzynce, zatrzaskujesz na niej kłódkę znajomego, po czym wręczasz ją listonoszowi.
W tym przykładzie można zobaczyć sposób działania kryptografii asymetrycznej. Klucz publiczny (kłódka) jest wykorzystywany do zaszyfrowania wiadomości przez naszego rozmówcę, skrzynka jest sposobem szyfrowania a klucz to klucz prywatny. Niezniszczalność oznacza stopień zaawansowania szyfrowania.
Każdy z rozmówców przekazuje swój klucz publiczny, za pomocą którego szyfrowana jest wiadomość. Klucz ten nie jest żadną tajemnicą, każdy może go poznać. Aby odszyfrować wiadomość, potrzebny jest klucz prywatny. Listonosz zobaczył otwartą kłódkę, jednak stopień skomplikowania jej zamka uniemożliwił mu stworzenie do niej klucza. 
Szyfrowanie asymetryczne opiera się na dwóch zasadach:
  • odtworzenie klucza prywatnego mając klucz publiczny, jest bardzo trudne
  • odszyfrowanie wiadomości zaszyfrowanej kluczem publicznym jest bardzo proste mając klucz prywatny, jednak odszyfrowanie jej tylko kluczem publicznym jest bardzo trudne.

Komputery kwantowe

Słów kilka o komputerach kwantowych, kilka bo jest to temat który przewyższa moje kompetencje ;). Komputery kwantowe są zagrożeniem głównie dla szyfrów asymetrycznych. Będą one w stanie znacznie szybciej, na podstawie klucza publicznego wygenerować klucz prywatny, jest to zagrożenie dla działania całego internetu który w znacznej mierze opiera się na szyfrowaniu asymetrycznym (tu celowo opisałem tylko bezpośrednią wymianę wiadomości pomiędzy ludźmi, żeby się nie rozpisywać).
Aktualnie testowane są asymetryczne szyfry post kwantowe, mające na celu rozwiązanie tego problemu. W przypadku szyfrowania symetrycznego żeby zachować bezpieczeństwo wystarczy zwiększyć długość klucza.

Komentarze (3)

Nebthtet

Dobra robota, dawaj więcej. Np o steganografii nowoczesnej, czyli kitraniu treści w zdjęciach. W sumie to też jest wektor dla wirusów, więc 2 w 1 będzie

doki16

@Nebthtet Dzięki, na pewno jeszcze coś napiszę

rifleysky

Dzięki, do dziś nie do końca łapałem o jak działa klucz publiczny. W takiej formie zatrybiło

Zaloguj się aby komentować