No protocolo SSH, a segurança não se resume a esconder os dados (privacidade); é igualmente vital garantir que a informação chegue ao destino exatamente como foi enviada, sem alterações acidentais ou maliciosas (integridade). Estes dois pilares funcionam em conjunto para criar o que chamamos de “túnel seguro”.


1. Garantia de Privacidade (Confidencialidade)

A privacidade no SSH é alcançada através da cifragem de dados. Uma vez estabelecida a chave de sessão simétrica entre o cliente e o servidor, todo o tráfego é transformado em texto cifrado (ciphertext).

  • Ocultação de Metadados: O SSH cifra não apenas o conteúdo dos comandos (ex: rm -rf /), mas também os nomes de utilizador e as respostas do sistema. Um atacante que intercepte os pacotes na rede verá apenas um fluxo de dados aleatórios.

  • Prevenção de Eavesdropping: Mesmo que um administrador de rede mal-intencionado utilize um sniffer (como o Wireshark) no meio do caminho, ele não conseguirá extrair nenhuma informação útil da sessão.


2. Garantia de Integridade

A integridade assegura que os dados não foram modificados durante o trânsito. O SSH utiliza mecanismos matemáticos para validar cada pacote recebido.

  • MAC (Message Authentication Code): Para cada pacote enviado, o SSH calcula um “valor de verificação” (hash) baseado numa combinação dos dados do pacote, um número de sequência e a chave de sessão partilhada.

  • Verificação no Destino: Quando o servidor recebe o pacote, ele realiza o mesmo cálculo. Se o resultado for diferente do MAC enviado, o SSH assume que o pacote foi corrompido ou adulterado por um terceiro e encerra a ligação imediatamente por razões de segurança.

  • Proteção contra Injeção: Este mecanismo impede que um atacante insira comandos extras numa sessão ativa ou altere o destino de uma transferência de ficheiros.


3. Proteção contra Ataques de Replay

A integridade e a privacidade sozinhas não impedem que um atacante capture um pacote cifrado válido e o envie novamente mais tarde para tentar repetir uma ação (como uma transferência bancária ou um comando de execução).

  • Números de Sequência: O SSH atribui um número de sequência único e incremental a cada pacote dentro da sessão cifrada.

  • Rejeição de Duplicados: Se o receptor receber um pacote com um número de sequência que já foi processado ou que está fora de ordem, o pacote é descartado e a sessão é interrompida. Isto garante a frescura dos dados.


4. Algoritmos de Integridade Comuns

Antigamente, o SSH utilizava algoritmos como o HMAC-MD5 ou HMAC-SHA1. Atualmente, por questões de segurança técnica, as implementações modernas preferem:

  • HMAC-SHA2-256/512: Versões robustas de algoritmos de hash.

  • AEAD (Authenticated Encryption with Associated Data): Cifras modernas como AES-GCM ou ChaCha20-Poly1305 que realizam a cifragem (privacidade) e a autenticação (integridade) simultaneamente num único processo, sendo mais rápidas e seguras.

5. Resumo da Proteção

Recurso Técnica Utilizada Objetivo
Privacidade Cifragem Simétrica (AES, ChaCha20) Impedir a leitura por terceiros.
Integridade MAC ou AEAD Impedir a alteração dos dados.
Autenticidade Cifragem Assimétrica (RSA, Ed25519) Garantir a identidade das partes.

Exportar para as Planilhas

Desta forma, o SSH garante que o administrador possa gerir sistemas remotos com a confiança de que as suas ordens são privadas, exatas e únicas.