William Stallings
Transmisja Danych w Sieciach Komputerowych
Rozdział 18
Bezpieczeństwo Sieci
Wymagania Bezpieczeństwa
Poufność
Integralność
Dostępność
Ataki Pasywne
Podsłuchiwanie transmisji
By otrzymać informacje
Ujawnienie zawartości wiadomości
Osoba zewnętrzna poznaje zawartość transmisji
Analiza ruchu danych w sieci
Poprzez monitorowanie częstotliwości i długości pakietów, nawet zakodowanych, charakter
wiadomości może być poznany
Trudno wykryć
Może być zapobiegana
Ataki Aktywne
Maskarada
Podszycie się pod inną jednostkę
Odtwarzanie
Zmiana treści wiadomości
Odmówienie usługi (Denial of service)
Łatwe do wykrycia
Odkrycie może doprowadzić do odstraszenia
Trudne do zapobiegania
Zagrożenia bezpieczeństwa
Standardowe szyfrowanie
Składniki
Niezaszyfrowana wiadomość
Algorytm szyfrujący
Tajny klucz
Zaszyfrowana wiadomość
Algorytm rozszyfrujący
Wymagania Bezpieczeństwa
Silny algorytm szyfrujący
Nawet jeśli znany nie powinien pozwolić na rozszyfrowanie lub poznanie klucza
Nawet jeśli dostępne jest wiele wiadomości w formie zaszyfrowanej i jawnej
Nadawca i odbiorca muszą otrzymać klucz potajemnie
Kiedy klucz jest znany cała komunikacja szyfrowana tym kluczem jest do odczytania
Atakowanie Szyfru
Analiza kryptograficzna
Opiera się na znajomości algorytmu i generalnej charakterystyce wiadomości
Próba wydedukowania wiadomości bądź klucza
Brutalną siłą
Próbując każdy możliwy klucz aż poznamy treść wiadomości
Algorytmy
Blokowe szyfrowanie
Szyfrowanie tekstu w blokach o równej długości tworząc zaszyfrowany blok o tej samej długości
Data encryption standard (DES)
Potrójny DES (TDES)
Data Encryption Standard
Standard USA
64 bitowe bloki tekstowe
56 bitowy klucz
Algorytm
Szyfrujący
DES
Pojedyncza Iteracja DES
Siła DES
Ogłoszony jako nie dość bezpieczny w 1998
Electronic Frontier Foundation
Maszyna łamiąca DES
DES jest teraz właściwie bezwartościowy
Alternatywy to m.in. TDEA
Triple DEA
ANSI X9.17 (1985)
Włączone do standardu DEA 1999
Używa 3 kluczy i 3-krotnego algorytmu DEA
Efektywna długość klucza to 168 bity
Lokalizacja Szyfrujących Urządzeń
Szyfrowanie Łącza
Każde łącze wyposażone na obu końcach
Cały ruch jest wtedy bezpieczny
Wysoki poziom bezpieczeństwa
Wymaga wiele urządzeń szyfrujących
Wiadomość musi być odszyfrowana w każdym punkcie przełączenia by odczytać adres (numer wirtualnego łącza)
Bezpieczeństwo osłabione w tych punktach
Zwłaszcza w sieciach publicznych
Szyfrowanie „end-to-end”
Szyfrowanie na końcach połączenia
Dane w formie zaszyfrowanej przechodzą przez sieć nietknięte
Odbiorca współdzieli klucz z nadawcą
Host może szyfrować tylko dane użytkownika
W przeciwnym razie przełączniki nie mogłyby odczytać adresu
Dane o ruchu wiadomości nie są szyfrowane
A więc należy używać szyfrowania end-to-end i szyfrowanie łącza
Dystrybucja Klucza
Klucz wybrany przez A i dostarczony do B
Jednostka trzecia wybiera klucz i dostarcza A i B
Użyć starego klucz do przesłania nowego od A do B
Użyć starego klucza do przesłania nowego od jednostki trzeciej do A i B
Automatyczna Dystrybucja Klucza
(diag)
Automatyczna Dystrybucja Klucza
Klucz sesji
Używany na czas jednego logicznego połączenia
Niszczony na koniec sesji
Używany do danych użytkownika
Stały klucz
Używany do dystrybucji kluczy
Centrum dystrybucji kluczy
Wyznacza które systemy końcowe mogą się komunikować
Dostarcza jednego klucza sesji dla tego połączenia
Główny procesor
Dokonuje szyfrowania end-to-end
Dostarcza klucze dla hosta
Dopełnianie Ruchu w Sieci
Wysyłać zaszyfrowany tekst ciągle
Jeśli nie ma danych do szyfrowania to wysyłać przypadkowo generowane dane
Uniemożliwić analizę ruchu w sieci
Poświadczenie Wiadomości
Obrona przed aktywnym atakiem
Podmiana danych
Podsłuchiwanie
Wiadomość jest poświadczona (autentyczna) jeśli jest niezmieniona i pochodzi rzeczywiście z podanego źródła
Poświadczenie pozwala odbiorcy zweryfikować autentyczność wiadomości
Wiadomość nie została zmieniona
Wiadomość jest z wiarygodnego źródła
Poświadczenie poprzez Szyfrowanie
Przyjmuje że nadawca i odbiorca jako jedyni znają klucz
Wiadomość zawiera:
Kod do wykrywania błędów
Numer sekwencji
Znacznik czasu
Poświadczenie bez Szyfrowania
„Metka” ( poświadczenia dodawana do wiadomości
Wiadomość nie jest szyfrowana
Przydatne do:
Rozgłaszanie wiadomości
Jeden odbiorca odpowiedzialny za poświadczenie
Jedna strona ciężko obciążona
Szyfrowanie dodaje się do obciążenia
Może poświadczać dowolne wiadomości
Programy poświadczane bez szyfrowania mogą być uruchamiane bez dekodowania
Kod Poświadczenia Wiadomości (MAC)
Wytworzenie kodu na podstawie
współdzielonego klucza i treści wiadomości
Współdzielony klucz przez A i B
Jeśli tylko A i B znają klucz i kod się zgadza to:
Odbiorca zapewniony że wiadomość dotarła niezmieniona
Odbiorca zapewniony że wiadomość pochodzi z domniemanego źródła
Jeśli wiadomość ma numer sekwencyjny odbiorca jest zapewniony o poprawnej kolejności danych
Poświadczenia Wiadomości
poprzez Kod MAC
Jednostronna Funkcja Szyfrująca (Hash Code)
Przyjmuje wiadomości różnej długości tworząc
„metkę” stałej długości (message digest)
Zalety poświadczania bez szyfrowania
Szyfrowanie jest wolne
Sprzęt szyfrujący jest drogi
Sprzęt szyfrujący przystosowany do dużej ilości danych
Algorytmy objęte patentami
Eksport algorytmów kontrolowany (z USA)
Korzystanie z funkcji
Hash
Bezpieczne Funkcje Hash
Funkcja hash musi mieć dane właściwości:
Może być zastosowana do bloku danych o każdej długości
Tworzy kod o stałej długości
Łatwy do policzenia
Praktycznie niemożliwy do odwrócenia
Praktycznie niemożliwe znalezienie dwóch wiadomości dających ten sam kod („metkę”)
SHA-1
Secure Hash Algorithm 1 (Bezpieczny Algorytm Szyfrujący)
Wiadomość wejściowa mniejsza niż 264 bity
Liczona w 512-bitowych blokach
Wyjście – 160 bitów kodu
Szyfrowanie Kluczem Publicznym
Oparte na matematycznych algorytmach
Asymetryczne
Dwa oddzielne klucze używane
Składniki
Wiadomość niezaszyfrowana
Algorytm szyfrujący
Publiczny i prywatny klucz
Wiadomość zaszyfrowana
Algorytm rozszyfrujący
Szyfrowanie Kluczem Publicznym
(diag)
Szyfrowanie Kluczem Publicznym – Zasady Działania
Jeden klucz podany do publicznej wiadomości
Używany do szyfrowania
Drugi, prywatny trzymany w tajemnicy
Używany do rozszyfrowania
Niemożliwe znaleźć klucz prywatny mając zaszyfrowaną wiadomość i klucz publiczny
Którykolwiek klucz może być użyty do szyfrowania, drugi do rozszyfrowania
Kroki
Użytkownik generuje parę kluczy
Udostępnia jeden klucz
By wysłać wiadomość nadawca szyfruje kluczem publicznym odbiorcy
Odbiorca rozczytuje swoim kluczem prywatnym
Podpis Cyfrowy
Nadawca szyfruje wiadomość swoim kluczem prywatnym
Odbiorca może odszyfrować kluczem publicznym nadawcy
To poświadcza nadawcę, jako że on jedyny posiada ten klucz prywatny
Nie daje prywatności danych
Klucz rozszyfrujący jest publiczny
Algorytm RSA
Przykład RSA
Bezpieczeństwo IPv4 i IPv6
IPSec
Bezpieczne łączenie filii firmy przez Internet
Bezpieczny zdalny dostęp przez Internet
Łączność extranet(zewnętrzna) i intranet (wewnętrzna)
Wzbogacone bezpieczeństwo elektronicznej komercji
Obszar IPSec
Nagłówek poświadczenia (AH)
Kapsułkowanie zabezpieczonych danych
Wymiana kluczy
RFC 2401,2402,2406,2408
Security Association (Bezpieczne Połączenie)
Jednostronna relacja między nadawcą a odbiorcą
Dla obustronnej, dwa połączenia (skojarzenia) są wymagane
Trzy parametry identyfikacji SA
Współczynnik bezpieczeństwa
Docelowy adres IP
Identyfikator protokołu bezpieczeństwa
Parametry SA
Licznik numerów sekwencyjnych
Limit licznika
Okna anty-odpowiedzi
Informacja AH (nagłówek poświadczenia)
Informacja ESP (Kapsułkowanie zabezpieczonych danych)
Czas trwania SA
Tryb protokołu IPSec
Tunelowy, transportowy lub „wildcard” (mieszany)
Ścieżka MTU
Tryby transportu i tunelu
Tryb transportu
Ochrona dla protokołów wyższej warstwy
Ogranicza się do pola danych w pakiecie IP
End-to-end pomiędzy hostami
Tryb tunelu
Ochrona dla IP
Cały pakiet traktowany jako dane do zewnętrznego pakietu
Żaden ruter nie rozszyfrowuje pakietu
Może mieć inne adresy źródłowe i docelowe
Nagłówek Poświadczenia (AH)
Kapsułkowanie zabezpieczonych danych
ESP(Encapsulating Security Payload)
Usługi wymagające konfidencji
Pakiet ESP
Zakres ESP
Zarządzanie Kluczami
Ręczne
Automatyczne
ISAKMP/Oakley
Protokół Oakley do wyznaczania kluczy
Internetowy protokół bezpiecznego połączenia i zarządzania kluczami (Internet security association and key management protocol)
Lektura Obowiązkowa
Stallings rozdział 18