É possível adicionar uma chave a um volume luks aberto sem fornecer uma chave atual?

2

Como o título indica, preciso saber se existe um método para adicionar uma chave que não exija que o usuário redigite a senha / forneça um arquivo-chave para um volume luks já aberto. Eu realmente preciso implementá-lo para que um exemplo seja apreciado.

    
por Gilles 12.06.2014 / 15:02

2 respostas

0

Não, não de forma saudável - mas um adversário poderia.

A ferramenta cryptsetup opera no próprio volume criptografado, esteja ele aberto ou não. Precisa recuperar a chave de volume do volume; para isso, ele precisa de uma maneira de decodificar um dos pontos de teclas existentes (senha ou arquivo de chave), ou então você precisa passar a chave de volume nua (o que você não manteria por perto).

Se o volume estiver montado, o kernel tem a chave de volume na memória. Mas, sem surpresa, não fornece uma interface para recuperá-lo.

Você pode escrever e carregar um módulo de kernel que recupera a chave de volume (eu acho que você terá que pular aros, mas de uma perspectiva de segurança que é trivial), a menos que o carregamento do módulo esteja desativado ou autenticado. Você pode recuperar a chave de um despejo de memória via /dev/kmem , a menos que ela esteja desativada (espero que existam ferramentas forenses prontas para isso, embora eu não consiga nomear nenhuma). Eu acho que é isso.

    
por 12.06.2014 / 20:49
0

Sim, assim:

cryptsetup luksAddKey <DEVICE> --master-key-file <(dmsetup table --showkey /dev/mapper/<MAP> | awk '{print$5}' | xxd -r -p)

Substitua <DEVICE> pelo dispositivo de bloco que contém a partição LUKS (como /dev/sda1 ) e <MAP> pelo nome do mapeamento (como sda1_crypt ).

Fonte: link

    
por 27.04.2018 / 17:25