Intereting Posts
Конфигурации SSL для промежуточного сертификата неразрывное пространство иногда появляется в Geany (мой стандартный текстовый редактор) Расчет размера каталога без привязки подкаталогов к одному и тому же устройству Неудовлетворительные зависимости, использующие apt-get на Ubuntu настроить двустороннюю синхронизацию NFS Adobe Reader необходимо восстановить или удалить (элементарная ОС) Что не так с этим кодом? как сообщить checkinstall только создать файл пакета, но не установить? Компиляция и запуск проекта тестирования linux Как приостановить работу с Gnome3 с помощью systemd Не удалось смонтировать тома NetApp через NFS: rpcinfo: RPC: тайм-аут Отключить завершение oh-my-zsh для первого параметра команды, когда это каталог Лучший способ обновить vim / gvim до 7.3 в Ubuntu 10.04? Команда ZSH запускается в оболочке, но не в скрипте USB-диск Только для чтения, невозможно форматировать – отключить защиту от записи

Где хранится пароль encfs

Как и где encfs хранит пароль для зашифрованного каталога?

Я понимаю, что encfs использует encfs6.xml для хранения фактического ключа дешифрования, закодированного с использованием пароля. Я также понимаю, что encfs6.xml является единственным файлом, необходимым для дешифрования. Поэтому я предположил, что хеш пароля также должен храниться в том же файле. Тем не менее, я вижу только encodedKeyData и saltData в файле.

Я хочу знать, как encfs удостоверяется, что я ввел правильный пароль просто с помощью информации, представленной в encfs6.xml

Эти Q & A -алгоритмы «делать-дешифровать-алгоритмы-определять-и-пытаться-кодовую фразу-правильно» предполагают, что алгоритмы дешифрования, которые должны знать правильность кодовой фразы, используют HMAC для проверки правильности парольной фразы.

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

Некоторая информация о дизайне encfs :

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

Предоставляемый вами пароль используется для дешифрования ключа тома.

Технологии

  • Encfs использует алгоритмы из сторонних библиотек (OpenSSL по умолчанию) для шифрования данных и имен файлов.

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

Согласно этому аудиту безопасности

  • EncFS использует тот же ключ для шифрования данных и вычислений MAC
  • EncFS использует 64-разрядные MAC-адреса.
  • EncFS использует Mac-then-Encrypt
  • Целью заголовков MAC является предотвращение того, чтобы злоумышленник с доступом чтения / записи к зашифрованному тексту мог вносить изменения без обнаружения. К сожалению, эта функция обеспечивает небольшую безопасность, поскольку она контролируется опцией в файле конфигурации .encfs6.xml

Ответ на вопрос в комментарии, MAC сохраняется как часть каждого закодированного файла.

При взгляде на источник encfs кажется, что первые 4 символа (байты) encodedKeyData являются хешем, используемым для проверки HMAC.

https://github.com/vgough/encfs/blob/7cc6efa60ca7378ba2b95be1fe5804a97f29af10/encfs/SSL_Cipher.cpp#L530#L546

а также

https://github.com/vgough/encfs/blob/7cc6efa60ca7378ba2b95be1fe5804a97f29af10/encfs/SSL_Cipher.cpp#L49