SSH1 vs SSH2
SSH (Secure Shell) é um protocolo que é usado para permitir a segurança da comunicação de dados nas redes. O SSH foi encontrado por Tatu Ylonen (SSH Communications Security Corporation) em 1995. Esse protocolo fornece a infraestrutura para transporte seguro de dados, execução remota de comandos e serviços de rede habilitados para segurança entre dois computadores em uma rede. A comunicação é gerenciada de acordo com a arquitetura cliente-servidor (cliente SSH e servidor SSH). O protocolo SSH foi desenvolvido com duas versões chamadas SSH1 e SSH2.
SSH1 (Secure Shell Versão 1)
A versão 1 do protocolo SSH foi encontrada em 1995 e consiste em três protocolos principais, chamados SSH-TRANS, SSH-USERAUTH e SSH-CONNECT.
SSH-TRANS: É o protocolo da camada de transporte (TCP/IP) que basicamente fornece autenticação, confidencialidade e integridade do servidor.
SSH-USERAUTH: É o protocolo utilizado para autenticação do usuário no estabelecimento de comunicação. Este protocolo autentica o cliente SSH no servidor SSH. Este protocolo também é executado na camada de transporte.
SSH-CONNECT: É o protocolo de conexão que multiplexa dados criptografados em alguns fluxos lógicos. Este protocolo é executado em cima do protocolo SSH-USERAUTH.
Para iniciar a conexão segura, o cliente envia suas informações de autenticação para o servidor SSH com criptografia de 128 bits. Cada host do servidor possui uma chave de host, que serve para verificar a comunicação correta do servidor cliente. Além disso, deve ter uma chave pública do servidor SSH relevante. Cada segmento de dados transferido é criptografado usando algoritmos de criptografia (DES, 3DES, IDEA, Blowfish).
Além do login remoto, o SSH pode ser usado para encapsulamento, conectividade X11, SFTP (Protocolo de transferência de arquivos SSH), SCP (cópia segura) e também encaminhamento de porta TCP. A porta TCP 22 é usada pelo protocolo SSH por padrão. A compactação de dados também é suportada pelo SSH. Esse recurso é útil quando o link cliente-servidor tem baixa largura de banda e pode ser usado para melhorar o throughput da conexão.
Na versão 1.5 do SSH, os desenvolvedores identificaram algumas vulnerabilidades. Nesta versão, era possível a inserção não autorizada de dados no meio do fluxo de dados criptografados, o que pode causar alto risco à segurança dos dados. Além disso, a vulnerabilidade do servidor de autenticação mal-intencionado e não autorizado para encaminhar a autenticação para outro servidor foi identificada em 2001.
SSH2 (Secure Shell Versão 2)
SSH2 foi introduzido em 2006 com muitas melhorias significativas em relação ao SSH1. Embora seja uma melhoria do SSH1, o SSH2 não é compatível com o SSH1. O SSH2 foi reescrito com a adição de mais mecanismos defensivos para evitar vulnerabilidades.
SSH2 usa um conjunto diferente de algoritmos aprimorados e mais fortes para criptografia e autenticação, como DSA (Digital Signature Algorithm). O SSH2 não é mais um software livre como o SSH1; o desenvolvedor do SSH2 restringiu o uso gratuito do SSH2. Ao contrário do SSH1, o programa SFTP (Secure File Transfer) foi incorporado ao pacote SSH2 e usa os mesmos protocolos de criptografia usados pelo SSH2 para criptografar fluxos de dados.
Qual é a diferença entre SSH1 e SSH2?
Muitos sistemas operacionais baseados em UNIX possuem capacidade SSH incorporada e muitos consoles compatíveis com SSH também foram desenvolvidos para sistemas Windows (TeraTerm, Putty, OpenSSH, WinSCP etc).
• Como mencionado acima, o SSH2 é uma versão aprimorada do SSH1.
• SSH1 tem alguns problemas documentados conhecidos que são corrigidos e recodificados em SSH2.
• Normalmente, a versão mais recente de qualquer aplicativo suporta suas versões mais antigas, mas o SSH2 não é totalmente compatível com o SSH1 e também requer o licenciamento do SSH2.