Jak bezpieczny jest tunel lub połączenie SSH?

20

Często doradzałem ludziom korzystanie z tunelu SSH, aby zabezpieczyć ich przeglądanie na otwartych WIFI lub w innych niepewnych sytuacjach.
Niedawno przyjaciel zapytał mnie, jak bezpieczny jest tunel SSH po tym, jak zasugerowałem tunelowanie SSH. Potknąłem się trochę i powtórzyłem „to bezpieczne”.

Mimo że był zadowolony z tej odpowiedzi, trochę mnie to zepsuło, na co nie mogłem w pełni odpowiedzieć.
Więc pytanie do was wychodzi:

„Jak bezpieczny jest tunel SSH?”

madmaze
źródło
Krótki komentarz; Pod warunkiem, że używany jest tunel SSH, bezpieczeństwo tego połączenia jest tak dobre, jak jego punkty końcowe. Oznacza to, że jeśli ktoś / coś ma niski poziom dostępu do systemu operacyjnego lub sieci, można podłączyć się do nośnika i odczytać zawartość tunelu.
Mogget

Odpowiedzi:

31

Chciałbym tylko zacytować tutaj trochę z Wikipedii:

Nawet jeśli symetryczny szyfr jest obecnie niezniszczalny dzięki wykorzystaniu słabości strukturalnych w jego algorytmie, możliwe jest przebieganie przez całą przestrzeń kluczy w tak zwanym ataku brutalnej siły. Ponieważ dłuższe klucze symetryczne wymagają wykładniczo więcej pracy do poszukiwania siły, wystarczająco długi klucz symetryczny sprawia, że ​​ta linia ataku jest niepraktyczna.

Przy kluczu o długości n bitów istnieją 2 n możliwych kluczy. Liczba ta rośnie bardzo szybko wraz ze wzrostem liczby n. Prawo Moore'a sugeruje, że moc obliczeniowa podwaja się mniej więcej co 18 do 24 miesięcy, ale nawet ten efekt podwajania pozostawia większe symetryczne długości kluczy obecnie uważane za dopuszczalne poza zasięgiem. Duża liczba operacji (2 128) wymagane do wypróbowania wszystkich możliwych 128-bitowych kluczy jest powszechnie uważane za niedostępne dla konwencjonalnych cyfrowych technik obliczeniowych w dającej się przewidzieć przyszłości. Jednak przewiduje się alternatywne formy technologii obliczeniowej, które mogą mieć lepszą moc przetwarzania niż klasyczne komputery. Jeśli komputer kwantowy o odpowiedniej wielkości, zdolny do niezawodnego działania algorytmu Grovera, stanie się niezawodny, zmniejszy klucz 128-bitowy do poziomu bezpieczeństwa 64-bitowego, czyli mniej więcej odpowiednika DES. Jest to jeden z powodów, dla których AES obsługuje 256-bitową długość klucza. Aby uzyskać więcej informacji, zobacz dyskusję na temat związku między kluczowymi długościami a atakami obliczeń kwantowych na dole tej strony.

Zatem 128-bitowy klucz miałby 340 282 366,920,938,463,463,374,607,431,768,211,456 możliwych kombinacji. Wyobraź sobie, że przechodzisz przez wszystkie. Nawet potężny komputer stacjonarny może wypróbować tylko kilka na sekundę.

Chociaż teoretycznie możliwe jest odszyfrowanie strumienia SSH metodą brute-force, do czasu odszyfrowania klucza przez najpotężniejszy komputer, jaki można sobie wyobrazić, zdarzą się dwie rzeczy:

  1. Klucz zostałby zmieniony przez SSH
  2. Wszyscy byśmy zginęli, a słońce eksplodowało i zniszczyło ziemię.
Majenko
źródło
9
+1 W ciągu zaledwie 12 sekund dowiedziałem się, że ja i wszyscy, których znam, umrą, a słońce wybuchnie.
MetaGuru,
1
@ioSamurai Meh ... nie, słońce nie eksploduje, jest o wiele bardziej skomplikowane.
Cilan,
Mówisz, że musiałbyś przejść przez 340 ... (ogromna liczba), ale to zakładając, że to ostatni klucz, którego próbujesz, który jest dobry, prawda? Zakładam, że prawdopodobieństwo, że klucz
trafi
Prawdopodobieństwo, że klucz jest w pierwszym miliardie, wynosi około 1 na 2 ^ 98. Nadal ogromna liczba.
Elkvis
2
Pandy ... Myślę, że ...?
Majenko,
4

<zastrzeżenie: nie jest ekspertem w dziedzinie kryptografii>

SSHv2 używa głównie tych samych algorytmów, co TLS / SSL:

  • DH , ostatnio ECDH lub RSA do wymiany kluczy;
  • RSA , DSA lub ECDSA do uwierzytelnienia serwera (i bardzo często uwierzytelnienia klienta).
  • AES dla szyfrowania symetrycznego (cały strumień danych jest szyfrowany przy użyciu losowo generowanego klucza).

Wszystkie z nich są szeroko stosowane i sprawdzone jako bezpieczne do codziennego użytku.

Jednak w każdym protokole bezpieczeństwo zależy od wiedzy, że komunikujesz się z właściwym serwerem. W przypadku SSH (konfiguracja standardowa) przy pierwszym połączeniu z serwerem musisz zweryfikować jego odcisk palca . (Nie potwierdzaj tego bez faktycznego sprawdzania, jak robi to wiele osób.) Następnym razem klucz serwera zostanie sprawdzony pod kątem kopii w pamięci podręcznej, aby zapobiec atakom typu man-in-the-middle - ale tylko wtedy, gdy odpowiedni klucz został buforowany na pierwszym miejscu.

(Dla porównania, TLS / SSL obsługuje powyższe za pomocą certyfikatów X.509 wydanych przez znane organy, którym ufają, że nie podpiszą fałszywych certyfikatów.)

grawitacja
źródło
-1

Prawdziwym problemem bezpieczeństwa SSH są certyfikaty. Wiele firm wyda bezpieczne klucze do połączeń SSH i nie jest to pierwszy przypadek włamania do baz danych zawierających te klucze. Najlepszym rozwiązaniem, aby być bezpiecznym, jest wygenerowanie własnej pary kluczy, ale jest to kłopotliwe i dlatego polegamy na tych firmach ... dopóki nie zostaną zhakowane i nie będziemy; musimy sprawdzać 340 282 366,920,938,463,463,374,607,431,768,211,456 kluczy, ale tylko źródła w bazie danych ..

Michel Kuipers Chaosje
źródło
2
Generowanie pary kluczy dla SSH nie jest trudnym zadaniem: kliknij przycisk lub wpisz polecenie i poczekaj kilka sekund. Nigdy nie słyszałem o nikim, kto korzysta z usługi generatora kluczy SSH innej firmy. Nigdy nie powinieneś polegać na kimś innym, kto wygeneruje dla ciebie klucz prywatny.
Wyzard
Czy kilka lat temu nie istniała wielka rzecz, w której jakaś firma używała tych samych kluczy na WSZYSTKICH swoich serwerach, wszystkie klucze były dostępne do pobrania na jednym z serwerów, a początkowym użytym kluczem był pracownik, którego nie miałeś nie pracował dla firmy przez około 10 lat, więc nikt nie wiedział, że jego klucz został użyty, a co dopiero działał.
Phill Healey,