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

Что генерирует это сообщение

Это не создается оболочкой Bourne Again. Это не Тильда.

Это создается командой ps из набора инструментов procps , выполняющей эту проверку в своей функции set_screen_size () . Команда ps требует, чтобы ваше оконечное устройство имело как минимум 9 столбцов на 2 строки, чтобы оно могло отображать вещи разумно. Где-то, возможно, без вашего ведома, вы вызываете ps .

Команда ps получает размер вашего терминала непосредственно из (линейной дисциплины) оконечного устройства, подключенного к его стандартным файловым дескрипторам ввода-вывода, и позволяет переопределить его с помощью COLUMNS ] и LINES переменные среды, если их значения правильно числовые. Вы можете увидеть, что видит ваша команда ps , чтобы определить ее, выполнив:

stty size ; printenv COLUMNS LINES

Вы можете поэкспериментировать с вытягиванием ноги ps, выполнив такие вещи, как:

COLUMNS=65535 LINES=1 ps

Если у вас есть установите переменные среды COLUMNS и LINES в значения daft 131072 × 1, как показано в выходных данных printenv , затем просто не делайте этого. ☺ Однако более вероятно, что само оконечное устройство сообщает об этом размере, что вы увидите в выводе stty .(Обратите внимание, что все, что оболочка Bourne Again делает с checkwinsize , устанавливает значения этих переменных оболочки, которые, если не экспортируются, даже не передаются команде ps в ее среде, чтобы каким бы ни было оконечное устройство, сообщающее о размере. Таким образом, checkwinsize - отвлекающий маневр в том смысле, что, если переменные среды не имеют смысла, оконечное устройство само сообщает ерунду, а последнее - основная проблема, которую необходимо решить.)

Вот почему, пока он не выдает сообщение, Тильда может быть виновата. Размер оконечного устройства - это общий ресурс, который все, что имеет дескриптор открытого файла для оконечного устройства, может произвольно изменяться с помощью системного вызова ioctl () . Но это обычно устанавливается в сценарии, в котором используется программная программа эмулятора терминала , такая как Tilda, программой эмулятора терминала, когда размер окна графического интерфейса пользователя, в котором выполняется эмуляция, отображаемые изменения. Программа эмулятора терминала получает событие изменения размера графического интерфейса пользователя, преобразует его в столбцы и строки и устанавливает размер устройства с помощью ioctl () .

Это не значит, что что-то еще не определило размер этой ерунды.В конце концов, вы можете установить его самостоятельно на произвольный бессмысленный размер, просто запустив, например, команду:

stty columns 1 rows 65535

Что приводит нас к…

Как сбросить размер терминального устройства

Если вы оказались в положении, когда терминальное устройство сообщает бессмысленный размер:

  • Если вы используете эмулятор терминала с графическим интерфейсом, измените размер графического интерфейса на столбец / строку или около того. Это должно вызвать ioctl () и установить разумный размер терминала.
  • Установите более разумный размер с помощью (например):

     столбцов stty 80 строк 25 
  • Используйте команду reset . Обратите внимание, что reset устанавливает множество других параметров в дополнение к размеру оконечного устройства.
  • Если ваш эмулятор терминала совместим с DEC VT340 / VT420, испустите соответствующие управляющие последовательности DECSCPP и DECSLPP / DECSNLS напрямую или используйте команду nosh toolset console-resize (также известную как resizecons ) команда для их выдачи:

     resizecons 80x25 
3
19.04.2017, 16:45
2 ответа

Эти вопросы и ответы how-do-decryption- алгоритмы определения-правильности-вашей-попытки-парольной фразы предполагают, что алгоритмы дешифрования, которым необходимо знать правильность парольной фразы, используют HMAC для проверки правильности парольной фразы.

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

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

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

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

Технология

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

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

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

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

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

3
27.01.2020, 21:25

При просмотре исходного кода 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

0
27.01.2020, 21:25

Теги

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