Protokoly Internetu
Transkrypt
Protokoly Internetu
Temat nr 7: (INT) Protokoły Internetu, ochrona danych i uwierzytelniania w Internecie. 1. Protokół. Protokół - ścisła specyfikacja działań, reguł jakie podejmują urządzenia komunikacyjne aby ustanowić między sobą połączenia i wymieniać dane. Dzięki temu, że połączenia z użyciem protokołów odbywają się całkowicie automatycznie, typowy użytkownik zwykle nie zdaje sobie sprawy z ich istnienia i nie musi o nich nic wiedzieć. 2. Protokoły Internetu. W celu omówienia protokołów Internetu, w niniejszym opracowaniu skupię się przede wszystkim na modelu warstwowym TCP/IP. Poszczególne warstwy tego modelu odpowiadają konkretnym warstwom modelu ISO/OSI. Rys. 2. 1 - powiązanie modelu warstwowego TCP/IP z ISO/OSI. 1 Przykładowe protokoły dla warstw modelu TCP/IP prezentują się następująco: Rys. 2. 2 – Przykładowe protokoły modelu warstwowego TCP/IP a) Warstwa dostępu do sieci – model TCP/IP korzysta już z istniejących standardów sieciowych i technologii, np. Ethernet, WiFi. Technologia Ethernet jako metodę dostępu stosuje CSMA/CD (ang. Carrier Sense Multiple Access Collision Detection). Protokół ten został opracowany na podstawie protokołu ALOHA. Charakterystyka CSMA/CD: W metodzie CSMA/CD (ang. CSMA Collision Detection) stacje potrafią wykryć kolizję w łączu poprzez jednoczesne nadawanie i nasłuchiwanie Następnie poprzez wymuszenie kolizji (ang. jam) informują inne stacje o kolizji Po losowym czasie ponawiają transmisję Metoda stosowana w technologii Ethernet IEEE 802.3 b) Warstwa Internet – podstawowy protokół warstwy Internet to IP (ang. Internet Protocol). Dodatkowo wykorzystywanym protokołem tej warstwy jest ICMP. Charakterystyka protokołu IPv4: protokół IPv4 (jak i IPv6) znajduje się w warstwie 3 modelu ISO/OSI (warstwa sieciowa) protokół bezpołączeniowy, 32 bitowe adresowanie informacje między stacjami wymieniane są bez potrzeby nawiązywania sesji i ustalania jej parametrów, protokół bezpołączeniowy zapewnia prostotę działania ale nie zapewnia niezawodnego dostarczenia danych do odbiorcy (odtworzenia połączenia po awarii), brak kontroli przepływu pakietów. 2 Charakterystyka IPv6: najnowsza wersja protokołu IP, będąca następcą IPv4, do stworzenia nowszej wersji IP przyczynił się problem z kończącą się ilością adresów IPv4 oraz braki protokołu IPv4 w zakresie bezpieczeństwa, konfiguracji, 128 bitowe adresowanie zawiera wsparcie dla wielu nowych mechanizmów sieciowych w zakresie bezpieczeństwa, autokonfiguracji, Protokół ICMP: protokół IP nie zawiera żadnych mechanizmów umożliwiających kontrolę pracy sieci w celu realizacji tych mechanizmów opracowano protokół ICMP (ang. Internet Control Message Protocol) opisany w RFC792 ICMP działa w warstwie sieciowej modelu TCP/IP komunikaty protokołu ICMP przesyłane są wewnątrz datagramów IP protokół ICMP jest wykorzystywany przez programy ping oraz traceroute Protokół ARP (ang. Address Resolution Protocol) – jest używany do tłumaczenia adresów internetowych na adresy sprzętowe używane przez sieci lokalne. ARP może pracować z tymi rodzajami sieci, które posiadają mechanizm rozgłaszania. ARP jest protokołem komunikacyjnym pracującym na styku warstw drugiej i trzeciej modelu ISO/OSI, czyli warstwie łącza danych i sieciowej. c) Warstwa transportowa – podstawowymi protokołami tej warstwy są: TCP, UDP. Znajdują się one w 4 warstwie modelu ISO/OSI (warstwa transportowa). Porty w protokołach TCP i UDP są używanymi w Internecie do identyfikowania działających procesów sieciowych. Numery portów to liczby naturalne z zakresu od 0 do 65535 (216 - 1). Numery portów od 0 do 1023 są ogólnie znane (ang. well-known port numbers) i zarezerwowane dla standardowych usług sieciowych. Porty o numerach od 1024 do 49151 mogą być używane po zarejestrowaniu w organizacji IANA. Charakterystyka TCP (ang. Transfer Control Protocol): protokół zorientowany połączeniowo działający w warstwie transportowej modelu TCP/IP, protokół TCP zapewnia niezawodny system transmisji –umożliwia sterowanie przepływem, potwierdzanie odbioru, zachowanie kolejności danych, kontrolę błędów, przeprowadzanie retransmisji, wiąże się to z dość skomplikowanym i rozbudowanym sposobem obsługi i dużym nagłówkiem pakietu do nawiązania połączenia TCP wykorzystywana jest procedura three-way handshaking mechanizm przesuwającego się okna (ang. Sliding window) jest używany w TCP do kontroli przepływu (rozmiar okna określa ilość danych, które nadawca może wysłać bez potwierdzenia odbioru od odbiorcy). 3 Charakterystyka UDP (ang. User Datagram Protocol): to protokół bezpołączeniowy nie posiadający mechanizmów sprawdzających poprawność transmisji, protokół UDP jest przeznaczony do transmisji krótkich wiadomości lub danych wymagających szybkiego przesłania. d) Warstwa aplikacji – w tej warstwie modelu TCP/IP jest dostępnych wiele protokołów związanych z usługami sieciowymi. Przykładowymi protokołami tej warstwy są: http, SMTP, Telnet, FTP. HTTP (ang. Hypertext Transfer Protocol – protokół przesyłania dokumentów hipertekstowych) to protokół sieci WWW. Za pomocą protokołu HTTP przesyła się żądania udostępnienia dokumentów WWW i informacje o kliknięciu odnośnika oraz informacje z formularzy. Zadaniem stron WWW jest publikowanie informacji – natomiast protokół HTTP właśnie to umożliwia. HTTP standardowo korzysta z portu nr 80. SMTP (ang. Simple Mail Transfer Protocol) - umożliwia przekazywanie poczty elektronicznej w Internecie. SMTP to prosty, tekstowy protokół, w którym określa się co najmniej jednego odbiorcę wiadomości (w większości przypadków weryfikowane jest jego istnienie), a następnie przekazuje treść wiadomości. Program obsługujący protokół SMTP działa najczęściej na porcie 25. SMTP zaczęto stosować na początku lat 80-tych XX wieku. Istnieje wiele programów pocztowych obsługujących SMTP. Telnet - umożliwia zdalną pracę na komputerze, obsługując odległy terminal w architekturze klient-serwer. Protokół obsługuje tylko terminale alfanumeryczne. Telnet działa domyślnie na porcie 23. Protokół ten odpowiada częściowo 5 i 6 modelu ISO/OSI. FTP (ang. File Transfer Protocol) – protokół typu klient-serwer, który umożliwia przesyłanie plików z serwera i na serwer poprzez sieć TCP/IP. Protokół ten odpowiada warstwie 6 i 7 modelu ISO/OSI. Zapewnia przekaz plików między niejednorodnymi urządzeniami i systemami operacyjnymi. Domyślnym portem dla tego protokołu jest nr 21. 3. Protokoły trasowania w routerach ( myślę, że to można pominąć). Jeżeli chodzi o protokoły to można by tu dodać również protokoły routowania(trasowania) wykorzystywane przez routery pracujące w warstwie 3 modelu ISO/OSI (warstwa sieciowa). Protokoły te są używanie do wymiany informacji o trasach między sieciami komputerowymi. W tradycyjnym podejściu wykorzystywana jest informacja tylko o następnym skoku. W trasowaniu wykorzystywana jest tzw. metryka trasowania – wartość używana przez algorytmy trasowania do określenia najlepszej ścieżki; czynniki: szerokość pasma, opóźnienie, liczba przeskoków, koszt ścieżki, obciążenie, MTU (rozmiar max datagramu, który można przesłać), niezawodność, koszt. Najbardziej popularnymi protokołami wykorzystywanymi przez routery są: a) OSPF (Open Shortest Path First) – wewnętrzny protokół routowania, w swym 4 działaniu wykorzystujący algorytm najkrótszej ścieżki SPF (algorytm Dijkstry). b) RIP (Routing Information Protocol) – wewnętrzny protokół routowania, oparty na zestawie algorytmów wektorowych obliczających najlepsze trasy, wyznaczający trasy na podstawie algorytmu Bellmana-Forda 4. Problem ochrony danych w Internecie. Obecnie przy silnym i dynamicznym rozwoju informatyki błyskawiczna wymiana danych o zasięgu globalnym to ogromne oszczędności pieniędzy oraz czasu. Dlatego też przy tak wysokim poziomie rozwoju sieci telekomunikacyjnych bezpieczeństwo transmitowanych danych narażone jest na wiele ataków takich jak: • złośliwe oprogramownie: wirusy, konie trojańskie, itp. • ataki blokady usług DoS (Denial of Service) oraz DDoS (Distributed DoS) realizowane często przez komputery zombie i sieci botnet • SPAM – niechciana poczta elektroniczna i inne przekazy • Phishing to oszukańcze pozyskanie poufnej informacji osobistej, np. hasła, przez udawanie osoby godnej zaufania, której te informacje są pilnie potrzebne • Intruzi - nieupoważniona osoba próbująca włamać się do systemu informatycznego, może działać na poziomie personalnym, firm (szpiegostwo przemysłowe), globalnym (wojna informatyczna) Podstawowymi mechnizmami zapewniającymi poufność są: • Stosowanie jako medium transmisyjnego światłowodu zamiast skrętki, dane przesyłane światłowodem są praktycznie niemożliwe do podsłuchania • Szyfrowanie przesyłanych danych za pomocą narzędzi kryptograficznych z zastosowaniem algorytmów symetrycznych i asymetrycznych, sieci VPN (budowane są w oparciu o protokół IPSec i SSL) • Stosowanie sieci VLAN, pozwalających na ograniczenie ruchu rozgłoszeniowego w sieciach LAN • Nowe wersje standardowych usług sieciowych, np. SSH, TLS (SSL), PGP • Nie podłączanie do sieci komputerowej systemów przechowujących najistotniejsze informacje • Ochrona prawna zabraniająca podsłuchiwania łączy • Polityka bezpieczeństwa, szkolenie pracowników Odnośnie samego SSL (ang. Secure Socket Layer) jest on protokołem sieciowym używanym do bezpiecznych połączeń internetowych, który w swym działaniu wykorzystuje algorytm asymetryczny w czasie inicjowania połączenia (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) oraz algorytm symetryczny do przesyłania danych (cała transmisja danych między serwerem i przeglądarką jest szyfrowana 5 za pomocą klucza sesji). TLS (ang. Transport Layer Security) jest rozwinięciem protokołu SSL. Połączenie z serwerem WWW poprzez TLS jest oznaczone jako https. 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. Ze względu na sposób dokonywania autoryzacji TLS jest protokołem scentralizowanym. Jest on oparty o grupę instytucji certyfikujących CA (Certyfing Authorities), które opatrują swoim podpisem certyfikaty poszczególnych serwerów 5. Problem uwierzytelniania. Uwierzytelnianie to proces polegający na zweryfikowaniu zadeklarowanej tożsamości osoby, urządzenia lub usługi biorącej udział w wymianie danych. Rodzaje uwierzytelniania: a) uwierzytelnianie proste oparte o statyczny identyfikator i hasło dostępu. b) Hasła maskowane. c) Oparte o dowód posiadania klucza prywatnego z użyciem kryptografii asymetrycznej (klucze w SSH, certyfikaty). Serwer dysponuje kluczem publicznym klienta. Za pomocą tego klucza, szyfruje pakiet danych i wysyła klientowi. Jeśli ten potrafi rozszyfrować, to znaczy, że dysponuje kluczem prywatnym, czyli że jest tym, za kogo się podaje. d) Tokeny – silne uwierzytelnianie, które opiera się na posiadaniu przez użytkownika specjalnego urządzenia elektronicznego. Generują specjalny ciąg cyfr, który jest bezpiecznym potwierdzeniem operacji wykonywanej przez użytkownika. Token jest ściśle powiązany z danym użytkownikiem lub jego kontem. Zwykle tokeny zawierają algorytmy kryptograficzne: algorytm symetryczny, funkcję hashującą, generator pseudolosowy. e) Hasła jednorazowe f) Oparte o biometryczne cechy człowieka (np. odciski palców, kształt dłoni, wygląd tęczówki oka), które pobierane są przez odpowiedni czytnik i porównywane z bazą danych. Źródła: http://www.digipedia.pl/def/doc/id/133088351/name/ARP/ - protokół ARP http://pl.wikipedia.org/wiki/Uwierzytelnianie - uwierzytelnianie Wykłady dr Krzysztofa Walkowiaka, Technologie sieciowe 1: bezpieczeństwo, Ethernet, Model TCP-IP 6