Jak działa certyfikat SSL?

Internet jest publiczną siecią, do której każdy może mieć dostęp. Na jednym końcu znajduje się nasz komputer/tablet/telefon. Na drugim jest serwer, który udostępnia jakąś usługę, np. stronę internetową, pocztę e-mail, czy filmy wideo. Pomiędzy nimi znajduje się ogromna infrastruktura wielu sieci, komputerów i innych serwerów, które przekazują sobie nawzajem informacje.

Aby skorzystać z danej usługi należy znać jej adres, a potem wysłać do niej żądanie jej zrealizowania. Najprostszym przykładem jest korzystanie z bloga:

  1. Wejście na stronę bloga – żądanie wyświetlenia wpisów
  2. Zalogowanie do bloga – wysłanie loginu i hasła
  3. Utworzenie nowego wpisu – wysłanie jego treści na serwer

Cały problem leży w punkcie 2. czyli wysłaniu loginu i hasła, które mają nas uwierzytelnić. W przypadku sieci publicznych jaką jest Internet (w odróżnieniu od prywatnych sieci firmowych czy korporacyjnych) nigdy nie będziemy wiedzieli, kto znajduje się w łańcuchu przekazywania informacji pomiędzy naszym komputerem, a docelowym serwerem. Zwykle są to automatyczne urządzenia przekaźnikowe. ale równie dobrze mogą to być ludzie celowo szukających wrażliwych informacji lub (co jest coraz częściej spotykane) automatyczne programy nasłuchujące przekazywane treści i wyławiające wrażliwe informacje.

Jak zwykle największym problemem jest czynnik ludzki, czyli my sami i nasze lenistwo – używanie podobnych lub takich samych haseł i loginów na wielu stronach, portalach społecznościowych czy nawet bankowości elektronicznej. Wystarczy przechwycić odpowiednie informacje i nasza tożsamość elektroniczna stoi często otworem dla hakerów lub złodziei – nasze konta pocztowe, profile społecznościowe, bankowość elektroniczna itd.

Tutaj z pomocą przychodzą certyfikaty SSL, które są wystawiane przez zaufane publiczne centra certyfikacyjne. Taki certyfikat oznacza, że serwer, z którym się komunikujemy, jest nim w rzeczywistości, a nie kimś kto się pod niego podszywa. Dodatkowo w adresie internetowym, który zwykle się zaczyna od HTTP:// dochodzi literka S oraz kłódeczka i jego początek wygląda tak – HTTPS://. Oznacza to, że komunikacja pomiędzy naszym komputerem, a serwerem jest zaszyfrowana i zabezpieczona przed podsłuchem. Osoba podsłuchująca zamiast wartościowych informacji dostanie tylko zaszyfrowany bełkot.

Czy SSL można złamać?

Wszystko można złamać. Ale matematyka, królowa nauk, nas przed tym broni. Siła szyfrowania nowoczesnych certyfikatów SSL jest tak duża, że aby złamać algorytm RSA o sile 1024 bitów potrzeba około 1500 lat przy użyciu współczesnych maszyn. Do tego trzeba dodać, że coraz popularniejszy staje się algorytm RSA 2048, co przy użyciu tych samych maszyn daje czas złamania szyfru w około 6,5 kwadryliona lat. Jeśli jesteś zainteresowany, to polecam artykuł: https://www.digicert.com/TimeTravel/math.htm.

Czy certyfikat SSL można obejść?

Tak, jak najbardziej. Jeśli Twój komputer jest zainfekowany na poziomie systemu operacyjnego czy nawet samej przeglądarki internetowej (np. szkodliwe pluginy czy rozszerzenia do przeglądarki), to szkodliwe oprogramowanie wyciągnie te dane już po odszyfrowaniu na Twoim komputerze. Dlatego tak bardzo ważne jest dbanie o to, aby żadne trojany (koń trojański – utajone oprogramowanie szpiegująca/kradzierzowe) czy inne wirusy komputerowe nie panoszyły się po komputerze.

Jak uzyskać certyfikat SSL?

Najlepiej skontaktować się ze swoją firmą hostingowa (tzw. hostodawca) lub nami. Większość planów hostingowych jest gotowa do darmowego uruchomienia certyfikatu SSL. Jednak jeśli korzystamy z tańszych opcji hostingowych lub usług od mniejszych dostawców, może to się wiązać z dodatkowymi kosztami od 200 PLN rocznie do ponad 1000 PLN rocznie.


Radosław Zieliński

Zgodnie z zasadą "rób to co lubisz, a nie będziesz pracować do końca życia" udało mi się połączyć hobby z pracą, dzięki czemu powstało wiele świetnych aplikacji, stron i serwisów internetowych.