Como o SSH estabelece uma comunicação segura

como-o-ssh-estabelece-uma-comunicacao-segura

Quando enviamos informações/cartas confidenciais, queremos que elas fiquem ocultas do mundo exterior. Portanto, garantimos que o conteúdo seja protegido selando-o em um envelope e enviando-o para um destino usando os correios.

Pelo menos, é assim que costumávamos enviar informações. Não estamos nem entrando em uma discussão sobre criptografia e código Morse, que usava um nível mais avançado de sigilo. Ainda mais, hoje temos o SSH que estabelece comunicação segura entre dois hosts.

Anteriormente, usávamos o telnet para conectar-se a um servidor remoto usando a porta 23. O problema era estarmos enviando as informações por texto sem formatação, o que significa que qualquer pessoa que quisesse ler as informações podia invadir a rede e as informações estavam comprometidas.

Tem que haver uma maneira segura de enviar uma mensagem para um servidor remoto, certo? Certamente há! A solução é enviá-la através do Secure Shell (SSH).

Como o SSH estabelece uma comunicação segura

Imagem: Reprodução / Red Hat

Em suma, queremos nos comunicar com segurança usando mensagens criptografadas do cliente para o servidor e vice-versa. Fazemos isso com o SSH da seguinte maneira. O SSH estabelece uma conexão segura entre dois hosts usando a porta 22. Depois de se autenticarem, os hosts CLIENTE E SERVIDOR habilitam a troca segura de mensagens.

Tipos de criptografia do SSH

O SSH usa três tipos diferentes de criptografia:

  • Criptografia simétrica
  • Criptografia assimétrica
  • Hashing

SSH usando criptografia simétrica

Também conhecida como criptografia de chave compartilhada, a criptografia simétrica é quando uma única chave ou um par de chaves são usados para criptografar e descriptografar uma mensagem. Essa chave é usada para criptografar toda a sessão de comunicação entre um cliente e um servidor.

Tanto o cliente quanto o servidor concordam com um único método e geram uma chave compartilhada, que obviamente nunca é divulgada a terceiros e, portanto, é usada para enviar mensagens de chave compartilhada/secreta. A parte mais interessante sobre esse método é que a chave nunca é trocada entre um cliente e um servidor. Em vez disso, cada máquina calcula a chave compartilhada independentemente, usando um método acordado anteriormente. Mesmo que uma máquina de terceiros capture os dados, ela não poderá descriptografar porque o método usado para criptografar os dados é desconhecido.

SSH usando criptografia assimétrica

Ao contrário do método acima, esse método usa um par de chaves para criptografar e descriptografar. Elas são conhecidas como chaves públicas e privadas. Como o nome sugere, a chave pública, é distribuída amplamente. A chave privada está intimamente relacionada à chave pública em termos de funcionalidade, mas pode ser calculada apenas conhecendo a chave pública.

A chave privada é um fator importante em toda a comunicação, pois o sigilo depende do fato de que a chave privada não é revelada a terceiros e é a única chave capaz de descriptografar a mensagem, que é criptografada por sua própria chave pública. Portanto, se alguém quiser descriptografar e ler as mensagens, deverá possuir a chave privada.

Hashing para uma comunicação segura

Por fim, outra forma de manipulação de dados da qual o SSH se beneficia é o hash criptográfico. Funções de hash criptográfico são métodos para criar uma assinatura ou resumo de um conjunto de informações. Seus principais atributos distintivos são que eles nunca devem ser revertidos, são praticamente impossíveis de influenciar e são praticamente únicos.

Dessa maneira, usar a mesma função e mensagem de hash deve produzir o mesmo hash; modificar qualquer parte dos dados deve produzir um hash totalmente diferente. Além disso, um usuário não deve conseguir produzir a mensagem original a partir de um determinado hash, mas pode saber se uma determinada mensagem produziu um determinado hash.

Portanto, dadas essas propriedades, os hashes são usados principalmente para fins de integridade de dados e para verificar a autenticidade da comunicação. O principal uso no SSH é com HMAC (sigla em inglês; significa Códigos de Autenticação de Mensagens Baseados em Hash). Ainda mais, eles são usados para garantir que o texto da mensagem recebida esteja intacto e não modificado.

Neste artigo, você viu como o SSH estabelece uma comunicação segura usando a criptografia.

Fonte: Red Hat | Digital Ocean

Leia também:

Como habilitar acesso ROOT via SSH no Ubuntu

Saiba como instalar o Mosh (Mobile Shell) no Ubuntu, Debian, Fedora, openSUSE, uma alternativa para acesso remoto SSH

Acesse a versão completa
Sair da versão mobile