Integridade da chave pública SSH

1

Meu entendimento (embora limitado) da criptografia de chave pública assimétrica é que a chave pública é projetada para ser compartilhada com todos, enquanto a chave privada é mantida privada.

Suponha que eu armazene a chave pública da minha máquina local em um servidor web remoto, e informações criptografadas (pela minha chave privada) que eu enviar para este servidor sejam interceptadas por outra parte que também possua minha chave pública. Isso não significa que eles também podem descriptografar minhas informações criptografadas?

Se sim, isso significa que eu deveria compartilhar apenas a chave pública com a outra parte - neste caso, o servidor - o que vai contra minha compreensão do que é uma chave pública? Posso ter pares de chaves diferentes na minha máquina local para diferentes aplicativos?

    
por user101570 22.11.2011 / 19:15

4 respostas

6

Você não envia informações para o servidor criptografado com sua chave privada. Quando você abre uma conexão segura com o servidor, o software no servidor gera uma nova chave de criptografia simétrica, criptografa-a com sua chave pública e a envia para você. Em seguida, você descriptografa com sua chave privada e usa essa chave de criptografia simétrica para os dados enviados para o servidor. Além dos aspectos de segurança, a criptografia de chave pública / privada exige muito da CPU para usá-la em todas as transferências de dados - ela é usada normalmente apenas para criptografar outras chaves de criptografia ou para assinaturas digitais.

    
por 22.11.2011 / 19:23
1

Existem três muito coisas diferentes que você pode fazer com um sistema de chaves públicas:

  1. Envie dados privados: para isso, você não usa sua chave pública, mas a chave pública do destino pretendido. Portanto, os dados só podem ser descriptografados usando sua chave privada.

  2. Assinar dados públicos: se você criptografar algo com sua chave privada, qualquer pessoa (com sua chave pública) pode descriptografá-lo e lê-lo, mas eles sabem que é você quem o escreveu e que não foi modificado. Na prática, toda a mensagem não é criptografada, apenas uma soma de verificação usada como assinatura.

  3. Estabeleça um canal privado: isso é mais complexo, o método mais comum é o Diffie- Protocolo de troca de chaves Hellman . Esse curto intercâmbio permite que duas partes gerem um segredo comum, e mesmo que alguém intercepte as comunicações, ele não receberá esse segredo se não tiver uma das chaves privadas. Em seguida, o segredo compartilhado é usado para criptografar o restante das comunicações.

Acho que você leu as descrições dos dois primeiros casos, mas sua pergunta (e a resposta de Mike Scott ) pareceram ser o terceiro.

    
por 22.11.2011 / 19:48
0

com a chave pública que você pode criptografar e enviar ao detentor da chave privada para descriptografar, você não pode descriptografar com a chave pública.

você pode ter muitos pares de chaves diferentes em uma máquina.

    
por 22.11.2011 / 19:20
0

O único uso que o SSH faz da chave pública é determinar a identidade do proprietário da chave privada correspondente. A única coisa que você pode fazer com uma chave pública SSH é determinar se um agente de autenticação cooperante mantém ou não a chave privada correspondente.

    
por 22.11.2011 / 20:43