SSL

Z PHPEdia.pl
Skocz do: nawigacji, wyszukiwania

Charakterystyka

SSL (Secure Sockets Layer) to protokżś, w swojej pierwotnej wersji zaprojektowany przez firmć Netscape Communication Corporation zapewniający poufność i integralność transmisji danych oraz zapewnienie uwierzytelnienia, opierającego się na szyfrach asymetrycznych oraz certyfikatach.

Zaletą protokołu jest fakt, że działał on na warstwie TCP, a wiąc można go łatwo zastosować do zabezpieczenia protokołów warstwy aplikacyjnej (np.: HTTP, FTP, SMTP, TELNET czy POP3). Jednakże standardowo SSL wbudowany jest tylko w HTTP, w pozostałych przypadkach należy go oddzielnie kompilować, co może stwarzać problemy, gdyż zarówno klient jak i serwer muszć go obsługiwać.

Podstawowym celem protokołu SSL jest zapewnienie prywatności i wiarygodności pomiędzy dwoma aplikacjami komunikującymi się między sobć.

Protokżś składa się z dwżch warstw. Na najniższym poziomie, w gżrnej warstwie protokołu komunikacyjnego (np.: TCP), jest SSL Record Protocol. służy on do upakowania (enkapsulacji) protokołów na wyższym poziomie. Dla przykładu jednym z upakowujących protokołów jest SSL Handshake Protocol, pozwalający serwerowi i klientowi na wzajemną autentykację i negocjację algorytmu kodującego i kluczy kryptograficznych, zanim protokżś aplikacji wyśle lub odbierze pierwszy bajt lub daną.


właściwości

Protokżś ten zapewnia bezpieczne połączenie, które ma trzy podstawowe właściwości:

  • połączenie jest prywatne. Kodowanie jest używane po inicjalizacji handshake, aby zdefiniować klucz sekretny. Do kodowania danych używa się kryptografii symetrycznej (np.: DES, RC4, itd.),
  • równoważną identyfikację może być autentykacja asymetryczna, lub wykorzystującć klucz publiczny kryptografia (np.: RSA, DSS, itd.),
  • połączenie jest wiarygodne. Przesyłane komunikaty zawierają komunikat sprawdzania integralności używający kluczowania MAC. Bezpieczne funkcje hashćÂ?ujące (np.: SHA, MD5, itd.) są używane do oblicześ MAC.


Certyfikaty SSL

Protokżś SSL oparty jest o grupę instytucji "Certyfing Authorities" (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.


Linki

Specyfikacja SSL 3.0