Я использовал GnuPG для шифрования некоторых долгосрочных резервных копий, но меня беспокоит, может ли со временем повреждение данных сделать невозможным восстановление архивов.
Можете ли вы расшифровать частично поврежденные файлы OpenPGP?
Я использовал GnuPG для шифрования некоторых долгосрочных резервных копий, но меня беспокоит, может ли со временем повреждение данных сделать невозможным восстановление архивов.
Можете ли вы расшифровать частично поврежденные файлы OpenPGP?
Устойчива ли криптосистема к частичному повреждению (это называется самосинхронизирующимся шифром) или нет, зависит от режима работы.
OpenPGP (стандартная реализация GnuPG) опирается на CFB режима обратной связи шифра с регистром сдвига, что делает режим шифрования самосинхронизирующимся. Поврежденный блок в криптографическом тексте приведет к тому, что в простом тексте будут затронуты два блока: поврежденные биты в блоке, непосредственно затронутые повреждением, и следующий блок будет полностью искажен. После этого шифр снова синхронизируется и возвращает правильный простой текст.
Чтобы GnuPG игнорировал обнаруженное повреждение, примените параметр --ignore-mdc-error
. Но имейте в виду, что такое повреждение также может быть совершено злоумышленником, и отключение этой проверки предотвращает обнаружение таких проблем (от man gpg
):
Эта опция превращает сбой защиты целостности MDC в предупреждение. Это может быть полезно, если сообщение частично повреждено, но необходимо извлечь как можно больше данных из поврежденного сообщения. Однако следует помнить, что сбой защиты MDC может также означать, что злоумышленник умышленно подделал сообщение.
Но имейте в виду, что обычно сжатие применяется перед шифрованием (поскольку сжатие намного дешевле / быстрее, чем шифрование, а также может предотвратить довольно эзотерическую атаку на OpenPGP): в зависимости от используемого алгоритма сжатия (внутреннего для OpenPGP или внешнего, такого как сжатые JPEG-изображения ), могут возникнуть дополнительные повреждения.
Чтобы предотвратить случайные повреждения с течением времени, периодически делайте резервную копию как исходной, так и резервной копии. Современные файловые системы, такие как ZFS, BTRFS и Microsoft ReFS, реализуют такую функцию очистки на уровне файловой системы, как и все соответствующие программы резервного копирования.