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:
-
O caractere digitado (ex: ‘l’) é cifrado com a chave de sessão.
-
O pacote cifrado é enviado pelo socket TCP.
-
O servidor recebe, usa a mesma chave para decifrar e executa o comando.
-
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.