2

В справочнике предполагается, что симметричное шифрование подходит (и, следовательно, не менее безопасно, чем шифрование с открытым ключом?) когда только вам нужно получить доступ к открытому тексту. Но согласно этому сообщению, поскольку gpg --symmetric требует только ключевую фразу, злоумышленнику нужно использовать только грубую силу этой ключевой фразы, а не полный 128/256-битный ключ, сгенерированный из нее.

Мне кажется, что правильной процедурой в этом случае является наличие файла ключа 128/256 бит, который используется для симметричного шифрования моих данных; который сам симметрично зашифрован с помощью ключа, сгенерированного из ключевой фразы, так же, как защищенные закрытые ключи. Это потребует от злоумышленника грубого взлома полного симметричного ключа - даже если они получат мой файл ключа, им все равно придется взломать мой пароль.

Поддерживает ли gpg этот вид использования? Мое понимание ситуации неверно, есть ли причина, по которой это недопустимый вариант использования?

-

Или, говоря по-другому:

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

1 ответ1

2

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

OpenPGP делает грубое форсирование парольной фразы, хотя, тем не менее, генерируя большой ввод для хэширования (повторяя парольную фразу несколько раз для ввода хеша). Этот способ перебора парольной фразы намного дороже. Из RFC 4880, OpenPGP, 3.7.1.3.Итеративный и соленый S2K:

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

В GnuPG количество повторений пароля (и некоторые другие параметры) можно настроить с помощью параметров --s2k-*.

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