Differenza tra SSH1 e SSH2

SSH1 vs SSH2

SSH (Secure Shell) è un protocollo che viene utilizzato per abilitare la sicurezza per la comunicazione dei dati attraverso le reti. SSH è stata trovata da Tatu Ylonen (SSH Communications Security Corporation) nel 1995. Questo protocollo fornisce l'infrastruttura per proteggere il trasporto di dati, l'esecuzione di comandi remoti e servizi di rete abilitati alla sicurezza tra due computer in una rete. La comunicazione è gestita secondo l'architettura client-server (client SSH e server SSH). Il protocollo SSH è stato sviluppato con due versioni denominate SSH1 e SSH2.

SSH1 (Secure Shell Version 1)

La versione 1 del protocollo SSH è stata trovata nel 1995 e si compone di tre protocolli principali, denominati SSH-TRANS, SSH-USERAUTH e SSH-CONNECT.

SSH-TRANS: È il protocollo del livello di trasporto (TCP / IP) che fornisce fondamentalmente l'autenticazione, la riservatezza e l'integrità del server.

SSH-userauth: È il protocollo utilizzato per l'autenticazione dell'utente nello stabilimento di comunicazione. Questo protocollo autentica il client SSH nel server SSH. Questo protocollo viene eseguito anche sul livello di trasporto.

SSH-CONNECT: È il protocollo di connessione che multiplex i dati crittografati in alcuni flussi logici. Questo protocollo funziona su protocollo SSH-USERAUTH.

Per avviare la connessione protetta, il client invia le sue informazioni di autenticazione al server SSH con crittografia a 128 bit. Ogni host del server ha una chiave host, che serve per verificare la corretta comunicazione del server client. Inoltre, dovrebbe avere una chiave pubblica del server SSH pertinente. Ogni segmento di dati trasferito viene crittografato utilizzando algoritmi di crittografia (DES, 3DES, IDEA, Blowfish).

Oltre al login remoto SSH può essere utilizzato per il tunnelling, la connettività X11, SFTP (SSH File Transfer Protocol), SCP (Secure Copy) e anche il port forwarding TCP. La porta TCP 22 viene utilizzata dal protocollo SSH per impostazione predefinita. Anche la compressione dei dati è supportata da SSH. Questa funzione è utile quando il collegamento client-server con larghezza di banda ridotta e può essere utilizzato per migliorare il throughput della connessione.

In SSH versione 1.5, gli sviluppatori hanno identificato alcune vulnerabilità. In questa versione, era possibile l'inserimento non autorizzato di dati nel mezzo del flusso di dati crittografati che può causare un alto rischio per la sicurezza dei dati. Inoltre, nel 2001 è stata individuata la vulnerabilità del server di autenticazione non autorizzato e malevolo per inoltrare l'autenticazione a un altro server.

SSH2 (Secure Shell Version 2)

SSH2 è stato introdotto nel 2006 con molti miglioramenti significativi rispetto a SSH1. Sebbene sia un miglioramento di SSH1, SSH2 non è compatibile con SSH1. SSH2 è riscritto con l'aggiunta di ulteriori meccanismi difensivi per evitare vulnerabilità.

SSH2 utilizza un insieme diverso di algoritmi migliorati e più potenti per la crittografia e l'autenticazione come DSA (Digital Signature Algorithm). SSH2 non è più software libero come SSH1; lo sviluppatore di SSH2 ha limitato l'uso gratuito di SSH2. A differenza di SSH1, il programma SFTP (Secure File Transfer) è integrato nel pacchetto SSH2 e utilizza gli stessi protocolli di crittografia utilizzati da SSH2 per crittografare i flussi di dati. 

Qual è la differenza tra SSH1 e SSH2?

Molti sistemi operativi basati su UNIX hanno funzionalità SSH incorporate e molte console abilitate SSH sono state sviluppate anche per sistemi Windows (TeraTerm, Putty, OpenSSH, WinSCP ecc.).

• Come menzionato sopra, SSH2 è una versione migliorata di SSH1.

• SSH1 ha alcuni problemi documentati noti che vengono corretti e ricodificati in SSH2.

• Normalmente l'ultima versione di qualsiasi applicazione supporta le sue versioni precedenti, ma SSH2 non è completamente compatibile con SSH1 e anche SSH2 richiede la licenza.