Przegląd zagadnień kryptografii

Wraz z rozpowszechnieniem komputerów i sieci oraz ich zastosowań coraz większego znaczenia nabiera też zagadnienie bezpieczeństwa systemów.

Wraz z rozpowszechnieniem komputerów i sieci oraz ich zastosowań coraz większego znaczenia nabiera też zagadnienie bezpieczeństwa systemów.

Podstawowe problemy można sformułować w pięciu punktach:

  • Korzystanie z otwartych sieci przez laików prowadzi do tego, że coraz więcej niewłaściwie skonfigurowanych, a więc słabo chronionych systemów tworzy coraz większą "masę celów" potencjalnych ataków.

    Zautomatyzowane, dostępne w Internecie narzędzia - często nawet z interfejsem graficznym - znakomicie ułatwiają przygotowanie i przeprowadzenie ataku. Hakerstwo w sieci przekształca się pomału z magii dla wtajemniczonych w dziecinną zabawę.

  • Z powodu coraz większego skracania czasu produkcji (hasło - szybciej na rynek!) niemal całe dostępne oprogramowanie ma mniejsze lub większe luki w mechanizmach zabezpieczeń.

    n Instalowanie poprawek i łat ze względu na ich liczbę sprawia coraz więcej trudności, zwłaszcza administratorom sieci.

  • Zdefiniowanie, wdrożenie i konsekwentne stosowanie polityki bezpieczeństwa jest z reguły zadaniem kompleksowym. Zamiast odpowiednio dobranych, skrojonych na miarę rozwiązań wielu użytkowników zadowala się stosowaniem pojedynczych, specyficznych produktów, które w efekcie dają im złudne poczucie bezpieczeństwa.

  • Ciągle rośnie liczba użytkowników mobilnych. Zarówno technologie transmisji bezprzewodowej, jak i coraz powszechniejszy zdalny dostęp (dial-up, wirtualne sieci prywatne) to nowe zadania dla systemów bezpieczeństwa.
Bezpieczeństwo i ochrona

Bezpieczeństwo w odniesieniu do komputerów i sieci można zdefiniować jako nieistnienie zagrożeń lub skuteczną ochronę przed nimi. Trzeba pamiętać, że mamy tu do czynienia z wielkością subiektywną, której nie można bezpośrednio zobaczyć lub zmierzyć.

Język angielski, w przeciwieństwie do polskiego, bardzo subtelnie rozróżnia safety od security, dwa aspekty bezpieczeństwa, ściśle ze sobą związane. Safety (bezpieczeństwo) odnosi się do niezawodności systemu, szczególnie do jego pracy i odporności na uszkodzenia. Z kolei security (ochrona) oznacza zabezpieczenie systemu przed zamierzonymi atakami. Oba pojęcia nie są od siebie niezależne - bezpieczeństwo obejmuje również ochronę.

Nasza seria artykułów na temat bezpieczeństwa koncentruje się na aspekcie ochrony i w związku z tym zajmiemy się bliżej następującymi podgrupami tematów:

  • Poufnością (confidentiality, privacy) - ochroną przed atakami polegającymi na podsłuchu.

  • Integralnością (integrity) - ochroną przed (zwykle częściową) zmianą informacji. Zagadnienie integralności sieci dotyczy zarówno zawartości pakietów danych, jak również informacji, które sterują ich ruchem, w tym szczególnie informacji dotyczących adresowania pakietów.

  • Uwierzytelnianiem (authentication, również non-repudiation) - kontrolą, czy nadajnik jest rzeczywiście tym, za który się podaje.

  • Dostępnością (availability) i dostępem (access) - informacje powinny być dostępne tylko tam i tylko wtedy, gdzie i kiedy są potrzebne osobom upoważnionym. Niniejsza część poświęcona jest zapewnieniu poufności - zajmiemy się bliżej podstawami i poszczególnymi technikami kryptograficznymi.
Kryptografia

Wyraz "kryptografia" jest zapożyczeniem z języka greckiego: krypto - ukryty, tajny, graph - pismo, słowo. Tak więc pierwotnie kryptografia oznaczała tajne pismo.

Kryptografia zajmuje się, z jednej strony, szyfrowaniem (kodowaniem), czyli przekształceniem tekstu z postaci ogólnie zrozumiałej (tekst otwarty, czysty tekst) na niezrozumiałą (tekst szyfrowany, tajny). Przekształcenie to musi się odbyć w taki sposób, żeby uprawniony odbiorca mógł jednoznacznie odwrócić zastosowaną transformację w w procesie odszyfrowywania (dekodowania).

Wynika z tego, że celem działania nie jest ukrycie przed osobami trzecimi samego istnienia właściwej informacji, a jedynie jej treści. Ten aspekt poufności określa się jako szyfrowanie. Ukrywaniem informacji zajmuje się specjalny wariant kryptografii, tzw. steganografia (steganos oznacza w języku greckim ukryty).

W rozszerzonym znaczeniu do zadań kryptografii należy również kontrola integralności i uwierzytelnianie. Odpowiednie funkcje opierają się często na ograniczonych technikach kryptograficznych, w których szyfrowanie niekoniecznie musi być odwracalne. W tym wypadku konieczna jest jedynie pewność, że dwie różne wielkości wyjściowe mogą dać ten sam rezultat jedynie z bardzo niewielkim prawdopodobieństwem.

Transpozycja kontra podstawienie

Kryptografia rozróżnia dwie podstawowe techniki szyfrowania. Transpozycja (przesunięcie) zmienia nie same znaki, ale kolejność ich występowania. Można to uzyskać, przestawiając na przykład dwie kolejno po sobie następujące litery - kryptografia przyjmie wówczas postać rkpyotrgfaai.

Transpozycja w postaci scramblingu stosowana jest w wielu technikach bezprzewodowego przesyłu informacji. Osłabia wpływ błędów przesyłania partiami (burst errors), które zakłócają wiele bezpośrednio po sobie następujących znaków w przekazie. Po descramblingu zakłócone obszary nie znajdują się w bezpośrednim sąsiedztwie, lecz rozkładają się na większym obszarze, dzięki czemu lepiej działają mechanizmy rozpoznawania błędów i korekcji.

Druga z podstawowych technik szyfrowania, substytucja, czyli podstawienie, polega na zastąpieniu znaków tekstu jawnego innymi znakami w tekście tajnym. Prostym przykładem jest technika chętnie stosowana już w starożytnym Rzymie przez Juliusza Cezara, polegająca na zastąpieniu każdej litery tekstu jawnego inną literą, znajdująca się o trzy miejsca dalej w alfabecie. W tym przykładzie kryptografia przyjmuje postać nubtxsjudild.

Podstawienie symetryczne

Podstawienie symetryczne zawdzięcza swoją nazwę temu, że nadawca i odbiorca muszą mieć ten sam klucz, jeśli chcą prowadzić komunikację szyfrowaną. Nikt nie może znać tego klucza oprócz obu uczestników komunikacji (metoda tajnego klucza).

Podstawienie symetryczne daje dobry stopień utajnienia danych również jako oprogramowanie komputerowe. Nadaje się bardzo dobrze do szyfrowania dużych ilości danych, natomiast jego wielką wadą jest to, że odbiorca potrzebuje do odczytania wiadomości zastosowanego klucza. Moment przekazania klucza jest słabym ogniwem całej metody, gdyż klucz może zostać przejęty przez osobę nieuprawnioną.

Każda para uczestników procesu komunikacji potrzebuje tajnego klucza na wyłączność. Liczba potrzebnych kluczy m rośnie w postępie geometrycznym wraz z liczbą uczestników komunikacji: n {m = 0,5 * n * (n-1)}.


Zobacz również