cryptsetup: modo simples dm-crypt usando keyfile AND passphrase

5

Eu sinto que um arquivo-chave e uma frase-senha fornecem benefícios diferentes. Eles não podem ser obtidos da mesma maneira (um que você precisa adquirir fisicamente, o outro que você precisa saber). Assim, acho que há grande benefício em criptografar meus dados usando AMBOS desses. Dessa forma, se um for comprometido, a criptografia ainda estará intacta.

Usando dm-crypt no modo simples, quero usar AMBOS. Por padrão, o dm-crypt usa uma frase secreta, e eu posso mudar isso para um arquivo-chave facilmente. Mas eles parecem ser o mesmo tipo de entrada (como em, o arquivo de chaves se torna sua senha, se fornecido). O uso de ambos --key-file e --verify-passphrase, portanto, não funciona.

Quaisquer soluções aqui para usar os dois?

    
por user 30.05.2015 / 11:12

1 resposta

5

Você pode armazenar a senha real para cryptsetup (possivelmente uma string muito longa e complicada) em um arquivo criptografado pelo GnuPG (ou qualquer outra ferramenta) com outro passphrese que você possa lembrar.

Primeiro, criptografe uma frase secreta com gpg para obter criptografia keyfile :

# echo 'long-long-passphrase-for-cryptsetup' | gpg -q -c --cipher-algo AES256 -o keyfile 
Enter passphrase: <- Enter another passphrase you can remember
# file keyfile 
keyfile: GPG symmetrically encrypted data (AES256 cipher)

Em seguida, descriptografe keyfile para alimentar essa frase secreta para o stdin de cryptsetup --key-file - .

# gpg -qd keyfile | cryptsetup plainOpen --key-file - /path/to/image volname

A sugestão semelhante pode ser vista no manual do cryptsetup .

O exemplo acima usa a criptografia simétrica ( gpg -c ) para simplificar. Seria muito melhor e desejável se você pudesse adotar a criptografia de chave pública!

    
por 30.05.2015 / 12:22