Файловая система, которая обеспечивает зашифрованное представление каталога - обратная сторона EncFS

В настоящее время я использую EncFS для шифрования моего каталога «конфиденциально» в «.encconfidential» и синхронизирую этот зашифрованный каталог с помощью онлайн-сервиса (например, Dropbox, UbuntuOne и т. Д.). Однако весь мой диск уже зашифрован LUKS, поэтому двойное шифрование снижает производительность.

Интересно, есть ли «инвертированная» опция EncFS? Незашифрованный каталог монтируется, и в смонтированном каталоге вы видите только зашифрованные файлы. Поэтому я мог работать с незашифрованными документами, пока инструмент синхронизации видит и читает / записывает только зашифрованные файлы.

Пояснение : Мой основной вариант использования - синхронизация , а не резервное копирование. Я хочу иметь возможность безопасно синхронизировать машины без двойной потери шифрования при работе локально (мне нужно подождать, когда я нажму сохранить, по сравнению со временем передачи зашифрованная операция имеет минимальный прирост во времени - и это фоновое время, а не пользовательское время)

7
задан 28 September 2012 в 22:42

4 ответа

На самом деле есть Encfs «перевернутая» опция. Со страницы руководства Encfs:

   --reverse
       Normally EncFS provides a plaintext view of data on demand.  Normally it stores enciphered data and displays plaintext data.  With --reverse it
       takes as source plaintext data and produces enciphered data on-demand.  This can be useful for creating remote encrypted backups, where you do
       not wish to keep the local files unencrypted.

       For example, the following would create an encrypted view in /tmp/crypt-view.

           encfs --reverse /home/me /tmp/crypt-view

       You could then copy the /tmp/crypt-view directory in order to have a copy of the encrypted data.  You must also keep a copy of the file
       /home/me/.encfs5 which contains the filesystem information.  Together, the two can be used to reproduce the unencrypted data:

           ENCFS5_CONFIG=/home/me/.encfs5 encfs /tmp/crypt-view /tmp/plain-view

       Now /tmp/plain-view contains the same data as /home/me

       Note that --reverse mode only works with limited configuration options, so many settings may be disabled when used.

Я не пробовал синхронизировать его, но думаю, что он будет работать, если вы используете ту же папку конфигурации .encfs5 на другом конце.

0
ответ дан 28 September 2012 в 22:42

Теперь о том, как сделать именно то, что вы укажете:

То, что вы запрашиваете, это представление файловой системы только для чтения, которое автоматически шифрует любой файл, который читается через него:

~/
    confidential/
        secret_file.txt      # Stored unencrypted
    .enc_confidential/       # Read-only view of files in confidential/
        secret_file.txt      # Encrypted view of corresponding file
[ 1113] Стандартный способ сделать это - использовать FUSE (Файловая система в пространстве пользователя).

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

В вашем случае желаемый фильтр - это программа шифрования, подобная gpg.

См. документацию о том, как написать свой конфигурационный файл. В основном, используйте flt_cmd = gpg --encrypt [... your chosen encryption settings] в качестве команды фильтра.

Будь осторожен; если вы испортите свою конфигурацию, это может привести к незашифрованным данным в вашей интернет-службе. Я бы порекомендовал мой другой ответ для общего пользования.


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

Для написания вашей файловой системы FUSE доступно несколько учебных пособий . Также см. FUSE wiki для получения дополнительной документации.

После этого добавьте команду монтирования файловой системы FUSE в свой .profile, чтобы она автоматически монтировалась при входе в систему.

0
ответ дан 28 September 2012 в 22:42

Еще один готовый инструмент синхронизации - Seafile. Это решение для нескольких клиентов с одним сервером, такое как dropbox. В последней версии есть возможность делиться зашифрованными папками так, чтобы сервер не знал ключ.

См. Функции безопасности Seafile

Подсказка: для лучшего понимания документации Seafile называет общую папку «Библиотекой».

0
ответ дан 28 September 2012 в 22:42

Это возможно в принципе (с использованием файловой системы FUSE), но более простой вариант - использовать готовую зашифрованную программу резервного копирования, используя вашу онлайн-службу в качестве цели резервного копирования.

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

Duplicity / Deja-Dup

Duplicity ( Ubuntu package ) - это программа резервного копирования, которая эффективно записывает сжатые зашифрованные инкрементные резервные копии в удаленное местоположение. Инкрементные резервные копии экономят место, потому что они используют алгоритм rsync для создания двоичных различий.

Вы также можете использовать внешний интерфейс Deja-Dup, который включен по умолчанию в последние версии Ubuntu.

Duplicity поддерживает запись во многие удаленные местоположения или бэкэнды . В частности, у Duplicity есть бэкэнд Ubuntu One. Я не думаю, что он напрямую поддерживает Dropbox, но вы можете сказать, чтобы он делал резервную копию в локальном каталоге, который синхронизируется Dropbox.

Если вы создаете резервные копии больших объемов данных, Duplicity не подходит. Из-за ограничений в хранении инкрементных резервных копий требуется периодическое выполнение полного резервного копирования, что влечет за собой загрузку всех ваших данных.

Obnam

Для больших резервных копий, посмотрите на Obnam . Он хранит зашифрованные данные с дедупликацией в резервном хранилище. Чтобы использовать его со службой удаленного хранения, попросите Obnam выполнить резервное копирование в хранилище в месте, которое будет синхронизироваться Dropbox / Ubuntu One. Поскольку Obnam использует формат репозитория на основе B-дерева, которому нужно только записывать новые / измененные данные в репозиторий, синхронизация должна быть быстрой.

Недостатком является то, что требуется хранение 2 копий ваших данных на жестком диске (каноническая копия и копия в резервном хранилище).

Ссылка на пакет Ubuntu . Существует также PPA .

0
ответ дан 28 September 2012 в 22:42

Другие вопросы по тегам:

Похожие вопросы: