Geração de pares de chaves SSH: RSA ou DSA?

104

O SSH suporta dois algoritmos de assinatura para pares de chaves: RSA e DSA. Qual é o preferido, se houver? Para o RSA, qual é o comprimento mínimo aceitável da chave?

Brad Ackerman
fonte

Respostas:

70

Geralmente, o RSA é o preferido (agora que a questão da patente acabou) porque pode chegar a 4096 bits, onde o DSA deve ser exatamente 1024 bits (na opinião de ssh-keygen). 2048 bits é ssh-keygeno tamanho padrão para chaves RSA, e não vejo nenhum motivo específico para usar os mais curtos. (O mínimo possível é 768 bits; se é "aceitável" é situacional, suponho).

caos
fonte
Eu sempre me perguntei por que as pessoas sentem a necessidade de proteger suas conexões ssh com a chave de 2048 bits, quando é muito improvável que o seu banco, no qual você confia, confie em mais de 256 bits e provavelmente em 128 bits. Certamente não estou dizendo que há algo errado em usar uma chave grande, só estou ... dizendo.
31709 msanford
25
A conexão SSL do banco é um tipo diferente de cifra sendo usada e, mais especificamente, a chave usada para as principais partes da transação é gerada e usada apenas para essa transação e, em seguida, descartada.
Ophidian
O motivo está realmente relacionado ao dimensionamento. a criptografia não é barata e quanto maior a sua força de chave, menor o número de conexões SSL que você pode atender. Se você possui um banco de varejo com todos os consumidores tentando usar SSL, precisará escolher um conjunto de chaves compatível, mas que também corresponda ao seu hardware.
Spence
15
msanford: Como Ophidian disse que são diferentes tipos de criptografia. As chaves RSA de 256 bits seriam completamente inúteis para praticamente qualquer finalidade. As chaves simétricas estão no intervalo de 128-512 bits, enquanto o início assimétrico é de 768 bits e são seguras entre 1500 e 2000 bits ou mais. As chaves públicas de 768 bits podem e foram quebradas. O simétrico de 128 bits não pode (por si só) praticamente ser quebrado.
Thomas
2
@xenoterracide, ssh usa as bibliotecas openssl. Quando o SSH é iniciado pela primeira vez, ele usa chaves RSA / DSA para verificar o host e configurar as chaves simétricas para a sessão. Esse é o mesmo procedimento que os servidores e clientes SSL seguem; portanto, você descobrirá que nós falamos sobre SSH; eles geralmente se referem a permitir a pesquisa e a documentação feitas para SSL
Walter
5

Não se trata de criptografia simétrica ou assimétrica. Trata-se de algoritmos específicos (RSA e DSA) que exigem maior contagem de bits para atingir um nível de segurança aceitável. Por exemplo, o ECC também é uma criptografia assimétrica, mas fornece boa segurança em contagens de bits muito mais baixas que o RSA ou DSA.


fonte
5

Se você possui uma implementação recente do SSH, também pode considerar o ECDSA!

b0fh
fonte
3

Os certificados de 256 bits que os bancos usam para conexões SSL são códigos simétricos como 3DES ou AES, portanto, a contagem de bits mais baixa. Quando você vê 1024 e 2048 (e até 4096), essas são cifras assimétricas.


fonte
1

As chaves DSA têm assinaturas muito mais curtas que as chaves RSA (para o mesmo "nível de segurança"), portanto, um motivo para usar o DSA seria em ambientes restritos.

Jus12
fonte