SSL - protokół bezpiecznych transmisji internetowych Prace Wykonał: Paweł Krzesiński kl. IV G SSL - protokół bezpiecznych transmisji internetowych
Czym jest protokół SSL ? TLS (ang. Transport Layer Security) – przyjęte jako standard w Internecie rozwinięcie protokołu SSL (ang. Secure Socket Layer), w swojej pierwotnej wersji zaprojektowanego przez firmę Netscape Communications Corporation. TLS ma na celu zapewnienie poufności i integralności transmisji danych oraz zapewnienie uwierzytelnienia, opiera się na szyfrach asymetrycznych oraz certyfikatach standardu X.509. Zaletą protokołu jest fakt, że działa on na warstwie TCP, więc można go łatwo zastosować do zabezpieczenia protokołów warstwy aplikacyjnej (np.: telnet, HTTP, gopher, POP3, IMAP, NNTP).
Wprowadzenie do protokołu SSL 3.0 Protokół SSL 3.0 umożliwia szyfrowanie danych, potwierdzanie tożsamości serwera, zapewnianie integralności przesyłanych komunikatów, a także opcjonalne potwierdzanie tożsamości komputera typu klient w połączeniach realizowanych za pomocą protokołu TCP/IP. Na rysunku 1 przedstawiłem stos protokołów:
Wprowadzenie do protokołu SSL 3.0 Rys.1. Warstwa SSL znajduje się pomiędzy warstwami innych protokołów TCP/IP
Wprowadzenie do protokołu SSL 3.0 SSL jest protokołem otwartym, nie należącym do żadnej instytucji. Oznacza to, że firma Netscape zezwoliła przedsiębiorstwom i pojedynczym osobom na korzystanie z niego w aplikacjach internetowych. Ponadto rozwiązanie to zostało zaprezentowane komisji ds. bezpieczeństwa należącej do organizacji W3C (W3 Consortium). Stwierdzi ona, czy protokół SSL można zalecić jako standardowe zabezpieczenie stosowane na stronach WWW i w serwerach internetowych. Firma Netscape współpracuje z organizacją W3C przy rozwijaniu i standaryzowaniu niezawodnych mechanizmów i protokołów dla Internetu.
Wprowadzenie do protokołu SSL 3.0 Protokół SSL umożliwia użytkownikom i serwerom szyfrowanie i ochronę danych przesyłanych w sieci WWW i w Internecie. Serwer i przeglądarka, które przesyłają między sobą informacje, muszą współpracować z protokołem SSL. Wszystkie popularne przeglądarki, w tym Navigator® firmy Netscape i Internet Explorer firmy Microsoft, mogą obsługiwać połączenia za pomocą tego rozwiązania.
Wprowadzenie do protokołu SSL 3.0 Protokół SSL umożliwia użytkownikom i serwerom szyfrowanie i ochronę danych przesyłanych w sieci WWW i w Internecie. Serwer i przeglądarka, które przesyłają między sobą informacje, muszą współpracować z protokołem SSL. Wszystkie popularne przeglądarki, w tym Navigator® firmy Netscape i Internet Explorer firmy Microsoft, mogą obsługiwać połączenia za pomocą tego rozwiązania.
Poufność komunikacji Zabezpieczenie wymienianych danych nie rozwiązuje wszystkich problemów użytkowników Internetu. Na przykład w trakcie realizowania niektórych transakcji trzeba czasem przekazać administratorowi systemu numer swojej karty kredytowej. Protokół SSL i inne technologie chroniące przesyłane dane zabezpieczają tylko sam proces komunikowania się za pomocą Internetu. Nie uchronią one jednak przed nierzetelnymi lub nieostrożnymi ludźmi, z którymi często prowadzi się interesy. Administratorzy serwerów muszą przedsięwziąć dodatkowe kroki w celu ochrony informacji znajdujących się w systemie. Muszą oni zapewnić fizyczne bezpieczeństwo komputerów, a także chronić dostęp do oprogramowania za pomocą haseł i prywatnych kluczy.
Poufność komunikacji Korzystanie z bezpiecznej strony WWW przypomina przekazanie numeru swojej karty kredytowej podczas rozmowy telefonicznej. Można być pewnym, że nikt może podsłuchać prowadzonej rozmowy, a rozmówca rzeczywiście pracuje dla firmy sprzedającej dany towar. Aby wierzyć, że przekazane dane pozostaną poufne, a firma jest tą, za którą się podaje, należy jednak mieć zaufanie do tej osoby.
Jak SSL zapewnia ochronę transmisji? Twórcy Internetu nie pomyśleli o konieczności zabezpieczania danych przesyłanych za pomocą protokołów tej sieci. Ani protokół TCP/IP, ani HTTP nie umożliwiają szyfrowania czy ochrony indywidualnych połączeń. Od niedawna przedsiębiorstwa pracują nad usunięciem tej wady protokołów internetowych. Jednym z najpopularniejszych protokołów jest S-HTTP, zaprojektowany przez firmę Enterprise Integration Technologies. Innym rozwiązaniem jest protokół SSL opracowany przez firmę Netscape. Dzięki protokołowi SSL użytkownicy i serwery mogą chronić dane przekazywane w łnternecie za pomocą trzech usług : potwierdzanie tożsamości serwerów za pomocą certyfikatów cyfrowych (utrudnia to podszycie się pod autoryzowanych użytkowników); ochrona przesyłanych danych za pomocą szyfrowania (uniemożliwia przechwytywanie informacji); zapewnienie integralności danych podczas ich przesyłania (utrudnia wandalizm).
Jak SSL zabezpiecza transakcje potwierdzania przez adresata? Po ustanowieniu bezpiecznego połączenia między przeglądarką i serwerem serwer wysyła klucz sesji, stosowany następnie do szyfrowania wymienianych danych. Mimo że nadawca i odbiorca muszą uzgodnić klucz sesji, bezpieczeństwo przesyłanych informacji nie jest zagrożone. Szyfrowanie z kluczem publicznym jest najpewniejszą dostępną metodą szyfrowania danych. Podczas inicjowania transmisji (rozpoczynania przesyłania danych) protokół SSL chroni klucz sesji za pomocą tej metody.
Jak SSL zabezpiecza transakcje potwierdzania przez adresata? Przeglądarka nawiązując połączenie z bezpiecznym serwerem wysyła do niego komunikat Client.Hello, Działa on tak, jak żądanie połączenia HTTP. Oprócz tego przeglądarka wysyła do serwera kilka informacji o sobie oraz unikatowy klucz publiczny, wygenerowany w momencie instalowania jej w komputerze. Na rysunku 2 przedstawiłem komunikat Client.Hello. Rys. 2. Komunikat Client.Hello
Jak SSL zabezpiecza transakcje potwierdzania przez adresata? Po otrzymaniu odpowiedzi Server.Hello komputer-klient wysyła kolejne żądanie do serwera zaszyfrowane za pomocą klucza publicznego serwera. Komunikat ten zawiera dodatkowe informacje o parametrach połączenia oraz żądanie przesłania klucza sesji. Będzie on używany przez obydwie strony podczas wymiany informacji. W odpowiedzi serwer wysyła klucz sesji zaszyfrowany kluczem publicznym komputera-klienta. Na rysunku 3 przedstawiłem odpowiedź serwera na żądanie komputera-klienta. Rys. 3. Odpowiedź Server.Hello
Jak SSL zabezpiecza transakcje potwierdzania przez adresata? Po otrzymaniu od serwera klucza sesji komputer-klient wysyła kolejne żądania. Jeśli na przykład serwer korzysta z protokołu SSL i HTTP, to komputer-klient będzie szyfrował wysyłane żądania HTTP kluczem sesji wygenerowanym za pomocą protokołu SSL. Rys. 4. Serwer wysyła komputerowi-klientowi zaszyfrowany klucz sesji
Prace wykonał KONIEC