Recuperar uma chave privada SSH?

4

Eu tenho uma chave RSA (gerada pelo PuTTYgen) que é configurada para fazer login em várias máquinas via SSH. Ou melhor, eu tive essa chave. (O computador em que ele estava caiu, a ponto de ser necessária a reinstalação do XP. O arquivo de chave privada é criptografado pelo sistema de arquivos e agora é basicamente o que parece ser um outro sistema operacional e usuário, o que o XP faria descriptografar a chave aparentemente não pode mais ser feito.)

O que me resta é uma base64 compatível com OpenSSL da chave pública (de uma das máquinas ainda configuradas para aceitar senhas) e, claro, a frase secreta para a chave. Eu poderia (!) Ainda ter um backup antigo do registro antes de a máquina também morrer, mas teria que procurá-lo. De qualquer forma, parece que pode não ser possível recuperar o arquivo de chave em si. (Se for possível, isso seria ótimo. Mas as perspectivas não estão boas até agora.)

Existe alguma maneira de recuperar a chave privada, se eu não posso recuperar o arquivo real que continha? Talvez importando a chave pública para PuTTYgen ou openssl e fazendo alguma coisa reversa sobre ela? Entrando em contato com todos os administradores envolvidos e enviando-lhes novas chaves pode ser uma dor, então isso é praticamente um último recurso.

    
por cHao 22.09.2010 / 19:04

5 respostas

12

Atualmente, a única maneira de "recuperar" a chave privada da chave pública é por busca exaustiva (força bruta). O sistema foi especificamente projetado dessa forma para que você possa emitir sua chave pública para qualquer pessoa sem se preocupar com a possibilidade de descobrir sua chave privada.

Editar:
Aviso! Explicação simplificada à frente!

Supondo que você tenha chaves RSA (a mais comum), a chave pública possui dois números: n e e. A chave privada tem o mesmo n e outro número d. Originalmente, havia dois números primos enormes p e q que eram usados para calcular n, d e e, de modo que n e e pudessem criptografar um texto; n e d poderiam descriptografar o texto cifrado. Você tem n e e. Você pode fatorar n para descobrir peq; o problema é que n é um número enorme com toneladas de números possíveis de peq. Atualmente não há maneira conhecida de fazer isso rapidamente; Não tenho certeza se os hackers se incomodaram em escrever ferramentas para tentar. Então, em essência, não é realisticamente impossível.

Quando você atribui uma senha a uma chave, ela apenas faz uma criptografia simples na chave privada armazenada em seu computador. A chave pública não é afetada por isso. As senhas são relativamente fáceis de quebrar em comparação com a chave privada em si; então isso não deve ser confiável para a segurança primária (você deve manter sua chave privada apenas em locais seguros).

    
por 22.09.2010 / 19:46
5

Tenho certeza que não há como recuperar a chave privada se você tiver a chave pública - isso seria um grande risco de segurança, porque qualquer pessoa com uma chave pública poderia determinar a chave privada dela.

    
por 22.09.2010 / 19:42
4

Se bem entendi, você deseja gerar uma chave privada compatível a partir da chave pública. Se isso fosse possível, todo o sistema seria inútil. Se você conseguir, gostaria de saber como gerar a chave privada do banco usando o certificado SSL.

    
por 22.09.2010 / 19:56
1

É absolutamente impossível recuperar uma chave privada de uma chave pública. Você pode gerar um público de um particular, mas não o contrário. É completamente impossível, e é também o ponto de criptografia assimétrica.

    
por 22.09.2010 / 19:54
0

A única coisa que você pode fazer rapidamente é gerar um novo conjunto de chaves privadas e públicas e substituir as chaves públicas nos servidores que você está tentando acessar; no entanto, para fazer isso, você deve ter acesso físico aos servidores que você tinha as chaves públicas armazenadas antes.

Se você não tiver acesso físico às máquinas, isso será praticamente impossível para você.

Além disso, mesmo se você tiver acesso físico aos servidores, se os discos rígidos ou a área onde as chaves foram armazenadas forem criptografados, isso será praticamente impossível para você.

Doug Pan

    
por 17.02.2011 / 21:53