Różnica między SSH1 i SSH2

SSH1 vs SSH2

SSH (Secure Shell) to protokół, który służy do zapewnienia bezpieczeństwa komunikacji danych w sieci. SSH został znaleziony przez Tatu Ylonen (SSH Communications Security Corporation) w 1995 r. Protokół ten zapewnia infrastrukturę do bezpiecznego transportu danych, zdalnego wykonywania poleceń i usług sieciowych z włączonymi zabezpieczeniami między dwoma komputerami w sieci. Komunikacja jest zarządzana zgodnie z architekturą klient - serwer (klient SSH i serwer SSH). Opracowano protokół SSH z dwiema wersjami o nazwach SSH1 i SSH2.

SSH1 (Secure Shell Version 1)

Wersja protokołu SSH 1 została znaleziona w 1995 roku i składa się z trzech głównych protokołów, zwanych SSH-TRANS, SSH-USERAUTH i SSH-CONNECT.

SSH-TRANS: Jest to protokół warstwy transportowej (TCP / IP), który zasadniczo zapewnia uwierzytelnianie serwera, poufność i integralność.

SSH-USERAUTH: Jest to protokół używany do uwierzytelnienia użytkownika w zakładzie komunikacji. Ten protokół uwierzytelnia klienta SSH na serwerze SSH. Ten protokół działa również na warstwie transportowej.

SSH-CONNECT: Jest to protokół połączenia, który multipleksuje zaszyfrowane dane do niektórych strumieni logicznych. Ten protokół działa na podstawie protokołu SSH-USERAUTH.

Aby zainicjować bezpieczne połączenie, klient wysyła informacje uwierzytelniające do serwera SSH z szyfrowaniem 128-bitowym. Każdy host serwera ma klucz hosta, który służy do weryfikacji poprawnej komunikacji serwera z klientem. Ponadto powinien mieć klucz publiczny odpowiedniego serwera SSH. Każdy przesyłany segment danych jest szyfrowany przy użyciu algorytmów szyfrujących (DES, 3DES, IDEA, Blowfish).

Oprócz zdalnego logowania SSH może być używane do tunelowania, łączności X11, SFTP (SSH File Transfer Protocol), SCP (Secure Copy), a także przekierowania portów TCP. Port TCP 22 jest domyślnie używany przez protokół SSH. Kompresja danych jest również obsługiwana przez SSH. Ta funkcja jest przydatna, gdy połączenie klient-serwer ma niską przepustowość i może być użyte do poprawy przepustowości połączenia.

W wersji 1.5 SSH programiści zidentyfikowali pewną lukę. W tej wersji możliwe było nieautoryzowane wstawianie danych do środka zaszyfrowanego strumienia danych, co może powodować wysokie ryzyko dla bezpieczeństwa danych. W 2001 r. Zidentyfikowano również podatność nieautoryzowanego, złośliwego serwera uwierzytelniającego na przekazywanie uwierzytelnienia na inny serwer.

SSH2 (Secure Shell Version 2)

SSH2 został wprowadzony w 2006 roku z wieloma znaczącymi ulepszeniami w stosunku do SSH1. Chociaż jest to poprawa SSH1, SSH2 nie jest kompatybilny z SSH1. SSH2 został przepisany z dodaniem większej liczby mechanizmów obronnych w celu uniknięcia luk.

SSH2 wykorzystuje inny zestaw ulepszonych i silniejszych algorytmów szyfrowania i uwierzytelniania, takich jak DSA (Digital Signature Al Algorytm). SSH2 nie jest już wolnym oprogramowaniem, takim jak SSH1; twórca SSH2 ograniczył bezpłatne korzystanie z SSH2. W przeciwieństwie do SSH1, program SFTP (Secure File Transfer) wbudował się w pakiet SSH2 i wykorzystuje te same protokoły szyfrowania, których używa SSH2, do szyfrowania strumieni danych. 

Jaka jest różnica między SSH1 a SSH2?

Wiele systemów operacyjnych opartych na UNIX ma wbudowaną funkcję SSH, a wiele konsol obsługujących SSH opracowało również dla systemów Windows (TeraTerm, Putty, OpenSSH, WinSCP itp.).

• Jak wspomniano powyżej, SSH2 jest ulepszoną wersją SSH1.

• SSH1 ma kilka znanych udokumentowanych problemów, które zostały poprawione i ponownie zakodowane w SSH2.

• Zwykle najnowsza wersja dowolnej aplikacji obsługuje starsze wersje, ale SSH2 nie jest w pełni kompatybilny z SSH1, a także SSH2 wymaga licencji.