Gość: GreyCode
IP: *.kalisz.mm.pl
06.03.07, 08:18
SSL - Wprowadzenie
Protokół Secure Sockets Layer (SSL) został opracowany przez firmę Netscape i aktualnie jest nieoficjalnym standardem przesyłania danych. Większość serwerów WWW i przeglądarek internetowych obsługuje ten protokół, począwszy od wersji 3.0.
Protokół SSL dodaje się do stosu warstw protokołu http i wprowadza modyfikacje danych wychodzących z aplikacji wykorzystującej http, zanim dotrą do warstwy TCP/UDP odpowiedzialnej za transport danych do miejsca docelowego.
Podczas nawiązywania połączenia między klientem, a serwerem zostaje wykorzystana metoda uzgadniania, mająca na celu ustalenie sposobu uwierzytelniania i szyfrowania przechodzących danych.
- Klient (Przeglądarka) nawiązuje połączenie z serwerem i prosi go o przesłanie certyfikatu.
- Serwer przesyła swój certyfikat cyfrowy i w skrajnych przypadkach może poprosić o to samo klienta.
- Przeglądarka sprawdza zgodność certyfikatu i gdy wszystko się zgadza, przesyła listę obsługiwanych przez siebie algorytmów szyfrujących i metod mieszających.
- Serwer selekcjonuje algorytmy z listy i wybiera najbezpieczniejszy.
- Na podstawie klucza publicznego i dostarczonych danych, wykonywana jest funkcja mieszająca wynikiem, czego powstają klucze sesji
Podczas przesyłania danych za pomocą protokołu SSL, dane dzielone są na pakiety, które z kolei są kompresowane. Dla każdego pakietu zostaje obliczony MAC. Skompresowane dane posiadające MAC są szyfrowane i z nagłówkami informacji zostają wysyłane do sieci.
Powodem kompresowania danych przed ich zaszyfrowaniem jest fakt, iż podczas skompresowania zaszyfrowanych danych mogą pojawić się błędy w późniejszym odczycie.
Mimo to, iż protokół SSL wydaje się ciężki do zrozumienia, nie sprawia on większych problemów przy wdrażaniu go do projektów.
Artykuł napisany dla Internet Security Poland (www.isp.uw-host.org)
& Redakcji uw-team.org;
Autor: GreyCode