How is LUKS dm-crypt secure if the key is stored with the encrypted data? [...] Is a passphrase enough to secure it?
Sim, é, se você escolher uma senha suficientemente strong . Idealmente, a frase secreta deve ser tão strong quanto a chave (simétrica). A recomendação mínima atual é usar 128 bits, então, idealmente, você deve usar uma frase secreta de 128 bits. Quanto tempo isso é na prática depende de como você gera sua chave.
- Se você usar uma lista aleatória de letras minúsculas , letras maiúsculas (az) e números, cada caractere dará a você cerca de log2 (62) = ~ 5.95 bits de entropia, então você precisaria de 22 caracteres , por exemplo:
asl3486nysdllk23bh2jl4
. Seguro, mas difícil de lembrar ... - Se você usar uma lista de palavras aleatórias , isso dependerá do tamanho das listas de palavras. Por exemplo, se você usar o arquivo
american-english
do pacote wamerican do Debian: O arquivo tem cerca de 99.000 palavras , então cada palavra dá a você log2 (99.000) = 16.6 bits de entropia, o que significa que você precisaria de oito palavras . Por exemplo:orthogonal Seoul Pygmalion's abuse flints yachtsman's classicists outsource
. Ainda não é legal, mas provavelmente melhor que a solução acima ...
Se você escolher uma palavra-passe mais curta, então sim, a segurança será reduzida (embora ainda possa ser aceitável). Observe que a LUKS emprega um algoritmo alongamento de chaves para tornar até mesmo uma chave "fraca" mais resistente contra ataques. No entanto, existem alguns ataques contra ele, então, idealmente, você ainda deve escolher uma frase secreta de 128 bits.
If it is secure to keep the key with the encrypted partition/container, am I correct in assuming that LUKS header backups can also be treated as normal files and not secret data?
Sim, isso está correto. Os backups de cabeçalho contêm a chave, mas ela é protegida com a frase secreta.