Szyfrowanie RSA
RSA to jeden z najważniejszych i najdłużej stosowanych algorytmów kryptografii asymetrycznej wykorzystywanych w infrastrukturze PKI oraz certyfikatach SSL/TLS. Od ponad dwóch dekad stanowi fundament zabezpieczania komunikacji internetowej, podpisów cyfrowych oraz uwierzytelniania serwerów.
W praktyce niemal każdy administrator spotkał się z certyfikatami opartymi o RSA. Mimo rosnącej popularności ECC/ECDSA, RSA nadal pozostaje standardem zapewniającym najwyższą kompatybilność z urządzeniami, systemami operacyjnymi oraz starszymi klientami TLS.
Czym jest RSA?
RSA (Rivest-Shamir-Adleman) to asymetryczny algorytm kryptograficzny wykorzystujący parę kluczy: klucz publiczny oraz klucz prywatny.
Bezpieczeństwo RSA opiera się na matematycznej trudności faktoryzacji bardzo dużych liczb pierwszych. W praktyce oznacza to, że odszyfrowanie danych bez znajomości klucza prywatnego jest obliczeniowo niewykonalne przy odpowiednio dużych długościach kluczy.
W środowisku SSL/TLS RSA wykorzystywany jest przede wszystkim do podpisywania certyfikatów, uwierzytelniania serwera oraz podpisów cyfrowych.
Długości kluczy RSA
Najczęściej stosowane długości kluczy RSA:
- RSA 2048
- RSA 3072
- RSA 4096
RSA 2048 pozostaje obecnie standardem branżowym dla większości certyfikatów SSL.
UWAGA: W przypadku certyfikatów Code Signing, od 27 maja 2021 roku firma DigiCert wymaga stosowania minimum 3072-bitowych kluczy RSA.
Zalety RSA
- Najwyższa kompatybilność
- Bardzo szerokie wsparcie sprzętowe i programowe
- Stabilność i dojrzałość technologii
- Bezproblemowa obsługa w starszych środowiskach
Wady RSA
- Duże rozmiary kluczy
- Wyższe zużycie CPU
- Wolniejszy handshake TLS względem ECC
RSA a Perfect Forward Secrecy
Nowoczesne środowiska TLS wykorzystują RSA głównie do uwierzytelniania i podpisu certyfikatu, natomiast wymiana kluczy realizowana jest najczęściej przez ECDHE.
Dzięki temu możliwe jest zachowanie Perfect Forward Secrecy nawet przy użyciu certyfikatu RSA.
Podsumowanie
RSA nadal pozostaje fundamentem infrastruktury SSL/TLS i bardzo często jest najlepszym wyborem wszędzie tam, gdzie kluczowa jest kompatybilność z szerokim zakresem urządzeń i systemów.
Alternatywą dla algorytmu RSA jest szyfrowanie ECC.
Ciekawi Cię porównanie obu technologii? Sprawdź którą z nich wybrać w artykule RSA vs ECC.
