Se a criptografia assimétrica é a “chave da porta” no SSH, a Criptografia Simétrica é o “túnel blindado” por onde os dados trafegam. Após a fase inicial de autenticação e o estabelecimento de um segredo compartilhado, o SSH transiciona para o uso de algoritmos simétricos para cifrar todo o volume de mensagens, comandos e arquivos trocados durante a sessão ativa.


1. O Papel da Criptografia Simétrica no Fluxo SSH

A principal razão para o uso da criptografia simétrica na troca de mensagens é a eficiência computacional.

  • Performance: Algoritmos simétricos são ordens de magnitude mais rápidos que os assimétricos. Em uma sessão SSH onde se transfere um arquivo de 10 GB via SCP, o uso de chaves públicas para cada pacote tornaria a transferência inviável e consumiria 100% da CPU.

  • Segurança de Fluxo: Uma única chave (a Chave de Sessão) é usada tanto para cifrar quanto para decifrar as mensagens. Ambos, cliente e servidor, possuem a mesma chave, que nunca foi transmitida em texto claro pela rede.

2. A Chave de Sessão (Session Key)

A chave simétrica não é armazenada em disco; ela é efêmera.

  • Geração: É criada durante o Key Exchange (KEX) usando algoritmos como Diffie-Hellman.

  • Unicidade: Cada nova conexão SSH gera uma chave de sessão completamente diferente.

  • Destruição: Assim que o comando exit é dado ou a conexão cai, a chave é apagada da memória RAM de ambos os dispositivos.


3. Integridade e Confidencialidade

A criptografia simétrica no SSH não apenas esconde o conteúdo (confidencialidade), mas também garante que ele não foi alterado (integridade). Para isso, utiliza-se o conceito de MAC (Message Authentication Code) ou modos modernos de cifragem autenticada:

  • Etiquetagem: Cada pacote de dados recebe uma “assinatura” simétrica.

  • Verificação: Se um atacante alterar um único bit da mensagem enquanto ela viaja pelo cabo, a chave simétrica do receptor gerará um hash diferente, e o SSH encerrará a conexão imediatamente por erro de integridade.

4. Algoritmos Simétricos Comuns (Cifras)

O SSH negocia com o servidor qual a melhor cifra disponível. As mais utilizadas tecnicamente são:

  • AES (Advanced Encryption Standard): O padrão da indústria. Geralmente usado em modos como AES-GCM (Galois/Counter Mode), que combina cifragem e autenticação de integridade em um único passo ultraveloz.

  • ChaCha20-Poly1305: Um algoritmo moderno, extremamente rápido em dispositivos que não possuem aceleração de hardware para AES (como alguns roteadores ou dispositivos IoT antigos).

  • Triple DES (3DES): Antigo e obsoleto, raramente permitido em configurações modernas de Hardening devido à sua lentidão e vulnerabilidades conhecidas.


5. O Túnel Criptografado

Uma vez que a troca de mensagens simétrica está ativa, tudo o que o usuário digita é encapsulado:

  1. O caractere digitado (ex: ‘l’) é cifrado com a chave de sessão.

  2. O pacote cifrado é enviado pelo socket TCP.

  3. O servidor recebe, usa a mesma chave para decifrar e executa o comando.

  4. O resultado (ls -l) é cifrado de volta e enviado ao cliente.

6. Proteção contra Ataques de Replay

Como a criptografia simétrica no SSH utiliza números de sequência internos para cada pacote cifrado, um atacante não pode simplesmente “capturar” um pacote de login e “retransmiti-lo” mais tarde para tentar ganhar acesso. A chave simétrica e o contador de sequência tornam cada pacote único e temporalmente restrito.