Podstawy
teleinformatyki
Protokół transmisji stron www - HTTP
Protokół HTTP
Cechy charakterystyczne:
Jest odpowiedzialny za przesyłanie w sieci stron typu www,
W warstwie transportowej korzysta z protokołu TCP oraz
portu o numerze 80,
Dodatkowo dla transmisji bezpiecznej z użyciem protokołu
SSL zarezerwowano port 443,
Rodzaje HTTP:
HTTP – tworzący bezpieczny kanał dla transmisji,
S-HTTP – zorientowany na bezpieczną transmisje
pojedynczych komunikatów HTTP.
Adresy stron nie korzystających z kodowania zaczynają się
od http://, strony korzystające z szyfrowania
niesymetrycznego mają adresy rozpoczynające się od
https://
Protokół HTTP
Zasady komunikacji klient – serwer według protokołu HTTP:
Jednostką logiczną protokołu HTTP jest wiadomość
zwierająca zapytanie od klienta do serwera oraz
odpowiedz serwera.
Protokół HTTP definiuje kilka rodzajów usług, które mogą
być wykonane w zainicjowanej sesji,
Serwer odpowiadając na żądania klienta, zwraca kod
stanu (trzycyfrowa liczba) wraz z komentarzem
dotyczącym wywołanej akcji.
Protokół HTTP
Tabela 1. Żądania (metody) protokołu HTTP wysyłane przez
klienta do serwera
Protokół HTTP
Tabela 2. Kody stanu protokołu HTTP wysyłane przez serwer.
Podstawy
teleinformatyki
Protokoły bezpiecznej transmisji SSL
Protokół SSL
Cechy charakterystyczne:
SSL (Secure Socket Layer),
Służy do bezpiecznej transmisji zaszyfrowanego strumienia danych,
Oferuje uwierzytelnianie serwera i klienta (opcjonalnie), zapewnia
integralność danych,
Kojarzony z tymi protokołami warstwy aplikacji, które nie
zapewniają szyfrowania danych.
SSL
HTTP
SMTP, POP, IMAP
FTP
Protokół SSL
Wykorzystywane algorytmy szyfrowania:
Symetryczne – ten sam klucz kodowania
stosowany do szyfrowania i deszyfrowania danych,
Niesymetryczne – do szyfrowania i deszyfrowania
danych stosowane są różne klucze kodowania.
Klucze szyfrowania niesymetrycznego:
Klucz szyfrujący – klucz publiczny, ogólnie dostępny,
Klucz deszyfrujący – klucz prywatny, udostępniany
jedynie obiektowi deszyfrującemu dane.
Protokół SSL
Części składowe protokołu SSL:
SSL Handshake – definiuje metody negocjowania
parametrów bezpiecznej sesji (dobór algorytmów
szyfrowania, uwierzytelniania danych),
SSL Record – definiuje format przesyłanych pakietów
danych.
Długość klucza:
Określa skuteczność szyfrowania danych,
Im dłuższy klucz tym trudniej dokonać deszyfracji transmisji,
Sugerowana długość kluczy:
Szyfrowanie asymetryczne - 1024 bitów,
Szyfrowanie symetryczne – 128 bitów.
Protokół SSL
Certyfikaty – pozwalają się upewnić, że otrzymany klucz
publiczny pochodzi od określonego obiektu sieci.
Rodzaje certyfikatów:
Certyfikat CA – informacje opisujące tożsamość danej
instytucji certyfikującej,
Certyfikat serwera - informacje opisujące tożsamość
danego serwera (podpisany certyfikatem CA),
Certyfikat osobisty - informacje opisujące tożsamość
danego obiektu/osoby (podpisany certyfikatem CA),
Protokół SSL
Klient:
1.
Inicjuje połączenie z
serwerem, podaje jakich
algorytmów szyfrowania
może użyć,
2.
Sprawdza certyfikat –
uwierzytelnia serwer,
3.
Generuje klucz główny,
szyfruje go za pomocą
klucza publicznego i
wysyła do serwera.
4.
Tworzy klucz sesji na
podstawie klucz
głównego
5.
Transmisja danych
szyfrowanych kluczem
sesji w kanale SSL.
Serwer:
1.
Ustala wspólne
algorytmy szyfrowania,
wysyła swój certyfikat
(klucz publiczny),
2.
Serwer odkodowuje
klucz główny za pomocą
klucza prywatnego,
3.
Tworzy klucz sesji na
podstawie klucz
głównego