Tamanho da chave - Key size

Na criptografia , o tamanho da chave , o comprimento da chave ou o espaço da chave referem-se ao número de bits em uma chave usada por um algoritmo criptográfico (como uma cifra ).

O comprimento da chave define o limite superior da segurança de um algoritmo (ou seja, uma medida logarítmica do ataque mais rápido conhecido contra um algoritmo), uma vez que a segurança de todos os algoritmos pode ser violada por ataques de força bruta . Idealmente, o limite inferior da segurança de um algoritmo é por design igual ao comprimento da chave (ou seja, a segurança é determinada inteiramente pelo comprimento da chave, ou em outras palavras, o design do algoritmo não diminui o grau de segurança inerente ao comprimento da chave). Na verdade, a maioria dos algoritmos de chave simétrica é projetada para ter segurança igual ao comprimento de sua chave. No entanto, após o design, um novo ataque pode ser descoberto. Por exemplo, Triple DES foi projetado para ter uma chave de 168 bits, mas agora é conhecido um ataque de complexidade 2 112 (ou seja, Triple DES agora tem apenas 112 bits de segurança, e dos 168 bits na chave o ataque rendeu 56 'ineficaz' para a segurança). No entanto, desde que a segurança (entendida como "a quantidade de esforço necessária para obter acesso") seja suficiente para um aplicativo específico, não importa se o comprimento da chave e a segurança coincidem. Isso é importante para algoritmos de chave assimétrica , porque nenhum algoritmo é conhecido para satisfazer essa propriedade; A criptografia de curva elíptica chega mais perto com uma segurança efetiva de aproximadamente metade do comprimento da chave.

Significado

As chaves são usadas para controlar a operação de uma cifra para que apenas a chave correta possa converter o texto criptografado (texto cifrado ) em texto simples . Muitas cifras são na verdade baseadas em algoritmos conhecidos publicamente ou são de código aberto e, portanto, é apenas a dificuldade de obter a chave que determina a segurança do sistema, desde que não haja ataque analítico (ou seja, uma "fraqueza estrutural" nos algoritmos ou protocolos usado), e assumindo que a chave não está disponível de outra forma (como por meio de roubo, extorsão ou comprometimento de sistemas de computador). A noção amplamente aceita de que a segurança do sistema deve depender apenas da chave foi explicitamente formulada por Auguste Kerckhoffs (na década de 1880) e Claude Shannon (na década de 1940); as declarações são conhecidas como princípio de Kerckhoff e Máxima de Shannon, respectivamente.

Uma chave deve, portanto, ser grande o suficiente para que um ataque de força bruta (possível contra qualquer algoritmo de criptografia) seja inviável - ou seja, demoraria muito para ser executado. O trabalho de Shannon sobre a teoria da informação mostrou que, para atingir o chamado ' sigilo perfeito ', o comprimento da chave deve ser pelo menos tão grande quanto a mensagem e usado apenas uma vez (este algoritmo é chamado de one-time pad ). À luz disso, e da dificuldade prática de gerenciar chaves tão longas, a prática criptográfica moderna descartou a noção de sigilo perfeito como um requisito para criptografia e, em vez disso, concentra-se na segurança computacional , sob a qual os requisitos computacionais de quebrar um texto criptografado devem ser inviável para um invasor.

Tamanho da chave e sistema de criptografia

Os sistemas de criptografia geralmente são agrupados em famílias. Famílias comuns incluem sistemas simétricos (por exemplo, AES ) e sistemas assimétricos (por exemplo, RSA ); eles podem, alternativamente, ser agrupados de acordo com o algoritmo central usado (por exemplo , criptografia de curva elíptica ).

Como cada um deles possui um nível diferente de complexidade criptográfica, é comum ter chaves de tamanhos diferentes para o mesmo nível de segurança , dependendo do algoritmo usado. Por exemplo, a segurança disponível com uma chave de 1024 bits usando RSA assimétrico é considerada aproximadamente igual em segurança a uma chave de 80 bits em um algoritmo simétrico.

O grau real de segurança alcançado ao longo do tempo varia, à medida que mais poder computacional e métodos analíticos matemáticos mais poderosos se tornam disponíveis. Por esse motivo, os criptologistas tendem a olhar para os indicadores de que um algoritmo ou comprimento de chave mostra sinais de vulnerabilidade potencial, para mudar para tamanhos de chave mais longos ou algoritmos mais difíceis. Por exemplo, em maio de 2007, um número inteiro de 1039 bits foi fatorado com a peneira de campo de número especial usando 400 computadores durante 11 meses. O número fatorado era de uma forma especial; a peneira de campo de número especial não pode ser usada em chaves RSA. O cálculo é aproximadamente equivalente a quebrar uma chave RSA de 700 bits. No entanto, isso pode ser um aviso prévio de que o RSA de 1024 bits usado no comércio online seguro deve ser descontinuado , pois eles podem se tornar quebráveis ​​em um futuro próximo. O professor de criptografia Arjen Lenstra observou que "da última vez, levamos nove anos para generalizar de um número especial para um não especial e difícil de fatorar" e quando questionado se as chaves RSA de 1024 bits estão mortas, disse: "A resposta para essa pergunta é um sim absoluto. "

O ataque Logjam de 2015 revelou perigos adicionais no uso da troca de chaves Diffie-Helman quando apenas um ou alguns módulos primos comuns de 1024 bits ou menores estão em uso. Essa prática comum permite que grandes quantidades de comunicações sejam comprometidas às custas do ataque a um pequeno número de números primos.

Ataque de força bruta

Mesmo que uma cifra simétrica seja atualmente inquebrável pela exploração de fraquezas estruturais em seu algoritmo, é possível percorrer todo o espaço de chaves no que é conhecido como ataque de força bruta. Como as chaves simétricas mais longas exigem exponencialmente mais trabalho para a busca de força bruta, uma chave simétrica suficientemente longa torna essa linha de ataque impraticável.

Com uma chave de comprimento n bits, existem 2 n chaves possíveis. Esse número cresce muito rapidamente à medida que n aumenta. O grande número de operações (2 128 ) necessárias para tentar todas as chaves de 128 bits possíveis é amplamente considerado fora do alcance das técnicas convencionais de computação digital no futuro previsível. No entanto, os especialistas antecipam tecnologias de computação alternativas que podem ter poder de processamento superior à tecnologia de computador atual. Se um computador quântico de tamanho adequado capaz de executar o algoritmo de Grover de forma confiável se tornar disponível, ele reduziria uma chave de 128 bits para segurança de 64 bits, aproximadamente um equivalente DES . Esse é um dos motivos pelos quais o AES oferece suporte a um comprimento de chave de 256 bits.

Comprimentos de chave de algoritmo simétrico

A política de exportação do governo dos EUA há muito restringe a "força" da criptografia que pode ser enviada para fora do país. Por muitos anos, o limite foi de 40 bits . Hoje, um comprimento de chave de 40 bits oferece pouca proteção até mesmo contra um invasor casual com um único PC. Em resposta, no ano 2000, a maioria das principais restrições dos EUA ao uso de criptografia forte foram relaxadas. No entanto, nem todos os regulamentos foram removidos, e o registro de criptografia no Bureau of Industry and Security dos EUA ainda é necessário para exportar "commodities de criptografia de mercado de massa, software e componentes com criptografia superior a 64 bits" (75 FR 36494 ).

A cifra Lucifer da IBM foi selecionada em 1974 como a base para o que se tornaria o Data Encryption Standard . O comprimento da chave de Lúcifer foi reduzido de 128 bits para 56 bits , o que a NSA e o NIST argumentaram ser suficiente. A NSA possui importantes recursos de computação e um grande orçamento; alguns criptógrafos, incluindo Whitfield Diffie e Martin Hellman, reclamaram que isso tornava a cifra tão fraca que os computadores da NSA seriam capazes de quebrar uma chave DES em um dia por meio da computação paralela de força bruta. A NSA contestou isso, alegando que o DES de força bruta levaria algo como 91 anos. No entanto, no final dos anos 90, tornou-se claro que o DES poderia ser quebrado em alguns dias com hardware personalizado, como poderia ser comprado por uma grande empresa ou governo. O livro Cracking DES (O'Reilly and Associates) fala sobre a tentativa bem-sucedida em 1998 de quebrar o DES de 56 bits por um ataque de força bruta montado por um grupo de direitos civis cibernético com recursos limitados; veja o cracker EFF DES . Mesmo antes dessa demonstração, 56 bits eram considerados comprimento insuficiente para chaves de algoritmo simétricas ; O DES foi substituído em muitos aplicativos pelo Triple DES , que tem 112 bits de segurança quando usadas com chaves de 168 bits (chave tripla). Em 2002, a Distributed.net e seus voluntários quebraram uma chave RC5 de 64 bits após vários anos de esforço, usando cerca de setenta mil computadores (principalmente domésticos).

O Advanced Encryption Standard publicado em 2001 usa tamanhos de chave de 128, 192 ou 256 bits. Muitos observadores consideram 128 bits suficientes para o futuro previsível para algoritmos simétricos de qualidade AES até que os computadores quânticos se tornem disponíveis. No entanto, a partir de 2015, a Agência de Segurança Nacional dos EUA emitiu orientações de que planeja mudar para algoritmos resistentes à computação quântica e agora requer chaves AES de 256 bits para dados classificados como Top Secret .

Em 2003, o Instituto Nacional de Padrões e Tecnologia dos Estados Unidos, NIST , propôs eliminar as chaves de 80 bits até 2015. Em 2005, as chaves de 80 bits eram permitidas apenas até 2010.

Desde 2015, a orientação do NIST diz que "o uso de chaves que fornecem menos de 112 bits de força de segurança para acordo de chave agora não é permitido." Os algoritmos de criptografia simétrica aprovados pelo NIST incluem Triple DES de três chaves e AES . As aprovações para Triple DES e Skipjack de duas chaves foram retiradas em 2015; o algoritmo Skipjack da NSA usado em seu programa Fortezza emprega chaves de 80 bits.

Comprimentos de chave de algoritmo assimétrico

A eficácia dos criptosistemas de chave pública depende da intratabilidade (computacional e teórica) de certos problemas matemáticos, como a fatoração de inteiros . Esses problemas são demorados para serem resolvidos, mas geralmente mais rápidos do que tentar todas as chaves possíveis com a força bruta. Assim, as chaves assimétricas devem ser mais longas para uma resistência equivalente ao ataque do que as chaves de algoritmo simétricas. Os métodos mais comuns são considerados fracos contra computadores quânticos suficientemente poderosos no futuro.

Desde 2015, o NIST recomenda um mínimo de chaves de 2.048 bits para RSA , uma atualização da recomendação amplamente aceita de um mínimo de 1.024 bits desde pelo menos 2002.

As chaves RSA de 1024 bits são equivalentes em força a chaves simétricas de 80 bits, chaves RSA de 2.048 bits para chaves simétricas de 112 bits, chaves RSA de 3.072 bits para chaves simétricas de 128 bits e chaves RSA de 15.360 bits para 256 bits chaves simétricas. Em 2003, a RSA Security afirmou que as chaves de 1024 bits provavelmente se tornariam crackáveis ​​em algum momento entre 2006 e 2010, enquanto as chaves de 2048 bits são suficientes até 2030. Em 2020, a maior chave RSA publicamente conhecida por ser quebrada é a RSA-250 com 829 bits.

O algoritmo Finite Field Diffie-Hellman tem aproximadamente a mesma força de chave que RSA para os mesmos tamanhos de chave. O fator de trabalho para quebrar Diffie-Hellman é baseado no problema do logaritmo discreto , que está relacionado ao problema de fatoração de inteiros no qual a força do RSA é baseada. Portanto, uma chave Diffie-Hellman de 2048 bits tem quase a mesma força que uma chave RSA de 2048 bits.

A criptografia de curva elíptica (ECC) é um conjunto alternativo de algoritmos assimétricos que é equivalentemente seguro com chaves mais curtas, exigindo apenas aproximadamente o dobro dos bits do algoritmo simétrico equivalente. Uma chave ECDH de 256 bits tem aproximadamente o mesmo fator de segurança que uma chave AES de 128 bits. Uma mensagem criptografada com um algoritmo de chave elíptica usando uma chave longa de 109 bits foi quebrada em 2004.

A NSA recomendava anteriormente o ECC de 256 bits para proteger informações classificadas até o nível SECRETO e 384 bits para MÁXIMO SECRETO; Em 2015, anunciou planos de transição para algoritmos resistentes ao quantum até 2024 e, até então, recomenda 384 bits para todas as informações classificadas.

Efeito dos ataques de computação quântica na força da chave

Os dois melhores ataques computação quântica conhecido são baseados em algoritmo de Shor e algoritmo de Grover . Dos dois, o Shor's oferece o maior risco para os sistemas de segurança atuais.

Os derivados do algoritmo de Shor são amplamente conjecturados como eficazes contra todos os algoritmos de chave pública convencionais, incluindo RSA , Diffie-Hellman e criptografia de curva elíptica . De acordo com o professor Gilles Brassard, especialista em computação quântica: "O tempo necessário para fatorar um inteiro RSA é a mesma ordem do tempo necessário para usar esse mesmo inteiro como módulo para uma única criptografia RSA. Em outras palavras, não leva mais tempo hora de quebrar o RSA em um computador quântico (até uma constante multiplicativa) do que usá-lo legitimamente em um computador clássico. " O consenso geral é que esses algoritmos de chave pública são inseguros em qualquer tamanho de chave se computadores quânticos suficientemente grandes, capazes de executar o algoritmo de Shor, estiverem disponíveis. A implicação desse ataque é que todos os dados criptografados usando sistemas de segurança baseados em padrões atuais, como o SSL onipresente usado para proteger e-commerce e Internet banking e SSH usado para proteger o acesso a sistemas de computação confidenciais estão em risco. Os dados criptografados protegidos por algoritmos de chave pública podem ser arquivados e podem ser quebrados posteriormente.

Cifras simétricas convencionais (como AES ou Twofish ) e funções hash resistentes à colisão (como SHA ) são amplamente conjecturadas para oferecer maior segurança contra ataques conhecidos de computação quântica. Eles são amplamente considerados mais vulneráveis ​​ao algoritmo de Grover . Bennett, Bernstein, Brassard e Vazirani provaram em 1996 que uma busca de chave de força bruta em um computador quântico não pode ser mais rápida do que aproximadamente 2 n / 2 invocações do algoritmo criptográfico subjacente, em comparação com aproximadamente 2 n no caso clássico. Assim, na presença de grandes computadores quânticos, uma chave de n bits pode fornecer pelo menos n / 2 bits de segurança. A força bruta quântica é facilmente derrotada dobrando o comprimento da chave, o que tem pouco custo computacional extra no uso comum. Isso implica que pelo menos uma chave simétrica de 256 bits é necessária para atingir a classificação de segurança de 128 bits em um computador quântico. Conforme mencionado acima, a NSA anunciou em 2015 que planeja fazer a transição para algoritmos resistentes ao quantum.

De acordo com a NSA:

"Um computador quântico suficientemente grande, se construído, seria capaz de minar todos os algoritmos de chave pública amplamente implantados usados ​​para o estabelecimento de chaves e assinaturas digitais. ... É geralmente aceito que as técnicas de computação quântica são muito menos eficazes contra algoritmos simétricos do que contra algoritmos de chave pública amplamente usados. Enquanto a criptografia de chave pública requer mudanças no design fundamental para proteger contra um potencial computador quântico futuro, os algoritmos de chave simétrica são considerados seguros, desde que um tamanho de chave suficientemente grande seja usado. ... A longo prazo , A NSA espera que o NIST identifique um conjunto padronizado e amplamente aceito de algoritmos de chave pública comercial que não sejam vulneráveis ​​a ataques quânticos. "

A partir de 2016, o Commercial National Security Algorithm Suite da NSA inclui:

Algoritmo Uso
RSA 3072 bits ou maior Estabelecimento de chave, assinatura digital
Diffie-Hellman (DH) 3072 bits ou maior Estabelecimento chave
ECDH com NIST P-384 Estabelecimento chave
ECDSA com NIST P-384 Assinatura digital
SHA-384 Integridade
AES-256 Confidencialidade

Veja também

Notas

Referências

Em geral

  • Recomendação para gerenciamento de chaves - Parte 1: geral, NIST Special Publication 800-57. Março de 2007
  • Blaze, Matt; Diffie, Whitfield; Rivest, Ronald L .; et al. "Comprimentos mínimos de chave para criptografias simétricas para fornecer segurança comercial adequada". Janeiro de 1996
  • Arjen K. Lenstra, Eric R. Verheul: Seleção de tamanhos de chaves criptográficas. J. Cryptology 14 (4): 255-293 (2001) - Citeseer link

links externos