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