Ao usar a criptografia de disco completo com o Ubuntu (ao contrário da criptografia homedir), o dm-crypt com LUKS é usado para criptografar o volume. No instalador (pelo menos na versão 12.04 alternativa), você pode escolher entre configurá-lo usando uma senha ou um arquivo de chave. Eu gostaria de usar uma combinação dos dois; também não, mas exige ambos.
Por quê? Porque isso aumenta a segurança (dois fatores); você precisará ter algo e saber algo para desbloqueá-lo. Quero colocar o arquivo de chave em um pequeno dispositivo de armazenamento removível (unidade flash USB) e conectá-lo apenas durante o tempo de inicialização. O resultado é que é necessário colocar a unidade flash correta e fornecer a senha correta para desbloquear a partição raiz.
Portanto, em outras palavras, quero que durante a inicialização seja solicitada a senha para a qual o arquivo de chave em uma unidade externa está criptografado.
Vejo um /usr/share/initramfs-tools/hooks/cryptgnupg
script auxiliar que pode ajudar a realizá-lo, mas não tenho idéia de como usá-lo.
Só para evitar confusão: Estou não pedindo uma maneira de adicionar um adicional chave para o volume para desbloqueá-lo.
fonte
/usr/share/doc/cryptsetup/README.gnupg
. Vou tentar encontrar algum tempo para alterá-lo para que ele use um arquivo de chave da mídia externa.Respostas:
Faço a mesma coisa, no entanto, receio que minha resposta não seja satisfatória, pois, por várias razões, fui com um Initramfs completamente personalizado .
Em vez de
GnuPG
, que é um binário extra que deve ser incluído no Initramfs (e, no caso deGnuPG-2
um bastante complexo), simplesmente usei o que já existe. E isso é obviamentedm-crypt/LUKS
.Então, suponha que você tenha um
keyfile
. De preferência um com dados aleatórios.Adicione criptografia para ele com o LUKS (fique à vontade para adicionar as configurações de cifra de sua escolha).
Agora você tem um arquivo de chave (512 bytes) e um arquivo de chave.luks (2 MB, que criptografam, por algum motivo, precisam gravar o cabeçalho LUKS 192k). Como o Initramfs será compactado de qualquer maneira, isso não é muito ruim (ainda menor que
GnuPG
).Agora você pode descriptografar o arquivo de chave:
E você tem 512 bytes de dados aleatórios em
/dev/mapper/lukskey
. (Você pode escrever para isso, se quiser alterá-lo, para que possamos inicializar o arquivo com zeros antes.)No Initramfs,
init
você poderia então abrir o volume LUKS real com ele (assumindo que você adicionou a chave primeiro).Essa abordagem torna o GnuPG totalmente supérfluo, além de você obter todas as vantagens do LUKS, como várias frases secretas para a chave, cifra de sua escolha, etc. Sem mencionar um prompt de senha agradável (geralmente regular) com várias tentativas.
fonte