660 likes | 839 Views
Bezpieczne usługi sieciowe. Plan wykładu. Wprowadzenie IPSec VPN PGP PEM TLS/SSL SSH Podpis cyfrowy Podsumowanie. Plan wykładu. Wprowadzenie IPSec VPN PGP PEM TLS/SSL SSH Podpis cyfrowy Podsumowanie. Wprowadzenie.
E N D
Plan wykładu • Wprowadzenie • IPSec • VPN • PGP • PEM • TLS/SSL • SSH • Podpis cyfrowy • Podsumowanie
Plan wykładu • Wprowadzenie • IPSec • VPN • PGP • PEM • TLS/SSL • SSH • Podpis cyfrowy • Podsumowanie
Wprowadzenie • Wiele protokołów sieciowych rodziny TCP/IP została opracowana kilkadziesiąt lat temu, kiedy nie istniała potrzeba bezpieczeństwa • Dlatego te protokoły nie zawierają praktycznie żadnych mechanizmów zabezpieczających transmisję • W związku z wykorzystywaniem różnych protokołów TCP/IP do celów finansowych i innych usług wymagających bezpieczeństwa opracowano nowe, bezpieczne wersje protokołów
Plan wykładu • Wprowadzenie • IPSec • VPN • PGP • PEM • TLS/SSL • SSH • Podpis cyfrowy • Podsumowanie
IPSec • IPsec to zbiór protokołów służących implementacji bezpiecznych połączeń oraz wymiany kluczy kodowych pomiędzy komputerami • Protokoły tej grupy mogą być wykorzystywane do tworzenia VPN (Vritual Private Network), czyli wirtualnej sieci prywatnej • IPSec jest standaryzowany przez IETF • IPSec służy do zapewnienia autoryzacji nadawcy, integralność danych, poufność transmisji, sterowanie dostępem w sieciach z IPv4 (opcjonalnie) oraz IPv6 (obowiązkowo)
Protokoły IPSec • Protokół AH (Authentication Header, RFC 2402) przenosi wartość jednokierunkowej funkcji skrótu treści datagramu oraz stałych pól nagłówka. W tym celu wykorzystywane są funkcje haszujące. Niezaprzeczalność osiągana jest poprzez silne algorytmy kryptograficzne, np. RSA • Protokół ESP (Encapsulating Security Payload, RFC 2406) umożliwia podpisywanie datagramu (jak w AH) oraz zaszyfrowanie datagramu – wykorzystuje szyfry blokowe w trybie CBC, np. TripleDES (z 3-ma kluczami), Blowfish, AES
IPSec – tryb transportowy • W trybie transportowym (ang. transport mode) do datagramu dodany jest nagłówek AH / ESP i dane datagramu (ramka TCP, UDP) zostają zaszyfrowane
IPSec – tryb tunelowy • W trybie tunelowym (ang. tunnel mode) oryginalny datagram IP zostanie zabezpieczony (podpisany / zaszyfrowany) w całości, a następnie umieszczony w niezabezpieczonym datagramie IP
Asocjacja bezpieczeństwa SA • Asocjacja bezpieczeństwa SA jest to zbiór parametrów charakteryzujących bezpieczną komunikację między nadawcą a odbiorcą (kontekst), utrzymywany przez nadawcę i unikalnie identyfikowany przez SPI (Security Parameters Index) • W sieci przesyłany jest tylko numer SPI, a nie wszystkie parametry • Asocjacja bezpieczeństwa jest jednokierunkowa – w łączności obukierunkowej wymagane są dwie asocjacje • Szczegóły SA są ustalane za pomocą specjalnych protokołów, np. ISAKMP
Podsumowanie IPSec • Skalowalność – istnieje wiele wzdrożeń • Bezpieczeństwo – IPSec zapewnia dość wysoki poziom bezpieczeństwa, błędy mogą się pojawić w konkretnych implementacjach • Dostępność – IPSec jest znany od wielu lat i dostępny na wielu platformach sprzętowych i programowych • W protokole IPv4 IPSec jest dodatkową opcją • W protokole IPv6 IPSec jest integralnym elementem
Plan wykładu • Wprowadzenie • IPSec • VPN • PGP • PEM • TLS/SSL • SSH • Podpis cyfrowy • Podsumowanie
VPN • VPN (wirtualna sieć prywatna) jest siecią przekazu danych korzystającą z publicznej infrastruktury telekomunikacyjnej • Dzięki stosowaniu protokołów tunelowania i procedur bezpieczeństwa w sieci VPN zachowana jest poufność danych • Kolejna zaleta sieci VPN to obniżenie kosztów zdalnego dostępu do sieci firmowych w stosunku do rozwiązań opartych na liniach wdzwanianych (dial-up) lub dzierżawionych • Sieci VPN budowane są w oparciu o protokół IPSec oraz SSL
Rodzaje VPN • Remote access. Zdalny dostęp - sieć łączy zdalnego użytkownika z siecią lokalną. Ten typ sieci jest szczególnie użyteczny dla przedsiębiorstw, które mają zdalnych, często przemieszczających się pracowników • Site-to-site. Za pomocą technik szyfrowania oraz dedykowanego sprzęt, firma może połączyć wiele swoich rozproszonych sieci lokalnych za pośrednictwem sieci publicznej
Składniki VPN • Oprogramowanie zainstalowane na komputerze zdalnego użytkownika • Dedykowane urządzenia, jak np. zapora ogniowa • Dedykowany serwer VPN dla usług dial-up • NAS (Network Access Server), używany przez dostawcę do zapewnienia dostępu do VPN przez zdalnego użytkownika
IPSec VPN • W momencie zestawienia połączenia IPSec VPN komputer zdalny staje się częścią sieci prywatnej • Dlatego należy zapewnić sprawny przydział adresów (np. DHCP) i ruting, z uwzględnieniem zdalnych maszyn • W połączeniach IPSec są wykorzystywane dwa adresy IP: zewnętrzny - funkcjonujący w sieci operatora oraz wewnętrzny - funkcjonujący wewnątrz sieci prywatnej • Konieczne są: wyznaczenie uprawnień dla określonych grup zdalnych użytkowników oraz przyporządkowanie im dostępnych zasobów: katalogów, serwerów, portów
Plan wykładu • Wprowadzenie • IPSec • VPN • PGP • PEM • TLS/SSL • SSH • Podpis cyfrowy • Podsumowanie
PGP • System PGP (ang. Pretty Good Privacy) jest w dużym stopniu dziełem Phila Zimmermanna • PGP zapewnia poufność i uwierzytelnienie w poczcie elektronicznej i przy przechowywaniu plików • Pierwsza wersja PGP powstała w 1991 roku • Aby obejść ograniczenia dotyczące eksportu broni (w tym narzędzi informatycznych) z USA, kod PGP został opublikowany na papierze w ten sposób wysłany za granicę
Najważniejsze cechy PGP • Wybór najlepszych i bezpiecznych algorytmów: konwencjonalnych, asymetrycznych i haszowania jako części składowych • Zintegrowanie tych algorytmów w jeden program ogólnego zastosowania, niezależnego od systemu operacyjnego i procesora • Możliwość zintegrowania PGP z większością programów pocztowych • Dostępne darmowe wersje oprogramowania
Najważniejsze cechy PGP • Dostępne również płatne wersje PGP zapewniające wsparcie producenta • Szeroki zakres zastosowań: szyfrowanie plików, komunikatów, poczty elektronicznej, dla firm i pojedynczych użytkowników • Nie jest kontrolowany przez żadną instytucję rządową ani standaryzacyjną, co utrudnia służbom wywiadowczym kontrolę poczty elektronicznej
Podstawowe działania PGP • Nadawca szyfruje wiadomość za pomocą algorytmu konwencjonalnego z użyciem stworzonego przez siebie jednorazowego klucza sesji • Klucz sesji jest szyfrowany algorytmem asymetrycznym z użyciem klucza jawnego odbiorcy i dołączany do zaszyfrowanego komunikatu
Podstawowe działania PGP • Odbiorca z odebranej wiadomości wyciąga zaszyfrowany klucz sesji i odszyfrowuje go za pomocą algorytmu asymetrycznego z użyciem własnego klucza prywatnego • Następnie odszyfrowuje komunikat za pomocą algorytmu symetrycznego z użyciem otrzymanego klucza sesji
Uwierzytelnianie w PGP • Wyciąg szyfrowany jest za pomocą RSA, przy użyciu klucza prywatnego nadawcy i dołączany do komunikatu • Odbiorca używając RSA i klucza jawnego nadawcy do odszyfrowania wyciągu • Odbiorca generuje nowy wyciąg z komunikatu i porównuje z otrzymanym wyciągiem. Jeśli obie liczby są takie same, komunikat zostaje uznany za autentyczny
Poufność w PGP • Skompresowany komunikat szyfrowany jest za pomocą IDEA, przy użyciu klucza sesji • Klucz sesji szyfrowany jest za pomocą RSA, przy użyciu klucza jawnego odbiorcy i dołączany do komunikatu • Odbiorca używając RSA i swojego klucza prywatnego odszyfrowuje klucz sesji • Odbiorca odszyfrowuje komunikatu za pomocą klucza sesji
Kompresja w PGP • PGP automatycznie kompresuje komunikat za pomocą algorytmu ZIP po wygenerowaniu sygnatury, lecz przed zaszyfrowaniem • Umożliwia to znaczne zmniejszenie pliku, co przyspiesza kompresję i redukuje rozmiar wysyłanej wiadomości
Zgodność poczty elektronicznej • Wiele systemów przesyłania poczty elektronicznej pozwala na stosowanie jedynie drukowalnych znaków kodu ASCII • W celu dostosowania przesyłanych komunikatów, które częściowo lub w całości są szyfrowane i kompresowane PGP stosuje system konwersji radix-64 • Każda grupa trzech oktetów danych w postaci binarnej przekształca się na cztery kody ASCII • Dołącza się także sumę kontrolną CRC do wykrywania błędów w czasie transmisji • Konwersja radix-64 jest dokonywana niezależnie od formatu komunikatu, nawet gdy komunikat nie jest szyfrowany i jest w postaci tekstu ASCII
Baza kluczy prywatnych • Baza kluczy prywatnych może być indeksowana przez ID użytkownika lub ID klucza • Klucz prywatny jest zaszyfrowany za pomocą wartości H(Pi) - hasła użytkownika (Pi) przekształconego operacją haszowania • Każdy dostęp do klucza prywatnego wymaga podania hasła, dlatego bezpieczeństwo całego systemu PGP zależy od bezpieczeństwa hasła
Baza kluczy jawnych • Każda pozycja w bazie kluczy jawnych to certyfikat klucza jawnego • Pole zaufania sygnatury wskazuje stopień zaufania użytkownika do osoby/firmy sygnującej certyfikat
Generowanie komunikatu PGP Oznaczenia: H – haszowanie; SzK – szyfrowanie konwencjonalne; DK – deszyfrowanie konwencjonalne; SzA – szyfrowanie asymetryczne; DA – deszyfrowanie asymetryczne
Generowanie komunikatu PGP Sygnowanie komunikatu: • PGP odszukuje swój klucz prywatny o podanym ID w bazie klucz prywatnych • PGP prosi o podanie hasła w celu uzyskania niezaszyfrowanego klucza prywatnego, hasło po haszowaniu służy do odszyfrowania klucza prywatnego. Szyfrowanie komunikatu: • PGP generuje klucz sesji i szyfruje komunikat algorytmem konwencjonalnym z użyciem klucza sesji • PGP szyfruje klucz sesji za pomocą klucza jawnego odbiorcy z bazy kluczy jawnych
Odbiór komunikatu PGP Deszyfrowanie komunikatu: • PGP odszukuje klucz prywatny odbiorcy w bazie kluczy prywatnych posługując się polem ID klucza • PGP prosi o hasło w celu odszyfrowania klucza prywatnego • PGP odszyfrowuje klucz sesji z użyciem uzyskanego klucza prywatnego i odszyfrowuje komunikat Uwierzytelnienie komunikatu: • PGP odszukuje klucz jawny nadawcy w bazie kluczy jawnych posługując się polem ID klucza • PGP odszyfrowuje otrzymany wyciąg • PGP oblicza wyciąg z otrzymanego komunikatu i porównuje go z przesłanym wyciągiem
Zarządzanie kluczami jawnymi • Jedną z metod zarządzania kluczami jawnymi w PGP jest sieć zaufania (ang. Web of Trust) • W bazie kluczy jawnych w polu zaufania wpisywane jest zaufanie użytkownika do właściciela danego klucza • Można ufać całkowicie (w pełni) lub częściowo • Wszystkie klucze, których właścicielom ufamy w pełni lub częściowo są sygnowane przez nas • Dwie częściowo zaufane sygnatury poświadczają klucz • Właściciel wiarygodnego klucz sygnowanego przez dwóch częściowo zaufanych użytkowników nie musi być obdarzony pełnym zaufaniem • Odcisk palca (ang. fingerprint) ułatwia sprawdzanie kluczy
Dodatkowe formaty PGP • Specyfikacja PGP definiuje klika formatów stosowanych do tworzenia pozycji w bazie kluczy, certyfikatów oraz komunikatów
Plan wykładu • Wprowadzenie • IPSec • VPN • PGP • PEM • TLS/SSL • SSH • Podpis cyfrowy • Podsumowanie
System PEM • System PEM (ang. Privacy Enhanced Mail) to prowizoryczny system internetowy służący do zapewnienia bezpieczeństwa poczty elektronicznej • Zazwyczaj jest stosowany w połączeniu protokołem SMTP • RFC 1421, cześć I: Szyfrowanie komunikatów i procedury uwierzytelniania • RFC 1422, cześć II: Zarządzanie kluczami na podstawie certyfikatów • RFC 1423, cześć III: Algorytmy, tryby i identyfikatory • RFC 1424, cześć IV: Poświadczenie kluczy i usługi z tym związane
Najważniejsze cechy PEM • Wymienność: PEM jest niezależny od protokoły sieciowego, systemu operacyjnego, sprzętu • Zgodność z innymi elementami: PEM jest przeźroczysty dla wszystkich elementów systemu przesyłania poczty • Zgodność z różnymi narzędziami do przesyłania poczty • Zgodność z różnymi interfejsami użytkownika: PEM może działać jako oddzielny moduł zintegrowany z programem pocztowym • Usługi dla list dyskusyjnych • Zgodność z wieloma metodami zarządzania kluczami
Zastosowanie kluczy w PEM • IK (ang. Interchange Key) służące do wymiany kluczy. IK może być kluczem symetrycznym znanym tylko dwóm komunikującym się osobom, lub parą kluczy jawny/prywatny • DEK (ang. Data Encryption Key) służący do szyfrowania danych. DEK to jednorazowy klucz sesji. Klucz DEK jest dołączany do komunikatu i szyfrowany kluczem IK
Zarządzanie kluczami jawnymi • Zarządzanie kluczami jawnymi w PEM jest oparte na systemie certyfikatów X.509 • W specyfikacji PEM hierarchia instytucji certyfikacyjnych składa się z poziomów: • Internet Policy Registration Authority (IPRA): rejestruje PCA, zapewnia niepowtarzalność i poprawność nazw, zarządza listami unieważnień certyfikatów • Policy Certification Authority (PCA): ustala i publikuje swoje zasady rejestracji użytkowników • Certification Authority (CA): odpowiadają za wydawanie certyfikatów dla użytkowników oraz innych CA
Plan wykładu • Wprowadzenie • IPSec • VPN • PGP • PEM • TLS/SSL • SSH • Podpis cyfrowy • Podsumowanie
TLS • SSL (Secure Socket Layer) jest protokołem sieciowym używanym do bezpiecznych połączeń internetowych stworzonym w 1994 roku przez firmę Netscape • Pozwala na zestawianie szyfrowanych połączeń internetowych wykorzystujących takie protokoły jak: http, ftp, smtp, nntp czy telnet • TLS (Transport Layer Security) przyjęte jako standard w Internecie to rozwinięcie protokołu SSL • TLS 1.1 – wersja obecnie rozwijana, opisana jest w RFC4346 • TLS (SSL) jest podstawowym protokołem zapewniającym bezpieczeństwo w handlu elektronicznym i bankowości elektronicznej
Szyfrowanie WWW z użyciem TLS • Normalnie strony WWW z serwerów oraz formularze do serwera są przesyłane przez sieć otwartym tekstem • Jeśli serwer używa protokołu TLS, wówczas informacja w obie strony (między serwerem www i przeglądarką) jest przesyłana przez sieć w sposób zaszyfrowany • W momencie nawiązania połączenia z bezpieczną (stosującą protokół TLS) stroną WWW następuje ustalenie algorytmów oraz kluczy szyfrujących, stosowanych następnie przy przekazywaniu danych między przeglądarką a serwerem WWW • Połączenie się ze stroną WWW poprzez TLS jest oznaczane w przeglądarkach https://
Algorytmy w SSL • Algorytm asymetryczny używany w czasie inicjacji połączenia SSL: przeglądarka generuje losowo klucz sesji, szyfruje go z użyciem klucza publicznego serwera i przesyła go do serwera, serwer za pomocą swojego klucza prywatnego odczytuje klucz sesji • Algorytm symetryczny. Cała transmisja danych między serwerem i przeglądarką jest szyfrowana za pomocą klucza sesji • Funkcja skrótu używana do generowania podpisów cyfrowych
Certyfikat TLS • Ze względu na sposób dokonywania autoryzacji TLS jest protokołem scentralizowanym • Jest on oparty o grupę instytucji certyfikujących CA (ang. Certyfing Authorities), które opatrują swoim podpisem certyfikaty poszczególnych serwerów • CA z założenia są godni zaufania, a uzyskanie podpisu wymaga przedstawienia szeregu dowodów tożsamości • W ten sposób wchodząc na serwer legitymujący się certyfikatem jednego ze znanych CA mamy pewność, że serwer rzeczywiście jest tym za który się podaje
SSL VPN • W oparciu o protokół SSL można realizować sieci VPN w warstwie 7 modelu ISO/OSI • Porównując z VPN opartym o IPSec, ta koncepcja jest prostsza w realizacji, gdyż po stronie użytkownika do korzystania z VPN wystarczy zwykła przeglądarka internetowa • Portale aplikacyjne SSL VPN oferują wysoki poziom ochrony danych przesyłanych w sieci korzystając z mechanizmów wbudowanych w SSL • Technologia SSL VPN najlepiej stosować w implementacjach sieci VPN typu client-to-site