Como funciona a criptografia SSH?

Como funciona a criptografia SSH?

Eu li sobre como gerar 2 chaves (privada e pública) no host do cliente e copiar a chave pública para o host do servidor.

Pelo que entendi (corrija-me se estiver errado): O servidor criptografa os dados com a chave pública e os envia ao cliente, o cliente os descriptografa com a chave privada.

Mas se eu precisar criptografar dados no cliente para enviar ao servidor, como isso acontece?

A chave pública criptografa dados no cliente? Mas como o servidor pode descriptografá-lo, se possui apenas a chave pública?

Como funciona a criptografia SSH?

Responder1

A primeira coisa depois de estabelecer a conexão TCP, ambos os sistemas concordam com umchave de sessão, usando protocolos comoTroca de chaves DH,ECDHou GSSAPI. Esta chave é simétrica e temporária – ambos os lados usam a mesma chave para criptografar e descriptografar dados usando algoritmos comoAESouRC4.

O par de chaves do cliente nunca é usado para criptografar dados, apenas paraautenticação– “publickey” é um dos vários métodos disponíveis, onde o cliente apresenta a sua própria chave pública juntamente com a prova de propriedade da chave privada. Da mesma forma, o par de chaves do servidor é usado apenas para autenticar o servidor durante trocas de chaves DH ou ECDH; nenhum dado é criptografado com ele.

O protocolo SSH2 está documentado emvários RFCs, Incluindo:

  • RFC 4253 – Protocolo de camada de transporte Secure Shell (SSH)
  • RFC 4419– Intercâmbio do Grupo Diffie-Hellman
  • RFC 4432– Troca de chaves RSA
  • RFC 4462– Autenticação GSSAPI e troca de chaves

Responder2

A primeira coisa que acho que você precisa entender é que, embora muitos protocolos de criptografia como SSH e SSL usem PKI para fins de autenticação, quase nenhum desses sistemas usará PKI para realmente transmitir a carga útil.

A PKI exige muito da CPU para ser usada na transmissão dos dados reais da carga útil. O que acontece é que a PKI é utilizada para negociar uma chave gerada aleatoriamente, para ser utilizada com um protocolo de criptografia simétrica. O protocolo a ser utilizado também é negociado e deve ser o protocolo mais forte que os dois sistemas possam concordar. Assim, uma vez concluído o aperto de mão e a negociação inicial, praticamente tudo é apenas criptografia simétrica padrão.

Responder3

Aqui estão alguns exemplos práticos: suponha que a chave A foi mantida em segredo e, portanto, é a chave privada e a chave B foi publicada em um local acessível ao público e, portanto, é a chave pública.

Portanto, se você quiser enviar uma mensagem para todos e quiser que eles verifiquem se ela veio de você e permaneceu inalterada enquanto estava sendo entregue, você enviaria sua mensagem e incluiria um hash da mensagem criptografada com a Chave A. Então, qualquer pessoa que tem a chave B pode descriptografar o hash, compará-lo com a mensagem que recebeu e verificar se a mensagem veio de você (devido ao fato de que apenas uma pessoa com a chave A poderia ter gerado a carga criptografada que descriptografou o hash com sucesso, e porque você é a única pessoa com Chave A, isso só poderia vir de você).Isso é chamado de assinatura.

Agora digamos que alguém queira lhe enviar uma mensagem secreta, mas não queira revelar quem é. Eles podem criptografar sua mensagem com uma chave simétrica (como Zoredache mencionou que simétrica é muito mais barata), então pegar essa chave e criptografá-la com a Chave B e enviá-la para você. Como apenas a Chave A pode descriptografar algo que foi criptografado com a Chave B, nenhuma outra pessoa pode ver o que está na mensagem que foi enviada a você. É assim que funciona a criptografia normal e como o SSH troca dados.

Responder4

você escreve

"A chave pública criptografa os dados do cliente? Mas como o servidor pode descriptografá-los, se só possui a chave pública?"

Não sei muito sobre isso, mas acho que posso responder com bastante clareza.

Se A quiser enviar uma mensagem para B, A usará a chave pública de B. É assim que B consegue descriptografá-lo.

Se A usasse sua própria chave pública para criptografar a mensagem, então, de fato, B não seria capaz de descriptografá-la.

Isso é explicado aqui

http://www.comodo.com/resources/small-business/digital-certificates2.php

informação relacionada