Jakiego rodzaju kryptografii używa SSH?


Najlepsza odpowiedź

Wykorzystuje szyfrowanie hybrydowe. Kryptografia asymetryczna służy do ustalenia klucza sesji, który z kolei jest używany jako klucz do szyfru symetrycznego.

Te szyfry symetryczne są albo szyfry blokowe (najczęściej AES), albo rzadziej (ale naprawdę preferowane przez ciebie) szyfry strumieniowe, takie jak Salsa20, znane również jako ChaCha.

Użycie szyfrów blokowych zasługuje na trochę więcej wyjaśnień, ponieważ ma znaczące implikacje dotyczące poufności komunikacji.

Szyfry blokowe są BARDZO dobre do szyfrowania bloków o stałych rozmiarach – stąd ich nazwa. Problem, gdy jest używany jako szyfr danych dla SSH, polega na tym, że polecenia zwykle nie pojawiają się w bloku o z góry określonym rozmiarze, w przypadku AES 128bit. Teraz załóżmy, że wprowadzasz polecenie

$ ls

Nie do końca 128-bitowe. Aby więc móc użyć szyfru blokowego, włączyłoby się coś zwanego dopełnieniem – pozostałe 104 bity zostałyby wyzerowane (uproszczone).

Jednak powoduje to problem: Zakładając, że pojedynczy wysłany pakiet zawiera dopełnienie przynajmniej do stopnia, mielibyśmy częściowo znany tekst jawny. Na tej podstawie możliwe byłoby z czasem (i wielu przechwyconych pakietów) obliczenie klucza sesji.

Aby zapobiec wynalezieniu pewnych trybów szyfrowania. Przez długi czas używano łańcuchów bloków szyfrów:

Ten schemat zasadniczo mówi ci, że:

  1. W celu zaszyfrowania pierwszego bloku, wstępnie wynegocjowany blok losowych danych jest używany jako tzw. wektor inicjujący.
  2. Tekst jawny i IV są poddawane działaniu Ekskluzywna operacja lub (XOR) : operacja dość łatwa do cofnięcia, jeśli masz IV, ale bardzo, bardzo trudna, jeśli nie masz.
  3. Teraz , klucz jest używany do zaszyfrowania wyniku operacji XOR.
  4. Wynikowy zaszyfrowany tekst jest następnie używany jako IV dla następnego bloku.

Ponieważ tekst jawny zostanie teraz mocno zmodyfikowany przed wejściem do szyfrowania, nie ma już znanego tekstu jawnego. Cóż, w teorii. Cóż, nawet nie to. CBC nie jest już uważane za najnowocześniejsze, głównie dlatego, że udany atak został opublikowany przez Serge Vaudenay . Obecnie używany jest tryb licznika lub tryby licznika Galois . Wyjaśnienie ich nieco wykracza poza zakres tego pytania, ale wystarczy powiedzieć, że spełniają one ten sam cel co CBC, ale są uważane za bezpieczne.

Zatem słuszne byłoby stwierdzenie, że hybryda stosowane jest szyfrowanie, przy czym asymetryczne szyfry służą do uwierzytelniania serwera i opcjonalnie klienta oraz wymiany kluczy, przy czym wymieniony klucz jest używany do szyfrowania symetrycznego strumieniowego lub blokowego w trybie CBC lub (G) CTR.

Odpowiedź

A2A Jaka jest główna alternatywa dla SSH?

Szczerze mówiąc, nie myślę, że jest jeden. To tak, jakby zapytać, jaka jest główna alternatywa dla koła. Protokół jest tak użyteczny, bezpieczny i open source, że nie ma sensu tworzyć niczego innego. Telnet jest dla SSH tak, jak Travois jest za kierownicą.

Zgadzam się z większością odpowiedzi Neila Richinsa w teorii, ale NFS jest nie jest bezpieczną alternatywą dla SSH / SCP (jest to protokół LAN, a nie publiczny protokół internetowy), a Mosh używa SSH do transportu.

Jeśli w SSH pojawią się problemy, zostaną one naprawione. Nikt nie rezygnuje z całości. Dlatego używamy SSH 2 zamiast SSH 1, a wiele oryginalnych szyfrów zostało wycofanych. Coś jak SSL / TLS.

Myślałem, że FTP umarł przez Telnet, zabity przez HTTP (opcjonalnie przy użyciu SSL), SCP, SFTP i Rsync (przy użyciu transportu SSH). Ale potem odkryłem, że odmówił śmierci, a ludzie stworzyłem bezpieczną wersję FTPS. Więc jest to do przesyłania plików. Osobiście używam SCP i Rsync. Inną alternatywą dla przesyłania plików jest HTTP z SSL / TLS. W przypadku pobierania HTTP GET działa łatwo, aby pobrać dowolny plik z serwera internetowego. W przypadku przesyłania, HTTP POST działa, jeśli napiszesz procedurę obsługi, a H. TTP PUT działa, jeśli jest zaimplementowany np. WebDAV. Dlatego w celu utrzymania wspólnej przestrzeni za pośrednictwem bezpiecznego protokołu, WebDAV jest alternatywą dla Rsync / SSH. Problem polega na tym, że SCP / Rsync zachowuje własność pliku, podczas gdy w WebDAV lub POST wszystko, co przesłane, należy do procesu serwera internetowego. Systemy CMS są z natury niepewne, ponieważ w przypadku zhakowania serwera WWW proces serwera WWW ma dostęp do zapisu całej treści – nie ma separacji użytkowników.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *