Qual é a diferença entre as chaves RSA, DSA e ECDSA que o ssh usa?

12

No meu diretório /etc/ssh/ , vejo três que tenho três tipos diferentes de chaves ssh:

-rw------- 1 root root    607 Oct  4 22:43 ssh_host_dsa_key
-rw-r--r-- 1 root root    623 Oct  4 22:43 ssh_host_dsa_key.pub
-rw------- 1 root root    241 Oct  4 22:43 ssh_host_ecdsa_key
-rw-r--r-- 1 root root    194 Oct  4 22:43 ssh_host_ecdsa_key.pub
-rw------- 1 root root   1602 Oct  4 22:43 ssh_host_rsa_key
-rw-r--r-- 1 root root    378 Oct  4 22:43 ssh_host_rsa_key.pub

Quais são as diferenças entre as chaves RSA, DSA e ECDSA do ssh, e eu preciso dos três?

    
por fouric 21.10.2013 / 19:19

2 respostas

8

São chaves geradas usando diferentes algoritmos de criptografia. Você pode optar por usar diferentes formas de criptografia ao usar o SSH, um pouco semelhante à capacidade de escolher diferentes métodos de criptografia para WiFi (WPA2, WPA, WEP, etc.).

O SSH usa criptografia de chave pública, ou seja, quando você se conecta a um servidor SSH, ele transmite uma chave pública que você pode usar para criptografar mais tráfego a ser enviado para esse servidor. Se o servidor estiver configurado para usar o RSA, será uma chave gerada pelo algoritmo RSA.

Seu computador envia de volta sua própria chave RSA pública do arquivo de chaves que você listou na sua pergunta. O servidor precisa dessa chave para se conectar de volta a você e responder.

Todas as três chaves existem no seu computador porque qualquer servidor SSH ao qual você está se conectando pode estar configurado para usar qualquer um desses algoritmos. Seu computador enviará de volta uma chave única correspondente ao tipo que o servidor usa, sua chave foi gerada em seu computador pelo mesmo algoritmo.

Veja alguns outros recursos:

link

link

link

link

link

    
O
por Zoasterboy 21.10.2013 / 19:38
2

Você precisa de todos eles?
Não, seu servidor ssh precisa apenas de um e o cliente precisa apenas suportar esse tipo de chave para conexões ssh.

RSA, DSA, ECDSA, EdDSA, & amp; O Ed25519 é usado para assinatura digital, mas somente o RSA também pode ser usado para criptografia.

RSA ( Rivest-Shamir – Adleman ) é um dos primeiros criptosistemas de chave pública e é amplamente utilizado para transmissão segura de dados. Sua segurança depende de fatoração inteira , portanto, um RNG seguro nunca é necessário. Comparado ao DSA, o RSA é mais rápido para validação de assinatura, mas mais lento para geração.

DSA ( Algoritmo de Assinatura Digital ) é um padrão federal de processamento de informações para assinaturas digitais. Sua segurança depende de um problema discreto logarítmico . Comparado ao RSA, o DSA é mais rápido para geração de assinatura, mas mais lento para validação. A segurança pode ser quebrada se geradores de números incorretos forem usados .

ECDSA ( Algoritmo de Assinatura Digital de Curva Elíptica ) é uma implementação da DSA em Curva Elíptica ( Algoritmo de Assinatura Digital). A criptografia de curva elíptica é capaz de fornecer o nível de segurança relativamente igual ao RSA com uma chave menor. Também compartilha a desvantagem da DSA de ser sensível a RNGs ruins.

EdDSA ( Algoritmo de Assinatura Digital de Curvas de Edwards ) é um esquema de assinatura digital usando variante de assinatura de Schnorr com base em Curvas de Edwards torcidas . A criação de assinaturas é determinística no EdDSA e sua segurança é baseada na intratabilidade de certos problemas de logaritmos discretos, portanto, é mais seguro que DSA & amp; ECDSA, que requer aleatoriedade de alta qualidade para cada assinatura.

Ed25519 , é o esquema de assinatura EdDSA, mas usando SHA-512/256 e Curve25519 ; é uma curva elíptica segura que oferece melhor segurança do que DSA, ECDSA e & amp; EdDSA, mais tem melhor desempenho (não perceptível humanamente).

Outras notas
As chaves RSA são as mais usadas e, portanto, parecem ser as mais bem suportadas.

O ECDSA, (introduzido no OpenSSH v5.7 ), é computacionalmente mais leve que o DSA, mas a diferença é É perceptível, a menos que você tenha uma máquina com baixo poder de processamento.

A partir do OpenSSH 7.0 , o SSH não suporta mais as chaves DSA (ssh-dss) por padrão. Uma chave DSA usada para trabalhar em qualquer lugar, de acordo com o padrão SSH (RFC 4251 e subsequente).

O Ed25519 foi introduzido em oepnSSH 6.5 .

    
por Enkouyami 29.01.2018 / 10:35