Программное обеспечение типа Fuse для расшифровки NTFS
У меня есть большой файл (70G), который при расшифровке является разделом NTFS. Для экономии времени я хотел бы написать программное обеспечение, которое может расшифровывать файл на лету, и служить ему в качестве файловой системы для изменения пользователем. Насколько я понял, вы сами предоставляете FUSE каталоги, и поэтому мне придется вручную анализировать и обрабатывать NTFS, если я хочу использовать FUSE.
Какой был бы хороший и простой способ выполнить оперативное дешифрование файловой системы NTFS с помощью специального алгоритма шифрования (зацикливание длинного ключа xor) и предоставить его в качестве изменяемой файловой системы для пользователя? Есть ли что-то подобное, о чем я должен знать?
2 ответа
Игнорируя тот факт, что выбранный вами метод шифрования является довольно плохим с точки зрения реальной безопасности, его очень легко прочитать из файла в любой произвольной позиции, используя модульную арифметику:
Если ваш ключ был, скажем, chocolate
, тогда вы знаете, что позиция в вашем файле mod длина вашего ключа (9) даст индекс в ключе, с которого начинается XORing.
Например, допустим, вы хотите начать дешифрование с позиции 25 в вашем файле. Мы принимаем 25 mod 9 = 7
и поэтому мы начинаем XORing наш ключ с нашим зашифрованным текстом в позиции 7 в ключе (techocolatecho...
).
Я не вижу причин, по которым вы хотели бы ограничить это NTFS, это просто не имеет смысла для меня. Самый простой (и я бы даже сказал, простой) способ - написать драйвер виртуального диска (см. Устройство хранения данных), который будет обрабатывать только несколько IRP (IRP_MJ_CREATE/CLOSE, IRP_MJ_READ/WRITE, IRP_MJ_DEVICE_CONTROL должно быть достаточно для такого устройства),
Тогда у вас будет просто другой том, где вы будете обрабатывать операции чтения и записи, а фактическое хранилище может быть тем, что вы хотите. И, пожалуйста, попробуйте использовать лучшее шифрование, чем XOR.