Generowanie pary kluczy SSH: RSA czy DSA?

104

SSH obsługuje dwa algorytmy podpisu dla par kluczy: RSA i DSA. Który jest preferowany, jeśli w ogóle? W przypadku RSA, jaka jest minimalna akceptowalna długość klucza?

Brad Ackerman
źródło

Odpowiedzi:

70

RSA jest ogólnie preferowane (teraz, gdy sprawa patentowa się skończyła), ponieważ może wzrosnąć do 4096 bitów, przy czym DSA musi mieć dokładnie 1024 bity (w opinii ssh-keygen). 2048 bitów jest ssh-keygendomyślną długością kluczy RSA i nie widzę żadnego konkretnego powodu, aby używać krótszych. (Minimalna możliwa liczba to 768 bitów; przypuszczam, że to „dopuszczalne” jest sytuacyjne).

chaos
źródło
Często zastanawiałem się, dlaczego ludzie czują potrzebę zabezpieczenia swoich połączeń ssh kluczem 2048-bitowym, skoro twój bank, któremu prawdopodobnie ufasz, prawdopodobnie nie przekroczy 256 bitów i jest bardziej prawdopodobne, że pozostanie przy 128 bitach. Na pewno nie mówię, że coś jest nie tak z używaniem dużego klucza, po prostu… mówię.
msanford
25
Bankowe połączenie SSL to inny rodzaj szyfru, który jest używany, a dokładniej klucz wykorzystywany do głównych części transakcji jest generowany i wykorzystywany wyłącznie do tej transakcji, a następnie odrzucany.
Ophidian
Powodem jest właściwie skalowanie. szyfrowanie nie jest tanie, a im większa siła klucza, tym mniej połączeń SSL możesz obsłużyć. Jeśli masz bank detaliczny, w którym każdy konsument próbuje użyć protokołu SSL, musisz wybrać kompatybilny pakiet kluczy, ale taki, który pasuje również do Twojego sprzętu.
Spence
15
msanford: Jak powiedziała Ophidian, są to różnego rodzaju szyfrowania. 256-bitowe klucze RSA byłyby całkowicie bezużyteczne do praktycznie dowolnego celu. Symetryczne klucze są w zakresie 128-512 bitów, podczas gdy asymetryczne zaczynają się od 768 bitów i są bezpieczne od około 1500-2000 bitów i więcej. 768-bitowe klucze publiczne mogą i zostały uszkodzone. 128-bitowa symetryczna nie może (sama w sobie) praktycznie zostać złamana.
Thomas,
2
@xenoterracide, ssh używa bibliotek openssl. Podczas pierwszego uruchomienia SSH używa kluczy RSA / DSA do weryfikacji hosta i do konfiguracji kluczy symetrycznych dla sesji. Jest to ta sama procedura, którą stosują serwery i klient SSL, więc przekonasz się, że my, ludzie, rozmawiamy o SSH, często będą odnosić się do umożliwienia badań i dokumentacji dotyczącej SSL
Walter,
5

Nie chodzi o szyfrowanie symetryczne lub asymetryczne. Chodzi o określone algorytmy (RSA i DSA) wymagające większej liczby bitów, aby osiągnąć akceptowalny poziom bezpieczeństwa. Na przykład ECC jest również szyfrowaniem asymetrycznym, ale zapewnia dobre bezpieczeństwo przy znacznie mniejszej liczbie bitów niż RSA lub DSA.


źródło
5

Jeśli masz najnowszą implementację SSH, możesz również rozważyć ECDSA!

b0fh
źródło
3

256-bitowe certyfikaty używane przez banki do połączeń SSL są szyframi symetrycznymi, takimi jak 3DES lub AES, stąd mniejsza liczba bitów. Gdy zobaczysz 1024 i 2048 (a nawet 4096), są to szyfry asymetryczne.


źródło
1

Klucze DSA mają znacznie krótsze sygnatury niż klucze RSA (dla tego samego „poziomu bezpieczeństwa”), więc jednym z powodów korzystania z DSA byłyby ograniczenia środowisk.

Jus12
źródło