Интернет магазин китайских планшетных компьютеров



Компьютеры - EncFS

11 июня 2011


Оглавление:
1. EncFS
2. Поддержка файловой семантики Unix
3. Преимущества
4. Опции файловой системы
5. Сравнение с аналогами



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

При монтировании EncFS указывается директория-источник и точка монтирования. После монтирования каждому файлу в директории-точке монтирования соответствует определённый файл из зашифрованной директории. Таким образом, в директории-точке монтирования представлены файлы директории источника в незашифрованном виде. Файлы шифруются с помощью ключа, который в свою очередь хранится в той же директории, что и зашифрованные файлы, в зашифрованном виде. Пароль, вводимый пользователем с клавиатуры, служит для расшифровки этого ключа.

Архитектура EncFS

EncFS взаимодействует непосредственно с libfuse, библиотекой логирования и OpenSSL. «Общение» с ядром происходит через FUSE.

Взаимодействие с libfuse

  • Слой обратного вызова EncFS получает запросы из libfuse.
  • Далее эти запросы перенаправляются к соответствующему узлу директории или файла или возвращается информация из кэша, если она там присутствует.
  • Реализации интерфейсов вывода имён и содержимого файлов возвращают расшифрованную информацию.

Обзор шифрования в EncFS

Используемая библиотека OpenSSL предоставляет алгоритмы шифрования AES и Blowfish. В ранних версиях частично поддерживалась библиотека шифрования Botan. Шифрование происходит следующим образом:

  • Узел файла посылает запросы на чтение/запись через экземпляр FileIO;
  • FileIO формирует цепочку для шифрования;
  • Слой BlockFileIO конвертирует запросы в блочно-ориентированные.

Шифрование имен файлов

Имена файлов шифруются и затем кодируются в 64х-битную кодировку, параллельно избавляясь от символов «.» и «/». Есть возможность потокового и блочного шифрования. 16ти-битный MAC используется как IV и приписывается спереди к зашифрованному имени, что позволяет рандомизировать результат шифрования.

Использование пароля

Каждый экземпляр файловой системы EncFS использует случайно сгенерированный ключ. Этот ключ сохраняется зашифрованным с помощью вводимого пользователем пароля. И расшифровывается при введении пользователем пароля с клавиатуры. Это позволяет добиться следующих преимуществ:

  • Для изменения пароля тома нужно всего лишь изменить одну строчку в конфигурационном файле.
  • Хорошая возможность расширяемости для восстановления пароля.

Размер блоков файловой системы

Все операции чтения/записи в EncFS являются блочными. Размер блоков определяется пользователем при создании файловой системы и варьируется от 64 до 4096 байт. Маленький размер блоков уменьшает время произвольного доступа, но увеличивает число запросов при чтении/записи больших кусков файлов. Большой размер блоков способствует увеличению скорости обработки данных, но увеличивает время произвольного доступа. В отличие от реальных файловых систем большой размер блоков не приводит к потере дискового пространства.

Использование MAC

При шифровании каждому блоку в файле добавляется заголовок MAC. Вплоть до последней версии EncFS включительно в качестве MAC’а используется 64х-битный SHA-1. Таким образом, 512ти-байтный блок является 504 байтами зашифрованных данных и 8 байтами MAC’а.

Конфигурационный файл

Каждый экземпляр файловой системы EncFS содержит конфигурационный файл «.encfs%», где % — номер версии. В этом файле содержатся:

  • опции шифрования, включая алгоритм и длину ключа;
  • заголовки MAC;
  • размер блоков шифрования.


Просмотров: 4462


<<< Captive NTFS
SSHFS >>>