Criptografia do sistema LUKS: Qual é o tamanho da chave mais strong e mais seguro?

5

Estou lendo um artigo no Wiki do Arch Linux sobre a criptografia do sistema, em um exemplo especificado pelo autor uma chave de 512 bits. Pelo que eu li na Wikipedia sobre cifras de criptografia, não parece ser seguro o suficiente. Isso me leva à pergunta: qual é o tamanho de chave mais strong possível?

    
por Peter 17.04.2011 / 12:31

6 respostas

12

Eu não tenho reputação suficiente para comentar sobre as respostas acima sobre a RSA, mas ambas estão erradas no contexto da pergunta, então para todas as pessoas que vierem a ler esta pergunta no futuro:

O LUKS usa cifras simétricas (criptografia e descriptografia usam a mesma chave). O RSA é um criptosistema assimétrico , que usa uma chave para criptografar e outra para descriptografar. Para tornar isso possível, ele usa uma boa peça de matemática. Sua segurança é baseada na dificuldade de fatorar números grandes . É por isso que o tamanho da chave para o RSA deve ser de milhares de bits (caso contrário, os números envolvidos não são grandes o suficiente e podem ser considerados em tempo aceitável, considerando um invasor com recursos suficientes).

Sistemas criptográficos simétricos como o LUKS não precisam dos mesmos tamanhos de chave grandes porque as chaves não estão vinculadas a um número que pode ser fatorado para quebrar a criptografia. Portanto, eles são considerados seguros com tamanhos de chave muito menores. Atualmente, 128 bits são considerados seguros. O AES, o algoritmo padrão para criptografia simétrica, também suporta 256 bits caso você seja paranóico.

Levaria 2 n tentar pesquisar exaustivamente o espaço de chaves de uma cifra simétrica, em que n é o tamanho da chave em bits.

Para dar uma ideia das escalas envolvidas: Se você tivesse 10 milhões de computadores que pudessem cada um testar 10 milhões de chaves por segundo, ainda levaria milhares de vezes a idade atual do universo para pesquisar todas as chaves por um tamanho da chave de 128 bits.

Isso significa que você está a salvo de um ataque de força bruta, não importa quem seja o atacante. Brutar forçando uma chave simétrica não é o caminho a percorrer. Mesmo o ataque de pontos fracos na cifra é difícil quando você usa cifras de alta qualidade como AES, etc., embora a NSA possa ter algumas ideias que o resto do mundo não tem. Mas, francamente, é mais fácil acertar você na cabeça com uma vara grande até que você desista da frase-senha.

    
por 23.10.2013 / 19:26
4

Não há strongest possible key .

Para cada chave de comprimento n , você sempre pode adicionar um bit para torná-lo mais strong.

    
por 17.04.2011 / 12:41
2

O próprio RSA contém pontos fracos, conforme a seção Algoritmo RSA "Pontos fracos no RSA", bem como Cracking RSA e RSA: Hacking e cracking .

Dito isso, e se o método usado para quebrar sua criptografia for apenas força bruta, o tamanho de chave mais strong possível exigirá mais poder de computação do que o disponível para o hacker que está tentando descriptografar suas mensagens, ou mais tempo do que ele está disposto a gastar.

Recentemente, uma chave RSA de 200 anos foi contabilizada em 50 anos de tempo de computador e 307 em 100 anos de tempo de computador. Suponho que mesmo o 128-bit ainda levará alguns anos de tempo no computador.

1024 bits podem ser prova contra a maioria dos anéis de crime, mas provavelmente são 512 bits e até 128 bits. 1024 bits é mais seguro, mas você espera que uma agência com o poder de computação da Agência Nacional de Segurança dos EUA seja usada contra você?

Se tudo o que você está tentando se proteger é a vizinhança script-kiddo, então 128 bits são suficientes. Se você está tentando proteger suas transações bancárias, nenhum hacker desperdiça seu tempo tentando descriptografar o RSA, mas tentará enganá-lo para instalar o trojan dele.

    
por 17.04.2011 / 13:31
0

Pascal tem uma ótima explicação sobre o tamanho do bit e diferenças entre criptografia simétrica e assimétrica. No entanto, existem alguns fatores adicionais a serem considerados, como a cifra. As diferenças entre CBC e XTS são bem explicadas em este segmento de pilha. A cifra XTS corta o tamanho da chave pela metade. Se você quiser AES-128, você precisará definir o tamanho da chave para 256. Para AES 256, o tamanho do bit seria 512.

cryptsetup luksFormat --type luks2 --cipher aes-xts-plain64 --key-size 512 --hash sha256 -use-random /dev/sda5

Como uma nota lateral, a fonte de entropia que você escolhe também é importante para a geração de suas chaves criptográficas. / dev / random pode ser melhor que / dev / urandom se a chave privada for usada por muito tempo. De acordo com a página de manual do urandom:

If you are unsure about whether you should use /dev/random or /dev/urandom, then probably you want to use the latter. As a general rule, /dev/urandom should be used for everything except long-lived GPG/SSL/SSH keys.

    
por 01.11.2018 / 22:26
-1

Eu pessoalmente uso uma chave de 2048 bits e descubro que minha CPU consegue acompanhar a largura de banda máxima da minha unidade SATA sem problemas. Eu recomendaria um 2048 em qualquer hardware moderno (processador de 1 GHz ou mais rápido).

    
por 17.04.2011 / 13:40
-1

A RSA recomenda:

RSA Laboratories currently recommends key sizes of 1024 bits for corporate use and 2048 bits for extremely valuable keys like the root key pair used by a certifying authority

http://www.rsa.com/rsalabs/node.asp?id=2218

então eu iria pelo menos 1024 bits.

Observe que quanto maior o tamanho da chave, mais lenta será a criptografia / descriptografia.

    
por 17.04.2011 / 13:00