Як видалити файли таким чином, щоб їх не можна було відновити?


0

Я реалізував свою власну версію aes-cipher в java, щоб мати незалежне програмне забезпечення для шифрування, яке не залежить від доступних шифрів у використанні jvm.

Ця програма повинна використовувати цей шифр для шифрування файлу та збереження його на жорсткому диску.

.

Проблема: видаляйте файли таким чином, щоб їх не можна було відновити

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

Але Windows, наприклад, заважає мені з іншою ловушкою для захисту зашифрованих даних. Починаючи з Windows Server 2003 використовується технологія Shadow Copy. Таким чином, старі версії видаленого файлу все ще можуть бути приховані Windows.

Мої запитання зараз:

  • Чи існують подібні технології для Mac або Linux Mint / Ubuntu?
  • Чи існує якийсь (незалежний від платформи) спосіб видалення файлів без можливості їх відновлення?

Не готуйте власні схеми шифрування. Існують вже існуючі, які були ретельно перевірені і випробувані; використовуйте їх.
devnull

1
Незалежний від платформи: Просвердлюйте отвори через дисковод, а потім скиньте його в чан з кислотою.
Daniel R Hicks

Пов'язані (але не відповіді): security.stackexchange.com/questions/8965/…
Canadian Luke

1
@devnull: aes 128/196/256 є стандартизованими шифрами. Чому ж я не повинен їх виконувати?
user1861174

Існує багато програм, які постійно видаляють дані, неодноразово записуючи випадкові дані до цього місця на диску. Єдиний випадок, коли він не працює, на флеш-пристроях з управлінням зносом. На жаль, я не знаю, як вони реалізовані.
Wutaz

Відповіді:


2

Єдиний спосіб перевірити, чи можна уникнути видалення файлів без доступу до диска на рівні сектора і знання файлової системи, це відкрити файл, записати до нього випадкові дані, поки диск не заповниться, а потім видалити файл. І якщо все тісно, ​​це, напевно, не допоможе.

Якщо користувач не може дістатися до ключа, то дані у файлі марні, і ви можете також не турбуватися про його видалення. Якщо довжина файлу може дати інформацію, вставте дані перед записом.

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

Зверніть увагу, що якщо ви зберігаєте ключі, або речі, які використовуються для виведення ключів, в тому ж місці, що і зашифрований текст, ви впроваджуєте принципово зламану систему, яка завжди може бути зламана.


1

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

Єдине, що ви можете зробити, це зберегти файли на пристрої чи тому, що не має "резервних копій".


але як дізнатися, якщо пристрій / том / операційна система зберігає додаткову резервну копію
user1861174

Вам доведеться проконсультуватися з системними адміністраторами
Keltari
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.