-1

Имеет ли KeePass постоянный внутренний ключ для шифрования данных? Или ключом шифрования является пароль (и ключевой файл)? На каком-то сайте я наблюдал за обсуждением способов взлома базы KeePass. Одно из предположений заключалось в том, что существует два способа: один - взломать парольную фразу, а другой - взломать зашифрованный мастер-ключ. Существует ли действительно постоянный внутренний мастер-ключ для шифрования данных?

1 ответ1

2

После прочтения этой статьи кажется, что некоторые случайные байты действительно генерируются, но только с целью завершить полный 256-битный ключ:

Для генерации 256-битного ключа для блочных шифров используется алгоритм Secure Hash SHA-256. Этот алгоритм сжимает пользовательский ключ, предоставленный пользователем (состоящий из пароля и / или файла ключа), в ключ фиксированного размера в 256 бит. Это преобразование является односторонним, то есть вычислительно невозможно инвертировать хеш-функцию или найти второе сообщение, которое сжимается в тот же хеш.

Недавно обнаруженная атака на SHA-1 [2] не влияет на безопасность SHA-256. SHA-256 по-прежнему считается очень безопасным [3].

Вывод ключа:

Если используется только пароль (т. Е. Отсутствует файл ключа), пароль плюс 128-битная случайная соль хэшируются с использованием SHA-256 для формирования окончательного ключа (но обратите внимание, что есть некоторая предварительная обработка: защита от атак по словарю). Случайная соль предотвращает атаки, основанные на предварительно вычисленных хэшах.

При использовании файла пароля и ключа окончательный ключ получается следующим образом: SHA-256 (SHA-256 (пароль), содержимое файла ключа), т. Е. Хэш мастер-пароля объединяется с байтами файла ключа и полученным байтом. строка снова хешируется с помощью SHA-256. Если файл ключа не содержит ровно 32 байта (256 бит), они также хэшируются с помощью SHA-256, чтобы сформировать 256-битный ключ. Затем приведенная выше формула изменяется на: SHA-256 (SHA-256 (пароль), SHA-256 (содержимое файла ключа)).

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .