Sposoby szyfrowania kluczy certyfikatów SSL. Co to jest RSA i ECDSA ?

Certyfikaty SSL (Secure Socket Layer) to protokoły sieciowe, które zostały przyjęte jako standard szyfrowania danych podczas łączenia się pomiędzy przeglądarką a serwerem zawierającym stronę internetową. Certyfikaty stosuje się do szyfrowania również innych rodzajów transmisji, np. poczty e-mail, połączeń ftp itp.

Użytkownicy sieci internetowej zazwyczaj nie zwracają uwagi na rodzaje certyfikatów, często wystarcza im obecność „zielonej kłódki” przy adresie strony www. A tym artykule spróbujemy przedstawić jakimi metodami są tak naprawdę szyfrowane certyfikaty.

Co to jest RSA?

RSA (Algorytm Rivesta-Shamira-Adlemana) jest to mechanizm szyfrowania danych wymyślony w 1978 roku który jak pierwszy jest w pełni asymetrycznym. Charakterystyczna cechą są dwa klucze publiczny do szyfrowania danych (może go znać każdy) oraz prywatny do deszyfracji danych (powinien być chroniony przed niepowołanym dostępem).

Co to jest ECDSA?

ECDSA (Elliptic Curve Digital Signature Algorithm) jest nowocześniejszą wersja algorytmu szyfrującego powstałą w 1999 również opierającą się na kluczu prywatnym oraz publicznym z tym, że w przypadku tego algorytmu została zmniejszona długość kluczy, różnice w długości widać na załączonym poniżej obrazku.

Mimo zmniejszenia długości kluczy poziom bezpieczeństwa pozostał na tym samym poziomie co klucze RSA.

Dodatkowym atutem certyfikatów z kluczem ECDSA jest szybkość, podczas uzyskiwania połączenia z serwerem wykazuje on szybsze działanie przez co strona może działać nieco szybciej. Warto również wspomnieć, że klucze ECDSA zostały pozytywnie zatwierdzone przez National Institute of Standards and Technology (NIST) oraz National Security Agency (NSA).

Zasada działania certyfikatów SSL

Oba algorytmy szyfrowania bazują na utworzeniu dwóch kluczy:

  • klucz publiczny, który może być znany przez każdego, służy on jedynie do zaszyfrowania danych. Znajomość tego klucza nie pozwoli na odszyfrowanie danych.
  • klucz prywatny, który powinien być ściśle chroniony, gdyż każda osoba posiadająca go jest w stanie wykonać odszyfrowanie danych.

Podczas komunikacji z serwerem poprzez bezpieczne połączenie SSL przeglądarka szyfruje przesyłane dane za pomocą klucza publicznego. Od tego momentu tylko serwer internetowy posiadający klucz prywatny jest w stanie odszyfrować dane i zobaczyć przesłane dane.

Generowanie certyfikatu SSL

Podczas generowania certyfikatu SSL generuje się klucz prywatny, który jest wymagany aby zainstalować certyfikat SSL na serwerze. Klucz prywatny jest generowany jednorazowo, w przypadku zgubienia tego klucza można jedynie wystąpić o wydanie nowego certyfikatu SSL.

Proces wystawiania bezpłatnego certyfikatu w cPanel jest w pełni zautomatyzowany i odpowiednie skrypty dodają klucz certyfikatu SSL do konfiguracji serwera. W przypadku zakupu płatnego certyfikatu SSL należy klucz i certyfikat zainstalować samodzielnie.

Szyfrowanie RSA czy ECDSA ?

Certyfikaty SSL z szyfrowaniem kluczy algorytmem ECDSA są nowszym rozwiązaniem i zaczynają powoli stawać się bardziej popularne niż certyfikaty z szyfrowaniem kluczy algorytmem RSA.

Oba rodzaje szyfrowania są tak samo bezpieczne i spokojnie można dalej korzystać z certyfikatów z szyfrowaniem RSA bez obaw o bezpieczeństwo naszych danych.

W chwili pisania tego artykułu na serwerach Smarthost.pl zostały wdrożone certyfikaty SSL z nowszym sposobem szyfrowania kluczy, tj. z szyfrowaniem ECDSA.

Załóż konto hostingowe z bezpłatnym i automatycznym certyfikatem SSL z najnowszymi algorytmami szyfrowania ECDSA.

Tomasz