Certyfikat SSL jest złożonym, ustandaryzowanym zestawem rozwiązań, schematów oraz technik wykorzystywanych do zapewniania bezpieczeństwa stronom internetowym. W ramach jego działania funkcjonuje kilka głównych algorytmów szyfrowania i deszyfrowania.
Algorytmy symetryczne SSL
W symetrycznych algorytmach certyfikatów SSL, do przeprowadzania szyfrowania oraz deszyfrowania wykorzystywany jest dokładnie taki sam klucz. Jeżeli do szyfrowania oraz deszyfrowania zastosowane zostaną różne klucze, możliwe jest wyznaczenie klucza deszyfrującego z szyfrującego – a także odwrotnie. Oznacza to, że nawet w przypadku ujawnienia tylko jednego z kluczy, możliwe będzie swobodne odtworzenie szyfrowanych danych. Do największych zalet algorytmów symetrycznych SSL należy ich szybkość. Odpowiednie ich zastosowanie pozwala na nieznaczne zmniejszenie przepustowości wykorzystywanego kanału transmisyjnego.
Algorytmy asymetryczne SSL
Asymetryczne algorytmu certyfikatów SSL posiadają klucz publiczny. Do ich szyfrowania i deszyfrowania wykorzystywane są różne klucze, które pozwalają na odszyfrowywani wiadomości. Nie da się w prosty sposób wyznaczyć klucza deszyfrującego z klucza szyfrującego. Klucz przeznaczony do szyfrowania udostępniany jest publicznie – zaszyfrowane w nim informacje odczytać może jednak wyłącznie posiadacz klucza prywatnego, który nie jest nikomu w żaden sposób ujawniany. Za najważniejszy parametr określający siłę szyfrowania SSL uznać można długość wykorzystanych kluczy. Im wartość ta jest większa, tym klucz trudniejszy jest do złamania i odszyfrowania. W przypadku kluczy asymetrycznych, sugerowana przez Narodowy Instytut Standaryzacji i Technologii długość to obecnie 2048 bitów.
Protokoły i pod-protokoły SSL
Certyfikaty SSl kojarzone są zazwyczaj z protokołem HTTPS. Mogą one jednak służyć także do zabezpieczania protokołów innego typu – na przykład FTP, POP, SMTP czy IMAP. Same w sobie nie są one niestety w stanie zapewnić odpowiedniego szyfrowania transmisji. Na SSL składają się więc odpowiednie pod-protokoły. SSL Handshake odpowiada za definiowanie negocjowania parametrów sesji uznawanej za bezpieczną, włącznie z algorytmami szyfrowania danych, a także integralności oraz uwierzytelniania danych. SSL Change Cipher jest protokołem zmiany specyfikacji szyfru, natomiast SSL Alert Protocol – protokołem alarmowym SSL. Za osobny pod-protokół uznać można SSL Record, który odpowiada za definiowanie formatu przesyłanych pakietów danych. Szyfrowany kanał transmisji SSL pozwala na przeniesienie wielu sesji HTTP. Podczas transmisji dane szyfrowane są odpowiednim kluczem symetrycznym, określanym na samym początku sesji przy wykorzystaniu niesymetrycznego algorytmu. Integralność są w stanie zapewnić elektroniczne podpisy.
Certyfikaty w protokole SSL
Zastosowane w protokole SSL certyfikaty uwzględniają między innymi nazwę konkretnej domeny, dla której zostały wystawione. Prawo do posługiwania się tą domeną weryfikują zaufane instytucje, zwane Urzędami Certyfikacji. Stoją one na szczycie Infrastruktury Klucza Publicznego. Uprawniony użytkownik wysyła swój klucz publiczny do wybranego Urzędu Certyfikacji, z żądaniem podpisania certyfikatu (CSR – Certificate Signing Request). Następnie przeprowadzana jest procedura sprawdzająca, po czym certyfikat jest ostatecznie podpisywany i wystawiany. W przypadku przedstawienia przez serwer certyfikatu niepodpisanego przez Urząd Certyfikacji, w momencie połączenia się ze stronę w przeglądarce wyświetlane jest odpowiednie ostrzeżenie dla użytkownika.