Quais são os pontos strongs e fracos dos algoritmos ssh-keygen e um deles é o mais seguro?

3

Eu queria saber sobre os diferentes tipos de chaves que você pode criar com ssh-keygen -t (dsa | ecdsa | ed25519 | rsa | rsa1). Como diferentes tipos são oferecidos, presumo que cada um tenha uma vantagem específica sobre os outros. Isso é verdade? O que eles são? E como o RSA é o tipo padrão ( Pergunta 39321 ), esse é o mais seguro? Pode haver um que seja mais seguro?

    
por mrub 07.09.2015 / 18:31

2 respostas

4

Não existe um algoritmo que seja o "mais seguro". Uma vez que um algoritmo tenha atingido o ponto em que seria necessário um enorme avanço matemático ou bilhões de bilhões de anos de poder computacional, as comparações de força tornam-se sem sentido.

O motivo pelo qual o RSA é comum é que é comum. Já existe há muito tempo, portanto, todas as implementações suportam RSA, portanto, todas as implementações continuam oferecendo RSA para interoperabilidade.

RSA é seguro, desde que você escolha um tamanho de chave grande o suficiente: 1024 é ininterrupto, mas pode ser quebrado em poucos anos por invasores de nível NSA; 2048 (o tamanho padrão para ssh-keygen nas versões atuais do OpenSSH) é seguro a médio prazo. (RSA1 é uma versão antiga do protocolo SSH que tem pontos fracos e não deve ser mais usada. É praticamente extinta de qualquer maneira.)

O DSA é limitado a chaves de 1024 bits. Você geralmente não pode comparar tamanhos de chaves entre algoritmos, mas entre DSA e RSA, a força é quase a mesma. O OpenSSH suporta apenas chaves de 1024 bits porque esse era o tamanho máximo no antigo padrão DSA (FIPS 186-2) e o protocolo SSH não era atualizado. Como o DSA-1024 é considerado fraco, é um tanto obsoleto, e o OpenSSH 7.0 desabilita-o por padrão na configuração do servidor ( o uso de chaves DSA no protocolo SSH é chamado de ssh-dss ).

ECDSA é uma nova família de algoritmos; É significativamente mais rápido que RSA ou DSA para o mesmo nível de segurança e possui chaves menores. O apoio do ECDSA é menos onipresente que o RSA, em parte porque é mais recente e em parte por causa de patentes em técnicas de implementação eficientes. Qualquer tamanho de chave suportado pelo OpenSSH é seguro.

O Ed25519 é uma alternativa mais recente ao ECDSA. Para um usuário final, ele não tem vantagem significativa sobre o ECDSA (para um implementador, ele carrega menos risco de violação de patente). Mas como é mais recente, você pode querer se conectar a máquinas que ainda não suportam; isso é menos provável com o ECDSA.

Assim, o RSA padrão é bom, mas se você usar computadores menos potentes (por exemplo, smartphone, roteador, etc.), prefira ECDSA (ou Ed25519) se suportado.

    
por 08.09.2015 / 01:58
4

Há uma resposta semelhante em site de Segurança da Informação Stackexchange . Na prática, todos eles devem fazer o seu trabalho.

  • RSA é universal e deve funcionar em qualquer lugar
  • O DSA foi desativado no openssh recente (7.1) e pode funcionar pior com o gerador de números aleatórios da semana
  • O
  • ECDSA é computacionalmente mais leve, mas você não notará a diferença nos computadores atuais. Desvantagem também é o comprimento fixo da chave (o mesmo para o DSA).
  • O ED25519 é menos difundido, mas não deve conter nenhum backdoor de nenhuma agência nacional pergunta de origem
  • RSA1 é a chave RSA para o antigo protocolo SSHv1, que é obsoleto e não deve ser aceito por nenhum servidor moderno.
por 07.09.2015 / 23:16

Tags