OpenSSH: autorização baseada em chave, comprimento máximo de chave

9

Eu estou usando o Putty no Windows com autenticação baseada em chave para acessar alguns dos meus servidores.

Funciona totalmente bem com uma chave de ~ 3700 bits, mas com uma chave de ~ 17000 bits pensa por 20 segundos no lado do cliente e depois diz "Acesso negado" e pede uma senha.

Existe algum limite de tamanho de chave ou tempo limite no OpenSSH para autenticação baseada em chave?

Eu entendo que o uso de chaves tão grandes não tem muito sentido prático, especialmente quando se olha para estes 20 segundos de cálculo, apenas tentando resolver quaisquer problemas que eu enfrento: -) ...

    
por BarsMonster 14.07.2010 / 12:39

4 respostas

9

Em um ponto, eu olhei para a fonte do OpenSSL para as chaves Diffie-Hellman e descobri que havia um limite "arbitrário" de 10K no tamanho das chaves DH. Eu mudei a fonte para um teste e achei que funcionou. Eu escrevi um bug para os autores, e eles responderam que era intenção do projeto prevenir o DoS usando chaves massivas.

Não me surpreenderia ao ver algo semelhante no OpenSSH.

    
por 20.11.2011 / 04:50
5

Não há tamanho máximo de chave ou tempo limite definido no protocolo (ou pelo menos nenhum que você esteja atingindo), mas uma implementação pode não suportar chaves longas. Um tempo de processamento de 20 segundos com a chave privada não soa alto para uma chave RSA de 17kbit. Em seguida, o servidor pode não querer gastar muito poder de computação em um usuário não autenticado: recusar chaves muito grandes é uma proteção contra ataques DoS.

Atualmente, 2048 bits são considerados razoáveis para uma chave RSA; 4096 bits é maior que o necessário, mas geralmente suportado; Além disso, você não deve se surpreender se alguns programas rejeitarem a chave.

    
por 14.07.2010 / 13:38
3

Você conseguiu gerar esse tamanho de chave no sistema de destino pretendido? Você pode estar correndo em um limite para o que é suportado. O meu sistema Centos atual suporta um máximo de 16k que parece suficiente para teclas massivas. Você deve ver o máximo se tentar subir acima com ssh-keygen como mostrado abaixo.

[nathan@omni ~]# ssh-keygen -t rsa -b 32768
key bits exceeds maximum 16384
    
por 24.03.2015 / 19:09
1

O servidor openssh tem uma configuração LoginGraceTime. Na página do manual:

The server disconnects after this time if the user has not suc-
cessfully logged in.  If the value is 0, there is no time limit.
The default is 120 seconds.

Isso pode ser um limite que você está atingindo se estiver definido para 20 segundos.

Palpite: Também pode ser que a própria massa tenha esse limite, pensando que, se o processamento do lado do cliente da autenticação de chave pública demorar tanto tempo, algo está errado.

    
por 14.07.2010 / 13:56