Как удалить файлы так, чтобы их невозможно было восстановить?

Как удалить файлы так, чтобы их невозможно было восстановить?

Я реализовал собственную версию aes-шифра на Java, чтобы получить платформенно-независимое приложение шифрования, которое не зависит от доступных шифров в используемой jvm.

Это приложение должно использовать этот шифр для шифрования файла и сохранения его на жестком диске.

.

Проблема: Удалить файлы таким образом, чтобы их невозможно было восстановить.

Теперь пользователь должен иметь возможность безопасно удалить свой оригинальный файл, поэтому его нельзя восстановить, не зная ключа шифрования. Чтобы сделать это, приложению пришлось бы перезаписать файл несколько раз случайными данными и, наконец, удалить его из системы.

Но Windows, например, мешает мне с другой ловушкой для защиты зашифрованных данных. Начиная с Windows Server 2003 используется технология Shadow Copy. Поэтому старые версии удаленного файла все еще могут быть скрыты Windows.

Теперь у меня есть вопросы:

  • Используются ли аналогичные технологии для Mac или Linux Mint/Ubuntu?
  • Есть ли какой-то (независимый от платформы) способ удалить файлы без возможности их восстановления?

решение1

Единственный способ проверяемого предотвращения восстановления файлов без доступа к сектору на диске и знания файловой системы — открыть файл, записать в него случайные данные, пока диск не заполнится, а затем удалить файл. А если что-то затенено, это, вероятно, не поможет.

Если пользователь не может получить ключ, то данные в файле бесполезны, и вы можете не беспокоиться об их удалении. Если длина файла может выдать информацию, дополните свои данные перед записью.

Если вам нужен только один ключ для шифрования/дешифрования этого файла, вам необходимо вывести уникальные сеансовые ключи из вышестоящего главного ключа.

Обратите внимание: если вы храните ключи или данные, используемые для получения ключей, в том же месте, что и зашифрованный текст, вы реализуете принципиально небезопасную систему, которую в конечном итоге всегда можно взломать.

решение2

К сожалению, обойти это невозможно. Различные реализации встроенного в ОС программного обеспечения или сторонних инструментов предназначены для сохранения данных, чтобы ониможетбыть восстановлены. В вашем приложении нет ничего, что могло бы переопределить это. Версионирование файлов, теневые копии, резервные копии и т. д. создадут копии вашего файла.

Единственное, что вы можете сделать, — это сохранить файлы на устройстве или томе, не имеющем «резервных копий».

Связанный контент