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

Есть ли способ заблокировать доступ пользователей для чтения двоичных файлов с использованием шифрования или других вещей?

1 ответ1

0

Общее правило заключается в том, что все, что вы даете пользователю, больше не ваше. Когда вы шифруете данные, вы сохраняете ключ шифрования в своем приложении, и этот ключ можно извлечь. Единственное относительно надежное решение - установить ключ на аппаратное устройство (криптотек USB), но во многих случаях это неприемлемо. И это только относительно надежно, поскольку данные могут быть захвачены и существуют атаки на некоторые USB-токены.

Если вы хотите защитить данные только от обычного Джо, вы можете использовать зашифрованный ZIP в качестве контейнера (двойное шифрование отгонит больше пользователей). И вам нужно заменить алгоритм - Blowfish действительно очень медленный. AES будет быстрее.

Если объем данных велик, то лучше использовать шифрование на лету, то есть шифровать или дешифровать только те блоки данных, которые используются, а не весь поток. Это делает задачу более сложной. Или вы можете использовать виртуальную файловую систему, которая поддерживает шифрование на более низком уровне (наша Solid File System является одним из примеров, и существуют некоторые другие).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .