É * realmente * possível roubar diretamente uma chave privada se ela não usar uma frase secreta?

3

Li em vários locais, como em essa questão de que usar um par de chaves ssh sem uma frase secreta permite que invasores roubem sua chave privada se tiverem acesso à sua conta. Presumi que "roubar" significava que eles poderiam facilmente fazer um ataque de força bruta para tentar todas as chaves privadas possíveis até encontrarem uma que correspondesse à chave pública armazenada em sua conta. Mas a resposta aceita na questão acima assume que as chaves privadas são essencialmente armazenadas em texto simples em algum lugar. Isso é contrário ao que eu sempre entendi ser o caso: como (normalmente) você não armazenaria sua chave privada no servidor - somente sua chave pública - o principal risco de segurança representado por não usar uma frase secreta é que alguém possa roubar a chave privada da sua máquina local e usá-la sem precisar saber também a frase secreta.

Qual visão está correta? As chaves privadas são facilmente removidas de um servidor no qual você apenas colocou sua chave pública?

    
por iconoclast 30.08.2012 / 17:29

1 resposta

8

Essa pergunta está preocupada com chaves privadas armazenadas no servidor não criptografadas. É um cenário como:

workstation 1 ---> gateway -> final server
     ⋮               |
workstation n ------/

e o OP está preocupado com as chaves privadas no "gateway", que é uma máquina compartilhada com vários usuários.

Não é possível roubar a chave privada comprometendo o servidor, apenas a máquina na qual a chave está realmente armazenada. Se você usar o encaminhamento do agente ssh, é possível usar a chave sem roubá-la (para efetuar login em outra máquina, por exemplo), se você não tiver o prompt ssh-agent primeiro.

Mas você ainda deve criptografar suas chaves privadas, caso sua estação de trabalho esteja comprometida. Ou, especialmente no caso de um laptop, perdido ou roubado.

    
por 30.08.2012 / 17:46