Qual comprimento de chave RSA devo usar para meus certificados SSL?


95

Estou no processo de criação de um CSR e me pergunto qual é, sem dúvida, o melhor comprimento para minha chave RSA.

Claro, 384 é provavelmente muito fraco e 16384 é provavelmente muito lento.

Existe um consenso sobre o comprimento da chave que deve ser usado, dependendo do tempo de vida do certificado?

Edit: Como a maioria das pessoas, quero que minha chave seja razoavelmente forte. Não estou preocupado que a NSA possa quebrar minha chave em 2019. Só quero saber qual é a prática recomendada quando se planeja fazer negócios normais (por exemplo, um site de comércio eletrônico)

Respostas:


102

A partir de 2020, as chaves RSA devem ter 2.048 bits.

1024 bits

  • Os certificados RSA de 1024 bits são obsoletos e não são aceitos pelos navegadores.
  • O Firefox parou de aceitar certificados RSA de 1024 bits em 2014.
  • As autoridades de certificação pararam de entregar certificados RSA de 1024 bits em 2014 ou antes. Consulte o aviso da GlobalSign ou da Comodo .
  • Chaves de 1024 bits foram descontinuadas porque podiam ser quebradas em um pequeno datacenter (milhares de CPU ou centenas de GPU, talvez em alguns meses). Pode parecer muito, mas estava ao alcance de qualquer grande organização ou governo.

2048 bits

  • Certificados RSA de 2.048 bits são atualmente a norma aceita em uso.
  • Linha de base padrão fornecida pela CA e usada pelo software.
  • Eventualmente será quebrado também. Não sei quando, mas pode levar décadas.
  • Dobrar o tamanho leva muitas ordens de magnitude a mais poder de computação para quebrar. Veja a pergunta de quão mais forte é o RSA 2048 em comparação com o 1024 .

4096 bits

  • Certificados RSA de 4.096 bits são a próxima etapa
  • Amplamente disponível e com suporte. Todas as principais CA podem fornecer RSA de 2048 e 4096 bits, incluindo vamos criptografar .
  • O custo computacional não é linear com o tamanho da chave. 4096 não é duas vezes mais lento que 2048, talvez seja 10 vezes mais lento para processar. Não atualize cegamente os certificados para 4096 bits sem considerar o impacto no desempenho .
  • A "web" permanece em grande parte nos certificados de 2048 bits porque não pode suportar o custo de hardware de 4096 bits. Considere grandes atores como Google, CloudFlare, NetFlix com imenso tráfego e pegada de hardware.

3072 bits

  • 3072 bits não é uma coisa. Vá direto para 4096 bits.
  • É perfeitamente possível fazer criptografia de 3072 bits, só que nenhum software realmente a implementa, oferece suporte e anuncia oficialmente.
  • Historicamente, houve uma tentativa por volta de 2010-2015 de lançar 3.072 para casos de uso em que o custo computacional extra de 4.096 não é ideal. Ele desapareceu, mas ainda existem alguns artigos antigos divulgando os méritos do (mais rápido) 3072.

Extra

  • RSA foi descrito publicamente pela primeira vez em 1977 e ainda é forte quase 50 anos depois. Basta aumentar o número de bits para acompanhar os computadores mais rápidos.
  • Existe outro método para criptografia de chave pública baseado em curvas elípticas, ver ECDSA (1992).
  • Existe uma grande desconexão entre a capacidade de um usuário e de um invasor. Um servidor web ou um cliente móvel tem uma CPU (de baixo consumo). Um invasor pode ter um datacenter inteiro; para referência, um datacenter AWS recém-construído hospeda cerca de 60.000 servidores.
  • É incrível que um único dispositivo móvel possa calcular alguns cálculos matemáticos em alguns segundos ... que milhões de computadores não poderiam sonhar em adivinhar na vida.

13
As diferenças ("256 bits vão funcionar para sempre" por um lado, e "1024 bits já é uma porcaria" por outro) são devidas às diferenças entre algoritmos simétricos e assimétricos e aos tipos de chaves usados ​​em cada um. Com qualquer dado "nível equivalente de segurança", você verá números brutos muito diferentes para os comprimentos de chave em simétrico versus assimétrico.
Ti Strga 01 de

1
Em setembro de 2015, parece que a indústria mudou para não aceitar menos do que CSRs de 2.048 bits. Veja as respostas abaixo e o artigo de suporte da Comodo
angularsen

2
@anjdreas, Embora seja verdade que 2048 seja o mínimo , terei muito cuidado ao citar pontos de artigos da CA.
Pacerier

O link do RSA Labs agora é 404, a
propósito

1
nota: reescrever totalmente a resposta após 11 anos, com recomendações e referências atualizadas. comentários acima aqui estavam comentando revisões anteriores.
user5994461

12

Como muitos clientes exigem conformidade com os padrões criptográficos NIST, eu uso a orientação na Publicação Especial NIST 800‑57, Recomendação para Gerenciamento de Chave Parte 1, §5.6. A maioria de nossos aplicativos é adequada para 112 "bits" de segurança, de modo que corresponde ao DES triplo (ou um pequeno aumento de AES de 128 bits) para cifras simétricas e uma chave de 2048 bits para RSA. Consulte a Tabela 2 para obter uma equivalência aproximada.

Válido ou não, poder encaminhá-los para uma publicação do NIST ajuda os clientes a se sentirem melhor com relação à segurança (se eles se incomodarem em perguntar).


O artigo mencionado nesta resposta foi revisado para Recomendação para gerenciamento de chaves: Parte 1: Geral (Revisão 3) . A revisão atual é de julho de 2012
AaA

Vejo que a página do NIST foi removida e substituída por uma mensagem: "Devido ao lapso no financiamento do governo, csrc.nist.gov e todas as atividades online associadas estarão indisponíveis até novo aviso."
wu-lee

Há esta página que compara algumas recomendações de comprimento chave keylength.com/en/compare
wu-lee


7

Em agosto próximo, a Microsoft implantará um patch para o Server 2003/2008, Win7 ect .. que exigirá o uso de uma chave RSA de no mínimo 1024 bits. Portanto, você também pode começar a fazer disso seu padrão "mínimo".


6

Para certificados SSL usados ​​em sites, este texto do site Thawte.com (como em 2014-07-22) é importante observar:

Os padrões da indústria definidos pelo Fórum da Autoridade de Certificação / Navegador (CA / B) exigem que os certificados emitidos após 1 de janeiro de 2014 DEVEM ter pelo menos 2048 bits de comprimento de chave.


Mouais, Facebook ainda está em 256 key length => b3.ms/XmWn0e1BMYOk
Thomas Decaux

Para esclarecer que o Facebook não usa RSA, ele usa ECDHE_ECDSA, portanto, o comprimento de chave menor.
Michael de

5

Eu precisava criar vários novos certificados SSL e não fiquei satisfeito com as respostas acima porque elas pareciam vagas ou desatualizadas, então fiz algumas pesquisas. Resumindo, a resposta selecionada está correta, use "chaves de 2048 bits ... mais não faz sentido" .

Aumentar o comprimento do bit para 4096 adiciona uma carga potencialmente significativa ao seu servidor (dependendo da carga existente) enquanto oferece basicamente um atualização de segurança insignificante

Se você estiver em uma situação em que precisa de mais de uma chave de 2048 bits, não precisa de um comprimento de bits maior, você precisa de um novo algoritmo


1

Acho que 4096 é adequado para RSA

Verifique este link

O fim da assinatura SHA-1 não é novidade, mas o Google acelerou o processo do cromo. Nas próximas semanas, você deve verificar seus certificados SSL.

Isso pode ser útil


1
Você poderia postar alguns links em inglês também, por favor? Meu alemão é bastante fraco.
Wai Ha Lee,

De juro, as chaves RSA podem ter apenas 1024, 2048 ou 3072 bits de comprimento (de acordo com PKCS # 1 2.2 e FIPS 186-4).
aprelev

Flame mostrou que os atacantes irão atacar o hash em vez do módulo maior. Se estiver usando SHA-1, você também pode usar um módulo de 1024 bits, pois o hash e o módulo fornecem segurança equivalente. O módulo de 1024 bits tornará as operações mais rápidas do que o módulo de 4096 maior.
jww

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.