1/20
Wprowadzenie do kryptografii
  • Poufność (Confidentiality) to pierwszy filar triady bezpieczeństwa CIA.
  • Głównym narzędziem inżyniera zapewniającym poufność danych jest kryptografia.
  • Kryptografia to nauka o zabezpieczaniu informacji przed niepowołanym dostępem.
  • Współczesne metody szyfrowania opierają się na zaawansowanych algorytmach matematycznych.
  • Technologia ta chroni nasze codzienne operacje, takie jak logowanie do banku czy płatności zbliżeniowe (NFC).
Cyfrowe zamki i matematyczne równania
2/20
Podstawowe pojęcia kryptograficzne
  • Tekst jawny (Plaintext) to czytelna wiadomość przed procesem szyfrowania.
  • Szyfrogram (Ciphertext) to nieczytelna postać danych powstała po zaszyfrowaniu.
  • Szyfrowanie to matematyczna transformacja tekstu jawnego w szyfrogram.
  • Algorytm kryptograficzny to zdefiniowany zbiór kroków służących do utajniania danych.
  • Klucz (Key) to tajny parametr wejściowy, który steruje działaniem algorytmu.
  • Deszyfrowanie wiadomości wymaga znajomości zarówno algorytmu, jak i odpowiedniego klucza.
Klucz szyfrujący algorytm zębatki jawny tajny proces
3/20
Zasada Kerckhoffsa (klucz, nie algorytm)
  • Zasada sformułowana przez Augusta Kerckhoffsa to fundament nowoczesnego bezpieczeństwa kryptograficznego.
  • System kryptograficzny musi być bezpieczny, nawet jeśli jego algorytm jest publicznie znany.
  • Całe bezpieczeństwo powinno spoczywać wyłącznie w zachowaniu klucza w tajemnicy.
  • Eksperci odrzucają podejście zwane „bezpieczeństwem przez ukrywanie" (ang. security through obscurity), które polega na ukryciu samego mechanizmu szyfrowania.
  • Silne standardy, takie jak AES, są algorytmami publicznie dostępnymi i wielokrotnie poddanymi niezależnemu audytowi.
Zasada Kerckhoffsa algorytm otwarty
4/20
Szyfrowanie symetryczne – jak to działa?
  • To najstarszy i najbardziej intuicyjny rodzaj ochrony danych.
  • Polega na wykorzystaniu tego samego klucza zarówno do szyfrowania, jak i deszyfrowania.
  • Nadawca i odbiorca muszą posiadać identyczną kopię tajnego klucza.
  • Główną zaletą algorytmów symetrycznych jest ich ogromna szybkość i wydajność.
  • Stosuje się je do zabezpieczania dużych zbiorów danych, np. transmisji wideo na żywo.
Szyfrowanie kluczem symetrycznym ten sam zamek
5/20
Wady symetrii: problem dystrybucji klucza
  • Największym wyzwaniem jest bezpieczne przekazanie wspólnego klucza drugiej stronie.
  • Przed wymianą danych strony muszą potajemnie uzgodnić wspólny klucz.
  • Przesłanie klucza otwartym kanałem grozi jego przechwyceniem przez intruza.
  • Osobiste dostarczanie kluczy na skalę globalną jest logistycznie niemożliwe.
  • Ten dylemat określa się mianem „problemu dystrybucji klucza" i przez dekady blokował rozwój bezpiecznej komunikacji w sieci.
Problem przekazania klucza dwóm stronom atakami
6/20
Algorytm symetryczny AES (Advanced Encryption Standard)
  • AES to światowy standard szyfrowania symetrycznego, przyjęty przez amerykański instytut normalizacyjny NIST w 2001 roku.
  • Został opracowany przez belgijskich kryptografów (Joan Daemen i Vincent Rijmen) i zyskał powszechne uznanie.
  • Jest to szyfr blokowy, który przetwarza dane w blokach o wielkości 128 bitów.
  • Wykorzystuje skomplikowane operacje matematyczne i logiczne (m.in. operację XOR, czyli dodawanie modulo 2).
  • Wariant AES-256 (z kluczem o długości 256 bitów) służy do ochrony danych niejawnych najwyższej kategorii.
Logo i schemat przesuwania w AES
7/20
Przełom Diffiego-Hellmana (DH) w uzgadnianiu kluczy
  • Whitfield Diffie i Martin Hellman rozwiązali problem dystrybucji kluczy przez Internet.
  • Opracowany przez nich protokół DH (Diffie-Hellman) pozwala bezpiecznie uzgodnić wspólny klucz przez publiczny kanał komunikacyjny.
  • Bezpieczeństwo protokołu Diffiego-Hellmana opiera się na trudności obliczeniowej operacji dyskretnego logarytmu na ogromnych liczbach.
  • Dzięki protokołowi DH możliwa jest w pełni poufna komunikacja między osobami, które nigdy wcześniej nie wymieniły kluczy.
Metoda matematycznego wyliczania wspólnego klucza w podgladzie
8/20
Szyfrowanie asymetryczne (klucz publiczny i prywatny)
  • Kryptografia asymetryczna zamiast jednego klucza wykorzystuje parę matematycznie powiązanych kluczy.
  • Para ta składa się z ogólnodostępnego klucza publicznego oraz ściśle tajnego klucza prywatnego.
  • Dane zaszyfrowane kluczem publicznym może odczytać tylko posiadacz odpowiadającego mu klucza prywatnego.
  • Klucz publiczny może być swobodnie udostępniany każdemu użytkownikowi.
  • Klucz prywatny musi być bezwzględnie chroniony przez właściciela – jego ujawnienie łamie całe bezpieczeństwo systemu.
Prywatny i Publiczny para w logice asymetrycznej
9/20
Jak działa poufność asymetryczna w praktyce?
  • Przykład: klient chce wysłać dokument do banku, więc pobiera jego klucz publiczny.
  • Szyfruje dane tym kluczem na swoim urządzeniu i przesyła je przez Internet.
  • Tylko bank może odszyfrować te informacje, używając swojego klucza prywatnego.
  • Ta metoda skutecznie eliminuje potrzebę fizycznego przekazywania tajnych kluczy między stronami.
  • Atakujący przechwyciujący transmisję widzi tylko nieczytelny szyfrogram i jawny klucz publiczny – nie może nic z nim zrobić.
Logika używania publicznego i prywatnego po obu stronach sieci
10/20
Algorytm RSA i obciążenie procesora
  • Najpopularniejszym standardem asymetrycznym jest algorytm RSA (od nazwisk twórców: Rivest, Shamir, Adleman).
  • Jego bezpieczeństwo opiera się na trudności rozkładu dużych liczb na czynniki pierwsze (faktoryzacja).
  • Słabą stroną algorytmów asymetrycznych jest bardzo duże obciążenie procesora (CPU) podczas operacji kryptograficznych.
  • Szyfrowanie asymetryczne jest wielokrotnie wolniejsze od metod symetrycznych.
  • Z tego powodu RSA rzadko służy bezpośrednio do ochrony dużych strumieni danych, szczególnie na urządzeniach mobilnych i systemach Internetu rzeczy (IoT).
Rozkład na liczby pierwsze i logo RSA potęgi
11/20
Kryptografia hybrydowa – optymalne rozwiązanie
  • Współczesne systemy łączą zalety obu metod, tworząc tzw. kryptografię hybrydową.
  • Kryptografia asymetryczna służy tu jedynie do bezpiecznego przesłania klucza sesji (klucza symetrycznego).
  • Gdy klucz symetryczny zostanie uzgodniony, reszta danych jest szyfrowana szybkim algorytmem (np. AES).
  • Podejście to zapewnia wysokie bezpieczeństwo przy minimalnym obciążeniu sprzętowym.
  • Właśnie tak działa większość bezpiecznych protokołów sieciowych, np. TLS (odpowiedzialny za HTTPS).
Kryptografia hybrydowa na stykach routerów w rynnach
12/20
Integralność i funkcje skrótu (hash)
  • Integralność to drugi filar CIA – gwarantuje, że dane nie zostały zmienione przez nikogo nieuprawnionego.
  • Narzędziem do weryfikacji integralności są funkcje skrótu (ang. hashing).
  • Funkcja skrótu generuje unikalny kod (skrót, ang. hash) o stałej długości dla dowolnego pliku wejściowego.
  • Prawidłowy skrót jest nieodwracalny – na jego podstawie nie można odtworzyć oryginalnego pliku.
  • Zagrożeniem są słabe hasła, których skróty mogą znajdować się w publicznych bazach danych (np. w serwisie CrackStation), co pozwala atakującemu na ich odgadnięcie.
Hash wrzucający tony pikseli w skrót wyjsciowy szesnastkowy
13/20
Weryfikacja plików i efekt lawiny
  • Sumy kontrolne (skróty) są powszechnie stosowane przy pobieraniu obrazów systemów operacyjnych.
  • Komputer weryfikuje pobrany plik, porównując jego skrót z wartością referencyjną podaną przez producenta.
  • Dobre funkcje skrótu charakteryzują się tzw. efektem lawiny (avalanche effect).
  • Zmiana choćby jednego bitu w pliku powoduje drastyczną zmianę całego skrótu wyjściowego.
  • Umożliwia to natychmiastowe wykrycie błędu transmisji lub celowej manipulacji w danych.
Rozjechana suma binarie różni się diametralnie literką w
14/20
Zapewnienie dostępności (Availability)
  • Ostatnim elementem triady CIA jest dostępność (ang. Availability).
  • Usługi i systemy muszą być sprawne zawsze wtedy, gdy są potrzebne uprawnionym użytkownikom.
  • Same szyfrowanie nie wystarczy – przerwa w działaniu serwera łamie zasadę dostępności i stanowi naruszenie bezpieczeństwa.
  • Dostępność zapewnia się poprzez zasilanie awaryjne (UPS), dublowanie łączy i redundantne klastry serwerów.
  • Kluczowe są również regularnie wykonywane i testowane kopie zapasowe (backupy).
15/20
Podpis cyfrowy (Digital Signature)
  • Nadawca najpierw wylicza skrót (hash) przesyłanej wiadomości.
  • Następnie szyfruje ten skrót swoim kluczem prywatnym, tworząc unikalną cyfrową „pieczęć" – podpis.
  • Odbiorca odszyfrowuje skrót kluczem publicznym nadawcy i porównuje go ze skrótem otrzymanego dokumentu.
  • Zgodność skrótów potwierdza tożsamość autora i nienaruszalność treści wiadomości.
  • Należy jednak pamiętać, że sam podpis nie gwarantuje, że klucz publiczny naprawdę należy do właściwej osoby – do tego potrzebny jest certyfikat.
Użycie prywatnego klucza w ramach pieczęci przed urzędem do szyfru skrótu HASH
16/20
Słaby punkt: kto dostarcza klucz publiczny?
  • System asymetryczny jest najbardziej narażony podczas pierwszej wymiany kluczy.
  • Atakujący może przeprowadzić atak „człowiek pośrodku" (ang. Man-In-The-Middle, MITM).
  • Atakujący podmienia prawdziwy klucz publiczny banku na swój własny, fałszywy klucz.
  • Niczego nieświadomy użytkownik szyfruje dane dla złodzieja, zamiast dla banku.
  • Weryfikacja autentyczności długiego ciągu znaków klucza „gołym okiem" jest niemożliwa – stąd potrzeba infrastruktury PKI.
Atakujący podszywający się kluczem z boku w transmisji
17/20
Infrastruktura klucza publicznego (PKI)
  • PKI (ang. Public Key Infrastructure – infrastruktura klucza publicznego) powstała, aby wyeliminować problem fałszywych kluczy publicznych.
  • Opiera się ona na hierarchii zaufania do zewnętrznych organów certyfikujących.
  • Niezależne organizacje pełnią rolę cyfrowych notariuszy potwierdzających tożsamość stron w sieci.
  • Bank musi przejść proces weryfikacji u zaufanego urzędu certyfikacji, aby otrzymać autoryzację.
  • Dopiero po pomyślnej weryfikacji wystawiane jest cyfrowe poświadczenie autentyczności – certyfikat.
18/20
Urząd certyfikacji (CA) i certyfikaty
  • Głównym punktem PKI jest Urząd Certyfikacji (ang. Certificate Authority – CA).
  • CA używa swojego podpisu cyfrowego do potwierdzenia autentyczności klucza publicznego danej instytucji.
  • W ten sposób powstaje certyfikat – cyfrowy dokument potwierdzający własność klucza przez określony podmiot.
  • Przeglądarki internetowe mają wbudowaną listę kluczy publicznych zaufanych urzędów CA.
  • Symbol kłódki na pasku adresu przeglądarki oznacza, że certyfikat strony został pomyślnie zweryfikowany.
Schemat drzewa podpisywania w urzędzie nad wydawaniem certyfikatów
19/20
Unieważnianie certyfikatów i listy CRL/OCSP
  • Jeśli klucz prywatny banku zostanie skradziony, powiązany z nim certyfikat traci swoje bezpieczeństwo.
  • Cyberprzestępca z takim kluczem może skutecznie podszywać się pod legalny serwer bankowy.
  • W tym celu stworzono listy unieważnionych certyfikatów (CRL – ang. Certificate Revocation List) oraz protokół OCSP (ang. Online Certificate Status Protocol).
  • Są to publiczne „czarne listy" certyfikatów, które utraciły zaufanie i powinny być odrzucane przez klientów.
  • Niestety, starsze oprogramowanie nie zawsze sprawdza aktualny status certyfikatu w czasie rzeczywistym.
Serwery CRL jako zrzut i odcięcie awaryjne na giełdzie oszustów
20/20
Podsumowanie narzędzi kryptograficznych
  • Algorytmy symetryczne zapewniają szybkie i wydajne szyfrowanie dużej ilości danych.
  • Kryptografia asymetryczna rozwiązuje problem bezpiecznego uzgadniania kluczy przez sieć.
  • Funkcje skrótu (hash) gwarantują integralność i chronią przed niezauważoną modyfikacją plików.
  • Certyfikaty cyfrowe i infrastruktura PKI dają pewność co do tożsamości podmiotów w sieci.
  • Współpraca tych mechanizmów tworzy fundament zaufania w nowoczesnym Internecie.