Qualquer criptografia de disco que se bloqueia por algum tempo depois de várias tentativas com falha?

4

Existe alguma maneira de ter o seu disco / partição / arquivo criptografado (no Linux ou como uma criptografia de hardware; sem Windows aqui) de tal forma que ele bloqueia a 10 minutos depois digamos 3 tentativas de desbloqueio com falha? ...

A ideia é ter uma senha um pouco mais curta para lembrar sem sacrificar a segurança.

    
por jabol240 28.01.2015 / 19:26

3 respostas

4

Não é como você descreve, então a resposta do @ Damon está correta.

Mas se você não se importar em esperar, independentemente de saber a senha ou não, você pode aumentar o tempo de iteração do cryptsetup / LUKS para um valor muito grande, até 10 minutos, se achar que precisa disso. Dessa forma, o "bloqueio" estaria sempre em vigor, independentemente de suas tentativas.

cryptsetup --iter-time=600000 luks[Format,AddKey,ChangeKey] /dev/thing

No entanto, eu não recomendo que você realmente siga esse caminho. Não é muito prático.

Uma boa senha é mais importante em qualquer caso. Se você achar as senhas difíceis de lembrar, talvez você deva seguir este conselho: link

Isso é voltado para senhas da web (onde o bloqueio realmente funciona, até que um invasor pegue o banco de dados). Para criptografia de disco, você pode querer usar mais do que apenas quatro palavras aleatórias.

Mas, em geral, uma boa senha não precisa ser difícil de lembrar.

    
por 28.01.2015 / 20:05
14

Não.

Este é um esforço totalmente sem sentido. Se você escolher uma senha tão fácil que possa ser adivinhada com 5 ou 6 tentativas, é melhor não usar criptografia de disco.

Por outro lado, uma senha que não pode ser adivinhada em menos de uma dúzia de tentativas e que acionaria essa "medida de segurança de bloqueio" também não é de nenhuma utilidade.

Um atacante que é apenas ligeiramente inteligente irá executar um ataque offline, isto é, ele irá ler alguns setores e tentar forçá-los a usar sua própria ferramenta (massivamente paralela, com várias GPUs). Ele não se importa se você "bloqueá-lo" na tela de boot, porque ele não está usando nada.

Observe que todos os softwares de criptografia de disco razoavelmente modernos usam um algoritmo de derivação de chave caro que leva cerca de meio segundo em seu computador para realmente computar a chave de criptografia da sua senha. Isso significa desacelerar ataques de força bruta que, de outra forma, testariam bilhões de senhas por segundo. Mas, claro, lançar um equipamento com várias GPUs no problema significa que você ainda pode testar algumas milhares de senhas por segundo. Dada uma permutação de teste baseada em dicionário, é muito otimista supor que uma senha "fácil" (leia-se como: ruim) atrasará um atacante por alguns segundos.

    
por 28.01.2015 / 19:42
4

Não, isso não faria sentido.

Um atraso entre as tentativas faz sentido para os online usos de senhas, por exemplo, para autenticar em um sistema. Faz sentido quando você tem que passar por um “gateway” de software para acessar o sistema. Após uma tentativa incorreta, o gateway pode atrasar ou bloquear novas tentativas da mesma origem. O atraso funciona porque a única maneira de alcançar o sistema é parte do próprio sistema.

Um atraso entre as tentativas não faz sentido para os offline usos de senhas, por exemplo, para descriptografar alguns dados. É impossível implementar porque a maneira de acessar o sistema não faz parte do próprio sistema, portanto, o adversário pode implementar seu próprio verificador de senha. Além disso, os dados criptografados podem ser replicados, permitindo que o adversário faça muitas tentativas em paralelo (quantas estão dispostas a gastar em hardware). Se o invasor quiser fazer 1000 cópias dos dados e tentar descriptografá-los em 1.000 computadores com a mesma velocidade que esses computadores forem, nada poderá impedi-los.

Você pode retardar o adversário tornando a verificação de senha intrinsecamente lenta. Um volume criptografado usa uma chave que, por sua vez, é criptografada com outra chave que, por sua vez, é derivada de uma senha. (Alguns sistemas mal projetados foram excluídos.) A derivação da senha de uma chave, se feita corretamente, é uma função de alongamento de teclas que é intrinsecamente lento - a maneira mais rápida de derivar a chave de uma senha em potencial requer uma grande quantidade de computação. Em um sistema bem projetado, você pode ajustar a quantidade de computação; por exemplo, com LUKS, esse é o parâmetro -i para 'cryptsetup luks. Um parâmetro maior faz a verificação da senha mais lenta, tanto para você quanto para o adversário.

Os cartões de crédito podem usar um PIN de 4 dígitos porque eles são um sistema on-line: dependendo da tecnologia do cartão, o PIN digitado pelo usuário é enviado ao banco para verificação (para que os servidores do banco implementem o código). -falhas-e-você-está fora de política, gravando o cartão como comprometida), ou verificada pelo chip no cartão (de modo que o chip no cartão implementa a política de 3-falhas-e-você-fora, armazenando um sinalizador "cartão está comprometido" em sua memória persistente).

Você pode criptografar seus dados com uma chave armazenada em um cartão inteligente, em vez de usar uma chave derivada de uma senha. Isso permite que você tenha uma senha muito curta (por exemplo, um PIN de 4 dígitos) que não seja ridiculamente fácil de quebrar. Tem desvantagens, no entanto. Você precisa ter o cartão com você quando quiser acessar seus dados. Você precisa ter um leitor de cartões disponível onde deseja acessar seus dados. Você precisa fazer o backup de sua chave em algum lugar, no caso de perder o cartão ou ele falhar. Se o seu computador tiver um chip TPM, isso pode servir ao mesmo propósito do cartão inteligente, com a diferença de que o cartão pode ser transportado entre computadores (útil para unidades removíveis ou volumes remotos), enquanto o TPM está ligado a uma placa-mãe (mais conveniente se o volume criptografado está em uma unidade interna).

    
por 28.01.2015 / 23:39