Na prática, é quase tão resistente com a criptografia quanto sem ela, desde que você faça backup da chave mestra e dos metadados corretamente.
Além dos metadados, a corrupção afetaria apenas o bloco do bit corrompido, na maioria dos casos apenas 16 bytes dele.
Na maioria das situações de corrupção de dados, com a chave e as ferramentas (como sua senha e Veracrypt / LUKS), você tem o mesmo acesso que um disco não criptografado, assim como normalmente faz com o uso diário de um disco criptografado. A criptografia adicionaria apenas uma etapa adicional (abra uma partição criptografada) ao normal. Portanto, nesse caso, ele se comporta como dados não criptografados.
Com o Veracrypt ou o Luks, você precisa armazenar a chave mestra no disco, criptografada com sua senha. Danificar esse (s) setor (es) causaria perda permanente de dados. Isso pode ser facilmente resolvido com o backup da chave mestra (tamanho de alguns kilobytes), algo fácil de fazer nos dois softwares e é altamente recomendado para todos.
Detalhes sobre não metadados
O Veracrypt e o Luks usam o XTS hoje. Nesse modo, é calculada uma chave para cada bloco. Em uma simplificação, para criptografar o bloco, i
você usa uma chave gerada com as Chaves mestras e o número do bloco. Portanto, a criptografia de um bloco é independente de outro. Se você corromper algumas informações, elas serão restritas a esse bloco.
No XTS, ele quebra o bloco em sub-blocos (normalmente de 16 bytes) e cria uma chave e criptografa esse sub-bloco com ela. Isso significa que, se mudarmos um pouco, apenas esses 16 bytes serão afetados.
Como teste, alterando um único bit em um volume Luks, ele altera 16 bytes do arquivo original para sem sentido, mas os outros 496 ainda permanecem inalterados. Em um arquivo 7zip, ele usa um método de fluxo, em que todos os bytes são encadeados, portanto, uma alteração de byte afetaria todos os restantes - esse não é o caso aqui.
Alguns consideram isso um problema, como você pode saber com precisão de 16 bytes quando e onde você altera um texto sem formatação, comparando apenas os dados criptografados.
Informações mais interessantes sobre isso podem ser encontradas nesses links:
/crypto/6185/what-is-a-tweakable-block-cipher
/security/39306/how-secure-is-ubuntus-default-full-disk-encryption
https://en.wikipedia.org/wiki/Disk_encryption_theory
Detalhes sobre a chave mestra
LUKS
O LUKS possui alguns setores no início da partição (ou disco) com metadados, armazenando métodos de criptografia, outros parâmetros e 8 slots de chave. Para criptografar e descriptografar o disco, ele usa uma Chave Mestra , um grande número aleatório gerado ao criar um contêiner LUKS. Para armazená-lo, ele criptografa a Chave Mestra com sua senha, iterando uma função de hash criptográfico várias vezes sobre a senha e gerando uma chave específica para esse slot. Você pode ter 8 senhas diferentes para o mesmo disco, cada uma criptografando a chave mestra com uma senha diferente em um slot. Quando você altera a senha, é tão simples quanto criptografar a chave mestra e não alterar toda a partição.
Portanto, quando esses slots e metadados estão corrompidos, não é possível recuperar a chave mestra que é realmente usada para descriptografar, perdendo todos os dados no disco. Essa é uma maneira fácil de destruir rapidamente todos os seus dados. Mas se você tiver um backup do Volume Header, é muito fácil recuperá-lo.
Abaixo está uma cópia das Perguntas frequentes do LUKS sobre backup extraído de https://gitlab.com/cryptsetup/cryptsetup/wikis/FrequentlyAskedQuestions#6-backup-and-data-recovery
6.2 Como eu faço backup de um cabeçalho LUKS?
Embora você possa copiar o número apropriado de bytes desde o início da partição LUKS, a melhor maneira é usar a opção de comando "luksHeaderBackup" do cryptsetup. Isso também protege contra erros quando parâmetros fora do padrão foram usados na criação da partição LUKS. Exemplo:
cryptsetup luksHeaderBackup --header-backup-file <file> <device>
Para restaurar, use o comando inverso, ou seja,
cryptsetup luksHeaderRestore --header-backup-file <file> <device>
Se você não tiver certeza sobre um cabeçalho a ser restaurado, faça primeiro um backup do atual! Você também pode testar o arquivo de cabeçalho sem restaurá-lo usando a opção --header para um cabeçalho desanexado como este:
cryptsetup --header <file> luksOpen <device> </dev/mapper/ -name>
Se isso desbloquear seu lote de chaves, você estará bem. Não se esqueça de fechar o dispositivo novamente.
Sob algumas circunstâncias (cabeçalho danificado), isso falha. Em seguida, use as seguintes etapas:
Primeiro determine o tamanho da chave mestra:
cryptsetup luksDump <device>
dá uma linha do formulário
MK bits: <bits>
com bits iguais a 256 para os padrões antigos e 512 para os novos padrões. 256 bits é igual a um tamanho total de cabeçalho de 1'052'672 bytes e 512 bits um de 2MiB. (Consulte também o Item 6.12) Se o luksDump falhar, assuma 2MiB, mas lembre-se de que, se você restaurar isso, também poderá restaurar os primeiros 1M do sistema de arquivos. Não altere o sistema de arquivos se você não conseguiu determinar o tamanho do cabeçalho! Com isso, a restauração de um backup de cabeçalho muito grande ainda é segura.
Segundo, despeje o cabeçalho no arquivo. Existem várias maneiras de fazer isso. Prefiro o seguinte:
head -c 1052672 <device> > header_backup.dmp
ou
head -c 2M <device> > header_backup.dmp
para um cabeçalho 2MiB. Verifique o tamanho do arquivo de despejo para ter certeza. Para restaurar esse backup, você pode tentar luksHeaderRestore ou executar uma ação mais básica
cat header_backup.dmp > <device>
Veracrypt
O Veracrypt é semelhante ao LUKS. Não estou acostumado com isso como estava com o Truecrypt, mas a ideia geral é válida.
O Veracrypt possui apenas um slot de chave, portanto você não pode ter mais de uma senha ao mesmo tempo. Mas você pode ter um volume oculto: ele armazena os metadados no final da partição (ou disco ou arquivo). O volume oculto tem uma chave mestra diferente e usará o final da partição como espaço sobreposto. A idéia de que você deve fazer backup é a mesma. Isso pode ser feito com Tools -> Backup Volume Header
e Tools -> Restore Volume Header
. Com a criptografia do sistema, ele costumava criar um disco inicializável com backup de chave que recupera o carregador e as chaves do Truecrypt, se ocorrer algum dano. Isso é feito antes de criptografar qualquer coisa, e até onde eu sei, o Veracrypt continua fazendo o mesmo.
Para obter mais detalhes, consulte este link https://veracrypt.codeplex.com/wikipage?title=Program%20Menu
Considerações de segurança sobre chaves de backup
Se você tiver uma senha vazada, por exemplo, e alterar a senha do volume para uma nova, forte e segura, alguém com acesso ao backup ainda poderá descriptografar os arquivos com a senha antiga. O backup é basicamente a Chave Mestra criptografada com a senha (antiga). Portanto, ao alterar senhas, também é necessário fazer um novo backup e destruir os mais antigos. E destruir dados permanentemente pode ser muito complicado.
Para cada backup que você possui com essa senha, é uma maneira possível de descriptografar dados com essa senha. Isso pode ser usado no Veracrypt, por exemplo, usando uma "Senha universal" (como em uma corporação), fazendo backup e alterando para outra senha. Então, o departamento de TI. poderia recuperar o acesso a esse volume mesmo que alguém perdesse a senha (pense como uma senha mestra, mas não confunda com a chave mestra anterior).
Considerações finais (TL; DR)
A probabilidade de danificar o setor específico com a chave mestra é menos provável do que uma falha completa do disco. Portanto, se esses dados forem importantes, você deve fazer um backup deles, apenas os cabeçalhos de volume (chave mestra).
E a corrupção de dados se espalha pouco (16 bytes), resultando aceitável para a maioria dos usos.
Portanto, um bloco defeituoso no meio da partição ou disco afetaria apenas esse bloco. E alguns erros de bits em um setor são restritos a esse setor e nem sequer afetam totalmente um setor de 512 bytes.
Atualização (23/01/2017): adicione mais informações com base nos comentários do OP.
Compilei abaixo algumas informações sobre a resiliência dos contêineres VeraCrypt / TrueCrypt.
Da corrupção de dados Veracrypt :
Do FAQ do VeraCrypt :
A corrupção de dados pequenos deve ter apenas efeito local e não destruirá todo o contêiner. No entanto, aconselho a não criptografar um volume / partição inteira e, especialmente, a unidade do sistema, pois a recuperação pode ser mais complicada. Faça bons backups, especialmente para o cabeçalho do volume. E lembre-se de que, assim como em um disco ou pasta real, a corrupção nos cabeçalhos de disco / arquivo pode dificultar a recuperação de dados e exigir utilitários avançados.
Acredito que LUKS não tenha um segundo cabeçalho no disco, portanto, você deve ter ainda mais cuidado ao manter um backup.
fonte
chkdsk
.Graças a todas as respostas fornecidas pelas pessoas, a resposta definitiva é 100% completa.
Atualmente, não tenho muito tempo, por isso editarei minha resposta "própria" mais tarde. Como todas as respostas que as pessoas deram aqui são completamente úteis, isso será apenas uma recapitulação do que elas disseram, além das minhas descobertas também.
De qualquer forma, aqui está uma das minhas descobertas que desmascarará muita confusão que conheci, e principalmente preocupada ... o que significa o bloco, já que é um termo usado excessivamente e por engano:
https://sockpuppet.org/blog/2014/04/30/you-dont-want-xts/
Além disso, você encontrará uma maneira "padrão" de falar sobre as coisas aqui e evitará a confusão do 'bloco':
/superuser/1176839/what-are-every-possible-names-of-hard-drives-structure-parts
Em resumo, você pode alterar um bloco criptografado que contém a palavra "400" para "800". Isso significa que a camada criptografada no nível do bloco não é sólida, em vez de acreditar que "isso funcionará como um sistema de arquivos normal" (por exemplo, Veracrypt FAQ).
Além disso, eu deveria ter encontrado esse link há dois meses:
/unix/321488/full-image-of-internal-hdd-drive-dd-dd-rescue-with-truecrypt-bad-sectors/
Como o VeraCrypt é um garfo do TrueCrypt, certamente funcionará da mesma maneira.
PS:
Qualquer resposta adicional ainda é bem-vinda e será adicionada à minha "própria" resposta.
fonte