2.49. SSL

Co to jest SSL?

SSL --- Secure Socket Layer --- protokół bezpiecznej komunikacji między klientem a serwerem, stworzony przez Netscape. SSL w założeniu jest podkładką pod istniejące protokoły, takie jak HTTP, FTP, SMTP, NNTP i telnet. Powszechnie jest używane głównie HTTPS (HTTP na SSL). SSL zapewnia trzy rzeczy:

Ze względu na sposób dokonywania autoryzacji SSL jest protokołem scentralizowanym, inaczej niż np. PGP. Jest on oparty o grupę instytucji certyfikujących --- Certyfing Authorities, w skrócie CA, 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 przewiduje użycie trzech rodzaje certyfikatów:

W tej chwili istnieją dwie specyfikacje SSL:

Wersja 3.0 ma poprawione wiele słabości SSL 2.0 oraz umożliwia kompresję danych. SSL 3.0 jest wstecznie kompatybilne z 2.0.

Jak nawiązuje się połączenie SSL?

Podając w URLu protokół https. Na przykład: https://www.verisign.com/ Oczywiście, nie z każdym serwerem WWW można się połączyć przez SSL. Jednak praktycznie wszystkie serwery mające coś wspólnego z zakupami przez Internet na to pozwalają. W Netscape i MSIE bezpieczne połączenie jest oznaczane przez złączenie złamanego kluczyka w lewym dolnym rogu ekranu.

Które przeglądarki obsługują SSL?

Z najpopularniejszych: Netscape, MSIE i Lynx.

Niestety amerykańskie prawo nakłada ograniczenia (ITAR) na eksport programów zawierających zaawansowane algorytmy kryptograficzne, wobec czego Netscape i MSIE są rozpowszechniane w dwóch wersjach: eksportowej (klucz 40-to bitowy) i amerykańskiej (128-mio bitowy). Ostatnimi czasy klucze 40-bitowe kilkukrotnie łamano dla wykazania niesłuszności ITAR i nie można ich uznać za bezpieczne.

Oficjalnie wersji 128-mio bitowych nie wolno eksportować ze Stanów, ale oczywiście już dawno zostało to zrobione i można je sobie ściągnąć z Europy. Inne rozwiązanie to użycie programu SafePassage, który działa jako serwer proxy i pozwala korzystać z 128-bitowego SSL nawet eksportowym wersjom przeglądarek.

Lynx-SSL (oparty o wersje 2.7 i 2.8) używa kluczy 128-mio bitowych. Obsługa SSL w Lynxie jest w tej chwili bardzo ograniczona (brak zarządzania certyfikatami lub jakiejkolwiek konfiguracji SSL), ale działa poprawnie.

Jest jeszcze jeden program z kluczem 128-mio bitowym --- WorkHorse (pod MS Windows), przeznaczony z założenia do home-bankingu. Z tego powodu ma słabo rozbudowane wodotryski i obsługę HTMLa, za to bardzo bogate funkcje zabezpieczania transakcji (PGP, PEM, ECheque, SSL) i inne, równie interesujące.

Wszystkie wymienione programy można ściągnąć z ftp://ftp.replay.com/pub/replay/pub/browsers/ (Holandia) lub z polskiego mirrora ftp://pipeta.chemia.pk.edu.pl/pub/replay/browsers/