Instytut Informatyki, Automatyki i Robotyki Zastosowania informatyki w gospodarce Wykład 5 Podstawowe mechanizmy bezpieczeństwa transakcji dr inż. Dariusz Caban dr inż. Jacek Jarnicki dr inż. Tomasz Walkowiak
Bezpieczeństwo Komputer jest bezpieczny, jeśli jego użytkownik może na nim polegać, a zainstalowane oprogramowanie działa zgodnie ze stawianymi mu oczekiwaniami S. Garfinkel, G. Spafford Bezpieczeństwo jest wypadkową zachowań ludzkich i technicznych środków zabezpieczających Nakłady na bezpieczeństwo głównie w środki techniczne Większość naruszeń bezpieczeństwa wykorzystuje błędy ludzkie Bezpieczeństwo transakcji w Internecie Bezpieczeństwo komputerów (serwera i stacji klienckich) Bezpieczeństwo oprogramowania Zabezpieczenia komunikacji i transakcji 2
Zagrożenia Podstawowe (niekoniecznie związane z Internetem) Zniszczenie / utrata danych (kopie zapasowe) Naruszenie poufności informacji Nieuprawnione operacje Komputer / sieć lokalna z dostępem do Internetu Zwiększone ryzyko ataków zewnętrznych Możliwość ataków anonimowych Ograniczone środki prawne ścigania włamywaczy Dodatkowe zagrożenia Realizacja transakcji przez Internet Wiarygodność zlecenia Niezaprzeczalność zlecenia Ochrona dóbr powierzonych przez użytkownika 3
Rodzaje szyfrów kryptograficznych Szyfry z kluczem tajnym Jeden klucz do szyfrowania i odkodowania Złożoność numeryczna: można stosować w czasie rzeczywistym Szyfry z kluczem publicznym Klucz szyfrujący i klucz odkodowujący Brak algorytmu wyznaczania jednego klucza na podstawie drugiego Algorytmy kodowania i rozkodowania numerycznie złożone Znajomość tekstu jawnego oraz zaszyfrowanego nie wystarcza do złamania szyfru (poznania klucza) Klucz to nie hasło, jest znacznie dłuższy 64 256 bitów 1024 2048 bitów 4
Moc szyfru Złamanie szyfru Ujawnienie klucza Przegląd zupełny (brute-force attack) Polega na łamaniu szyfru metodą prób dla kolejnych możliwych kluczy Skuteczność zależy od długości klucza Czas potrzebny na złamanie szyfru t = τ 2 l l długość klucza (symetrycznego/prywatnego) τ - czas testowania jednej wartości klucza Podaje się w latach koniecznych na złamanie np. dla l=128 bitów 2 128 10 28 τ lat (gdy τ w ms) 5
Kryptoanaliza Celem kryptoanalizy jest wyszukiwanie słabości szyfrów Czy da się skrócić czas konieczny do złamania szyfru Rodzaje ataków: bez znajomości tekstu jawnego ze znanym tekstem jawnym z możliwością wyboru tekstu jawnego z możliwością dynamicznego modyfikowania tekstu z wyborem tekstu zaszyfrowanego z dynamicznie modyfikowanym wyborem tekstu zaszyfrowanego 6
Szyfry symetryczne (bulk cipher) Szyfry strumieniowe Dane XOR owane z pseudolosowym strumieniem bitów Szyfr jednorazowy Vernam a Praktyczny przykład szyfr RC4 Niedoskonałość generatorów pseudolosowych Szyfry blokowe Dane dzielone na bloki stałej wielkości Szyfrowane osobno bloki Ten sam klucz do szyfrowania AES obecnie obowiązujący standard US (od grudnia 2002) 7
Podstawowy problem szyfrów blokowych Oryginał Szyfrowany ECB Szyfrowany CBC 8
Tryby szyfrowanie strumienia danych ElectronicCodeBook CipherFeedBack CipherBlockChaining OutputFeedBack 9
Nowy tryb szyfrowania CTR (licznikowy) 10
Tryb szyfrowania z uwierzytelnieniem OCB (Offset Codebook Mode) 11
Szyfry z kluczem publicznym Bazują na problemach numerycznie trudnych Kryptosystem RSA liczba odwrotna, rozkład liczb na czynniki Kryptosystem Diffie-Hellman, ElGamal logarytmowanie dyskretne Podpis cyfrowy DSA logarytmowanie dyskretne Klucze publiczny i prywatny W RSA kluczem publicznym może być szyfrujący lub rozszyfrowujący W pozostałych tak nie jest! 12
Zastosowania szyfrów Do szyfrowania danych i komunikatów Szyfr symetryczny Wymaga wspólnego klucza tajnego Do uzgodnienia wspólnej tajemnicy Szyfr publiczny W szczególności do uzgodnienia klucza sesyjnego (tajnego) 13
Wiadomość w kopercie (enveloping) Tworzenie listu w kopercie Treść listu szyfrowana jest algorytmem z kluczem tajnym, przy czym klucz generowany jest losowo (niepowtarzalnie) przez nadawcę Klucz tajny szyfrowany jest algorytmem z kluczem publicznym, wykorzystując klucz publiczny odbiorcy Wiadomość składa się z zaszyfrowanego listu i zaszyfrowanego klucza losowego Odbiorca rozszyfrowuje klucz tajny wykorzystując swój klucz prywatny, rozszyfrowuje wiadomość wykorzystując otrzymany klucz Odbiorca nie ma gwarancji autorstwa listu 14
Skrót kryptograficzny (digest) Funkcja haszująca przekształca dowolny ciąg oktetów (bajtów lub tekstu) na liczbę stałej długości (skrót) skrót = # ( tekst zmiennej długości ) Przestrzeń skrótów musi być statystycznie równomiernie wykorzystana Niewielkie zmiany ciągu kodowanego muszą powodować dowolnie duże zmiany skrótu Skrót kryptograficzny ma dodatkowe właściwości Numerycznie nierealne jest wygenerowanie jakiegokolwiek tekstu, mającego zadany skrót (funkcja odwrotna do #) Znajomość skrótu nie ujawnia żadnych fragmentów tekstu pierwotnego Skróty kryptograficzne muszą być stosunkowo długie, aby wykluczyć ataki siłowe Algorytmy: MD2, MD5, SHA (secure hash alg.) 15
Podpis elektroniczny Wprowadzony w celu uwiarygodnienia poczty elektronicznej (wykluczenia fałszowania autorstwa) Nie wyklucza podsłuchania treści listu Podpis elektroniczny wiadomości to: Skrót kryptograficzny tej wiadomości Zaszyfrowany wykorzystując prywatny klucz szyfrujący nadawcy (algorytmem z kluczem publicznym) Klucz rozszyfrowujący publikuje się w sposób zapewniający powiązanie z autorem wiadomości Odbiorca Rozszyfrowuje skrót używając klucza publicznego (poprawne rozszyfrowanie potwierdza autorstwo listu) Ponownie wyznacza skrót kryptograficzny wiadomości jego zgodność ze skrótem rozszyfrowanym gwarantuje, że wiadomość nie została zmieniona 16
Sumy kontrolne MAC Uniemożliwiają zmiany w transmitowanych danych Message Authentication Code Obliczany skrót kryptograficzny i szyfrowany kluczem sesyjnym Np. SHA1/RC4, MD5/RC2 HMAC Do wiadomości dołączany klucz sesyjny i skrót liczony łącznie Nie wymaga dodatkowego etapu szyfrowania/deszyfrowania Wyższe wymagania na odporność skrótu kryptograficznego (aby nie można zgadnąć klucza sesyjnego) Stosowane w prostych aplikacjach, aby uniknąć implementacji algorytmów szyfrujących MAC czy podpis elektroniczny Podpisy stosują szyfrowanie z kluczem publicznym MAC i stosują szyfrowanie kluczem symetrycznym 17