SSH1 contro SSH2
SSH (Secure Shell) è un protocollo utilizzato per abilitare la sicurezza alla comunicazione dei dati sulle reti. SSH è stato trovato da Tatu Ylonen (SSH Communications Security Corporation) nel 1995. Questo protocollo fornisce l'infrastruttura per proteggere il trasporto dei 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 versione 1)
La versione 1 del protocollo SSH è stata trovata nel 1995 e consiste di tre protocolli principali, chiamati SSH-TRANS, SSH-USERAUTH e SSH-CONNECT.
SSH-TRANS: è il protocollo del livello di trasporto (TCP / IP) che fondamentalmente fornisce l'autenticazione del server, la riservatezza e l'integrità.
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 multiplexa i dati crittografati in alcuni flussi logici. Questo protocollo viene eseguito sopra il protocollo SSH-USERAUTH.
Per avviare la connessione sicura, 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 a 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 all'accesso remoto, SSH può essere utilizzato per il tunneling, 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. La compressione dei dati è supportata anche da SSH. Questa funzione è utile quando il collegamento client-server ha una larghezza di banda ridotta e può essere utilizzata per migliorare il throughput della connessione.
Nella versione 1.5 di SSH, gli sviluppatori hanno identificato alcune vulnerabilità. In questa versione, era possibile l'inserimento non autorizzato di dati nel mezzo del flusso di dati crittografati, il che può comportare un rischio elevato per la sicurezza dei dati. Inoltre, nel 2001 è stata identificata la vulnerabilità del server di autenticazione dannoso non autorizzato per inoltrare l'autenticazione a un altro server.
SSH2 (Secure Shell versione 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 è stato riscritto con l'aggiunta di più meccanismi difensivi per evitare le 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ù un 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 integrate e molte console compatibili con SSH sono state sviluppate anche per sistemi Windows (TeraTerm, Putty, OpenSSH, WinSCP ecc.). • Come accennato in precedenza, SSH2 è una versione migliorata di SSH1. • SSH1 presenta alcuni problemi noti documentati 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 la licenza SSH2 richiede. |