A senha do volume previamente criptografado foi alterada pelo instalador do Debian

2

Eu já fiz algumas pesquisas sobre a minha pergunta (veja abaixo), e é tão bom quanto um 'acordo feito', mas eu ainda gostaria de apresentar meu problema para essa comunidade experiente.

Versão resumida do problema : em partman (o particionador de disco do instalador Debian), a senha de um volume criptografado anteriormente por dm-crypt / LUKS foi alterada (ou adicionada) por engano. Os dados neste volume não foram sinalizados para remoção. Eu cancelei a instalação depois desse ponto. Mais tarde, depois de descriptografar manualmente esse volume, descobriu-se que apenas a "nova" senha podia descriptografar o volume, mas os dados não podiam ser lidos (ou seja, o sistema de arquivos e os arquivos não foram encontrados) ...

Eu queria saber se depois de voltar para a frase-senha antiga eu seria capaz de descriptografar corretamente o conteúdo do volume.

Pesquisa anterior : a questão acima foi submetida à lista de discussão debian-boot e lá recebi a seguinte resposta (muito clara): [1 ]

I don't think the data will be recoverable unless you have a backup of the LUKS header. The way LUKS works is that data is not encrypted with a passphrase directly but with a key that is encrypted to a set of passphrases. If you worked purely through the installer's UI you will have overwritten your LUKS header and hence will be unable to decrypt the data ever again because the key material is lost. The position of the LUKS header on disk is always in the same place.

Data erase is really just about overwriting the existing data with zeros, which I understand is pretty confusing. Technically the data is already erased by the fact that the header is overwritten but some people want to be sure and write random data (or in the case of non-encrypted disks zeros) to the disk before deploying the system into production.

Infelizmente, eu não tenho um backup do cabeçalho LUKS deste volume. Como eu disse acima, a intenção era apenas montar o volume previamente criptografado, e não mudar nada (então, para meu pesar, não tomei as devidas precauções).

A questão : Existe alguma maneira de (re) gerar o cabeçalho LUKS original usando a senha original (conhecida) contra a qual este volume foi criptografado, ou esses dados são permanentemente perdidos?

Obrigado pela sua consideração e seu tempo.

    
por John Kemple 20.09.2018 / 15:55

1 resposta

2

Não há como recuperar tudo. (*)

Com o LUKS, a frase secreta usada para abrir a criptografia e a chave mestra realmente usada para a criptografia não têm relação alguma entre si.

Basicamente, sua frase secreta descriptografa uma chave completamente aleatória, e essa chave aleatória é armazenada no cabeçalho LUKS. Perder o cabeçalho LUKS completamente (ou mesmo alterar um único bit do material da chave) torna-o incapaz de obter a chave mestra usada para o volume.

É também por isso que, com o LUKS, você pode ter 8 senhas diferentes e alterar cada uma dessas senhas sempre que desejar, sem criptografar novamente todos os dados. Não importa com que frequência você mude a senha LUKS, a chave mestra permanece a mesma.

A recuperação da chave mestra é explicitamente NÃO parte do conceito LUKS, exatamente o oposto; O LUKS executa várias etapas para evitar que você (ou qualquer pessoa) recupere a chave mestra de um cabeçalho LUKS (parcialmente) sobrescrito. A documentação do LUKS até o aconselha a NÃO fazer backup do cabeçalho, pois um cabeçalho de backup fora do seu controle significa perder a capacidade de declarar uma senha antiga inválida. Como a antiga frase secreta ainda seria armazenada e utilizável no cabeçalho antigo.

(*) A única exceção a essa regra é se o contêiner ainda estiver aberto. Para um mapeamento de cripta ativo, pode-se conseguir obter a chave mestra com dmsetup table --showkeys . Então, se você matou seu cabeçalho LUKS em um sistema em execução e percebeu imediatamente, você poderia criar um novo cabeçalho LUKS com a chave mestra conhecida.

Sem a chave mestra, você não pode continuar e é impossível forçar a chave mestra brutalmente, esse é o ponto principal da criptografia em primeiro lugar. Bem, você poderia fazê-lo com poder infinito de CPU e / ou tempo, então se você quiser deixar seus descendentes com um quebra-cabeça, mantenha uma cópia dos dados criptografados e passe-os adiante ...;)

    
por 20.09.2018 / 16:13