Kiedy generujesz nową parę kluczy SSH, stajesz przed prostym wyborem flagi -t. Większość współczesnych poradników DevOpsowych i dokumentacji dystrybucji Linuksa ucina temat krótko: „Użyj Ed25519, zapomnij o RSA”.
Tymczasem rzut oka na wytyczne amerykańskich agencji rządowych, polityki audytowe DoD (DISA STIG) czy certyfikacje pokroju FedRAMP ujawnia specyficzny paradoks: w środowiskach o podwyższonym rygorze bezpieczeństwa potężny RSA-4096 wciąż trzyma się mocno i bywa wprost wymagany.
Czy służby specjalne USA wiedzą o kryptografii coś, czego nie ujawniają reszcie świata? A może w dobie nadchodzących komputerów kwantowych 4096-bitowy kolos to bezpieczna przystań?
Sprawdźmy, jak naprawdę wygląda anatomia kluczy SSH, dlaczego na gruncie czystej matematyki RSA-4096 rzeczywiście bije Ed25519 na głowę i dlaczego w świecie inżynierii systemowej ta przewaga ma drugie, znacznie bardziej złożone dno.
Matematyczny fakt: Czysto teoretycznie RSA-4096 jest silniejszy od Ed25519
Zacznijmy od rozwiania częstego mitu powtarzanego na forach technicznych. Wielu inżynierów zakłada, że skoro Ed25519 jest nowocześniejszy, to musi oferować wyższy poziom bezpieczeństwa pod każdym względem.
Patrząc wyłącznie na suchą teorię liczb i kryptoanalizę klasyczną – to RSA-4096 jest silniejszym kluczem.
W kryptografii rzeczywistą odporność mierzy się w bitach siły bezpieczeństwa (security strength), czyli liczbie operacji rzędu $2^n$, które klasyczny superkomputer musiałby wykonać przy użyciu najbardziej optymalnych znanych algorytmów łamania:
Ed25519 opiera się na problemie logarytmu dyskretnego na krzywej eliptycznej. Najlepszy znany atak klasyczny (algorytm Pollard’s rho) wymaga wykonania około $2^{128}$ operacji. Daje to stabilne 128 bitów siły bezpieczeństwa.
RSA-4096 opiera się na faktoryzacji wielkich liczb. Najlepszy atak klasyczny (Ogólne Sito Ciał Liczbowych – GNFS) na moduł 4096-bitowy wymaga wykonania od $2^{140}$ do nawet $2^{150}$ operacji.
Różnica rzędu $2^{12}$ do $2^{22}$ operacji oznacza, że w czystej teorii sforsowanie RSA-4096 wymaga od klasycznego superkomputera od kilku tysięcy do nawet kilku milionów razy więcej pracy niż złamanie Ed25519.
| Rodzina algorytmu | Przykładowy wariant | Rozmiar klucza w bitach | Realna siła klasyczna (bity) | Matematycznie silniejszy od Ed25519? | Odporność na kwanty (Alg. Shora) | Status w praktyce |
|---|---|---|---|---|---|---|
| RSA (Faktoryzacja) | rsa -b 2048 | 2048 | ~112 bitów | Nie | Brak | Wycofywany przez NIST |
| Ed25519 (Edwards Curve) | ed25519 | 256 | ~128 bitów | – | Brak | Współczesny standard |
| RSA (Faktoryzacja) | rsa -b 4096 | 4096 | ~140-150 bitów | TAK (nawet miliony razy) | Brak | Standard w wymogach USA |
| ECDSA (Krzywe NIST) | ecdsa -b 384 | 384 | 192 bity | TAK | Brak | Standard FIPS / CNSA |
| ECDSA (Krzywe NIST) | ecdsa -b 521 | 521 | 256 bitów | TAK | Brak | Maksimum w normach NIST |
| DSA (Dyskretny logarytm) | dsa | 1024 | < 80 bitów | Nie (złamany) | Brak | Wycofany z OpenSSH |
| PQC / Hybrydowe (Kraty) | sntrup761x25519 | Hybryda | $\ge$ 128 bitów | Porównywalna klasycznie | PEŁNA | Standard OpenSSH (KEX) |
Skoro RSA-4096 jest matematycznie mocniejszy, dlaczego wszyscy polecają Ed25519?
To kluczowy punkt, w którym teoria liczb zderza się z twardą inżynierią oprogramowania. Z punktu widzenia fizyki i bezpieczeństwa systemów przewaga matematyczna RSA-4096 jest pozorna z trzech powodów:
1. Bariera praw fizyki ($2^{128}$ to sufit)
Złamanie $2^{128}$ operacji matematycznych metodą siłową jest poza zasięgiem cywilizacji ludzkiej. Wyliczenia fizyków pokazują, że wykonanie tylu operacji na najbardziej wydajnym termodynamicznie układzie wymagałoby energii porównywalnej z eksplozją supernowej i czasu dłuższego niż szacowany wiek Wszechświata.
Wybór między $2^{128}$ a $2^{140}$ to w praktyce dylemat: „czy wolę zamek, którego otwarcie zajmie bilion lat, czy taki, który zajmie biliard lat?”. Obu nie da się sforsować klasycznymi metodami brute-force.
2. Podatności implementacyjne i kanały boczne (side-channel)
Klucze na serwerach rzadko padają ofiarą czystej kryptoanalizy matematycznej – padają przez błędy w kodzie bibliotek:
Ataki czasowe (timing attacks): RSA wykonuje operacje potęgowania modularnego na wielkich liczbach. Czas trwania tych kalkulacji w procesorze może subtelnie zależeć od wartości bitów klucza prywatnego, co pozwala zaawansowanym atakującym odtworzyć klucz mierząc mikrosekundowe opóźnienia w odpowiedziach sieciowych. Ed25519 został zaprojektowany tak, aby z natury wykonywać wszystkie operacje w stałym czasie (constant time).
Problemy z paddingiem: RSA wymaga precyzyjnych schematów wypełnienia (padding PKCS#1 v1.5 vs PSS). Historia bezpieczeństwa jest pełna podatności typu padding oracle czy ataków Bleichenbachera, które całkowicie omijają siłę matematyczną klucza.
Determinizm podpisu: Ed25519 generuje podpis deterministycznie (z hasha danych i klucza). Tradycyjne schematy wymagają sprawnego generatora liczb losowych w trakcie generowania każdego podpisu – jeśli w maszynie wirtualnej zaraz po starcie zabraknie entropii, klucz prywatny może wyciec.
Dlaczego agencje w USA uparcie trzymają się RSA-4096?
Jeśli matematyczna przewaga nie ma praktycznego znaczenia, a Ed25519 jest bezpieczniejszy implementacyjnie, dlaczego instytucje federalne wciąż wymagają 4096 bitów RSA?
Sztywny próg 128 bitów (NIST SP 800-57): Standardy federalne zakazują algorytmów dających mniej niż 128 bitów siły. RSA-2048 daje tylko ~112 bitów, więc jest wycofywany. RSA-3072 daje dokładnie 128 bitów, ale agencje wolą zachować bezpieczny bufor w przepisach – stąd wybór RSA-4096.
Machina certyfikacyjna FIPS 140-2 / 140-3: Urzędy i wojsko mogą wdrażać wyłącznie moduły kryptograficzne z oficjalną pieczęcią rządu. Certyfikacja sprzętowych modułów bezpieczeństwa (HSM), kart procesorowych czy kontrolerów BMC trwa latami. RSA-4096 ma certyfikację wszędzie od ponad dwóch dekad. Ed25519 (opracowany poza strukturami rządowymi przez zespół D.J. Bernsteina) przez lata nie mieścił się w standardach FIPS.
Zgodność ze starą infrastrukturą: Przełączniki SAN, macierze dyskowe, systemy SCADA czy kontrolery iDRAC sprzed 8 lat nie zawsze rozumieją klucze na krzywej Edwardsa. Z RSA-4096 zadziała każdy terminal i demon SSH na świecie.
Kwantowe zrównanie rachunków: Algorytm Shora
Żadne dyskusje o matematycznej sile kluczy nie mają znaczenia w kontekście nadchodzącej ery kwantowej.
Dla komputera kwantowego realizującego algorytm Shora faktoryzacja (podstawa RSA) oraz logarytm dyskretny (podstawa Ed25519 i ECDSA) przestają być trudnymi problemami matematycznymi – stają się zadaniami o złożoności wielomianowej. Z punktu widzenia maszyny kwantowej sforsowanie RSA-4096 zajmie zaledwie chwilę dłużej niż złamanie Ed25519.
Amerykańskie agencje doskonale o tym wiedzą. Dyrektywy NSA (CNSA 2.0) nakazują wycofanie zarówno RSA, jak i wszystkich klasycznych krzywych eliptycznych do lat 2030-2035. RSA-4096 nie jest dla nich docelową twierdzą, a jedynie pomostem proceduralnym, na którym przeczekują czas potrzebny na wdrożenie zupełnie nowych standardów odpornych na kwanty – ML-KEM oraz ML-DSA.
Zjawisko Harvest Now, Decrypt Later (zbieraj zaszyfrowany ruch dzisiaj, odszyfruj za 10 lat na komputerze kwantowym) sprawia, że rządy i korporacje już teraz migrują sesje SSH i TLS na algorytmy hybrydowe.
Co wybrać na własnym serwerze?
O ile nie prowadzisz audytu zgodności z FIPS dla amerykańskiego departamentu obrony, wybór dla inżyniera systemów i administratora jest prosty:
Codzienna praca i produkcja: Używaj Ed25519.
ssh-keygen -t ed25519 -C "admin@infrastruktura"
Klucz generuje się natychmiast, ma około 68 znaków (mieści się idealnie w jednej linii w narzędziach automatyzacji pokroju Ansible), nie obciąża procesora przy handshake i jest całkowicie odporny na ataki czasowe (side-channel attacks).
Gdy musisz gadać ze starym sprzętem: Jeśli zarządzasz starym przełącznikiem SAN, antycznym switchem czy nieruszanym od dekady kontrolerem BMC, wygeneruj RSA-4096:
ssh-keygen -t rsa -b 4096 -C "kompatybilnosc@legacy"
Maksymalne bezpieczeństwo stacji roboczej: Rozważ klucze sprzętowe FIDO2 (ed25519-sk), gdzie klucz prywatny fizycznie nie może opuścić tokena USB.
Amerykańskie agencje nie ukrywają więc w RSA-4096 żadnej magii. To po prostu solidny, doskonale przetestowany „koń pociągowy” epoki przedkwantowej, który kupuje czas wielkim instytucjom na przygotowanie się do największej rewolucji kryptograficznej naszych czasów. W swoich terminalach możemy jednak bez kompleksów korzystać z rozwiązań nowocześniejszych i lżejszych. Sam od zawsze posiadam klucze RSA-4096, więc poczekam jeszcze z ich aktualizacją do jakiegoś nowego standardu.

