Eu tenho uma partição criptografada por luks que foi protegida por uma senha e um arquivo de chave. O arquivo principal era para acesso rotineiro e a senha estava em um envelope selado para emergências. Os meses se passaram e eu destruí acidentalmente o arquivo da chave, então me recuperei usando a senha do envelope. Agora eu quero saber, tenho dois slots de chave ativos, mas não sei qual contém a frase secreta do arquivo-chave inútil e qual a minha frase secreta de emergência. Obviamente, se eu remover o errado, perderei todos os dados na unidade.
#cryptsetup luksDump /dev/sda2
LUKS header information for /dev/sda2
Version: 1
Cipher name: aes
Cipher mode: xts-plain64
Hash spec: sha256
Payload offset: 4096
MK bits: 256
MK digest: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
MK salt: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
MK iterations: 371000
UUID: 28c39f66-dcc3-4488-bd54-11ba239f7e68
Key Slot 0: ENABLED
Iterations: 2968115
Salt: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
Key material offset: 8
AF stripes: 4000
Key Slot 1: ENABLED
Iterations: 2968115
Salt: xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
Key material offset: 264
AF stripes: 4000
Key Slot 2: DISABLED
Key Slot 3: DISABLED
Key Slot 4: DISABLED
Key Slot 5: DISABLED
Key Slot 6: DISABLED
Key Slot 7: DISABLED
luksKillSlot
pede uma senha de outro slot, para que não haja risco de destruir a última chave que você possui. No entanto, acredito que a pergunta original ainda é válida.Respostas:
Como você descobriu, pode usar
cryptsetup luksDump
para ver quais slots de chave possuem chaves.Você pode verificar a senha de um slot específico com
Isso será bem-sucedido se você digitar a senha correta para o slot da chave 0 e falhar de outra forma (inclusive se a senha estiver correta para outro slot de chave).
Se você esqueceu uma das frases secretas, poderá encontrar em qual slot ela está eliminada e se esqueceu duas frases secretas, não há como saber qual é qual (caso contrário, o hash da frase secreta seria quebrado).
Para remover a senha que você esqueceu, você pode executar
cryptsetup luksKillSlot /dev/sda2 0
e inserir com segurança a senha que você se lembra. Para limpar um slot de chave, écryptsetup
necessária a senha para um slot de chave diferente, pelo menos quando não estiver em execução no modo de lote (por exemplo--batch-mode
, não ,--key-file=-
ou opção equivalente).fonte
Uma maneira mais simples (agora?) É usar o comando com a
--verbose
opção mas sem especificar o seguinte--key-slot
:Ele verificará automaticamente o slot certo, sem que você faça loop para encontrar o bom :)
fonte