Разработчик файловой системы Ext4 Теодор Тсо (Theodore Ts'o), работающий в компании Google, представил серию патчей, добавляющих поддержку шифрования в файловую систему Ext4. Предполагается что данные патчи войдут в состав следующего релиза Android "M". Код с реализацией поддержки шифрования подготовлен совместно с Майклом Хэлкроу (Michael Halcrow), автором eCryptFS. Дополнительно отмечается, что подготовленные патчи могут послужить основой для поддержки шифрования в файловой системе F2FS.
Реализация подразумевает предоставление возможности шифрования отдельных частей ФС, например, отдельных директорий. При этом шифруется только содержимое и имена файлов, а метаданные о файлах, такие как размер и права доступа, остаются видимыми. Ключ шифрования определяется во время монтирования ФС. Настройки шифрования выполняются посредством xattr. Новые файлы или директории могут быть зашифрованы отдельно или автоматически, в случае если они создаются в уже зашифрованной директории.
Зашифрованные данные размещаются с использованием метода AES-256-XTS, для имён файлов применяется AES-256-CBC. Для каждого inode генерируется свой уникальный 512-битовый ключ шифрования, что позволяет блокировать атаки, в ситуациях когда злоумышленнику известна часть зашифрованного содержимого. По сравнению с применением надстроек, таких как dm-crypt и eCryptFS, интеграция поддержки шифрования непосредственно в драйвер ФС, позволяет добиться более высокой производительности, использовать текущий код для обработки прав доступа и обеспечить возможность работы с незашифрованной частью файлов на устаревших системах.
source1
source2
Реализация подразумевает предоставление возможности шифрования отдельных частей ФС, например, отдельных директорий. При этом шифруется только содержимое и имена файлов, а метаданные о файлах, такие как размер и права доступа, остаются видимыми. Ключ шифрования определяется во время монтирования ФС. Настройки шифрования выполняются посредством xattr. Новые файлы или директории могут быть зашифрованы отдельно или автоматически, в случае если они создаются в уже зашифрованной директории.
Зашифрованные данные размещаются с использованием метода AES-256-XTS, для имён файлов применяется AES-256-CBC. Для каждого inode генерируется свой уникальный 512-битовый ключ шифрования, что позволяет блокировать атаки, в ситуациях когда злоумышленнику известна часть зашифрованного содержимого. По сравнению с применением надстроек, таких как dm-crypt и eCryptFS, интеграция поддержки шифрования непосредственно в драйвер ФС, позволяет добиться более высокой производительности, использовать текущий код для обработки прав доступа и обеспечить возможность работы с незашифрованной частью файлов на устаревших системах.
source1
source2
Комментариев нет:
Отправить комментарий