Использование полей inode для хранения ключа шифрования файла - PullRequest
1 голос
/ 25 сентября 2011

Я работаю над встроенной функциональностью ядра для шифрования и дешифрования файлов;Имя каталога с некоторым заранее заданным префиксом будет автоматически зашифровано.Теперь я застрял, чтобы безопасно хранить ключ шифрования для файла. Могу ли я использовать для этого любое неиспользуемое поле inode?Будет ли это эффективно или, пожалуйста, предложите любую другую идею.

1 Ответ

1 голос
/ 26 сентября 2011

Хранение ключа шифрования в inode файла, который зашифрован, является саморазрушительным - вы можете прочитать этот ключ, например, например. редактор диска и доступ к содержимому файла, тем самым победив шифрование. Для этого вам необходимо предоставить интерфейс / proc, чтобы пользовательское пространство могло решить, как этот ключ будет предоставлен (например, пользователю будет предложено ввести пароль, который хэшируется для получения ключа шифрования).

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

Если вам нужно сохранить некоторые метаданные шифрования в файле (не ключ шифрования!), Поместите их в заголовок, как это делает eCryptfs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...