Можно ли заставить функции gpg s2k работать полностью?

311
Patriot

Согласно RFC 4880 ,

Спецификаторы String-to-key (S2K) используются для преобразования строк парольных фраз в ключи шифрования / дешифрования с симметричным ключом. В настоящее время они используются в двух местах: для шифрования секретной части закрытых ключей в секретной цепочке ключей и для преобразования парольных фраз в ключи шифрования для симметрично зашифрованных сообщений.

Последний работает:

Screenshot

Первый, для секретной части закрытых ключей, не:

gpg2 --s2k-cipher-algo AES256 --s2k-digest-algo SHA512 --s2k-mode 3 --s2k-count 65000000 --export-secret-keys | gpg2 --list-packets 

Который показывает результат, который включает в себя:

iter+salt S2K, **algo: 7**, **SHA1 protection**, **hash: 2**, **protect count: 13107200**. 

Итак, это сдержанный фактический переход на AES128 и GPU-совместимый SHA-1 с ожидаемого уровня. Эта проблема была поднята здесь (около 42 месяцев назад), а затем срочно уменьшилась как вопрос после двух лет бездействия.

Gpg-agent имеет значение по умолчанию, ограничивающее время, которое может занять KDF.

Что можно сделать, чтобы спецификаторы s2k работали полностью?

(Или, по крайней мере, получите тот же эффект значительного увеличения числа итераций, что делает взломщиком взлом паролем )

1
Crossdupe https://security.stackexchange.com/a/149371/39571, который, вероятно, является лучшим местом для этого. (Это как использовать криптографию в программе, а не как работать крипто). dave_thompson_085 5 лет назад 1
@ dave_thompson_085 Спасибо! Мне нужно поискать другие сайты для обмена стеками, прежде чем отправлять какие-либо вопросы. Тем не менее, интересно, кто-нибудь мог бы дать четкий ответ. Что можно сделать, чтобы спецификаторы s2k работали с закрытыми ключами? Patriot 5 лет назад 0
(1) надеюсь, что разработчики согласятся с пунктом списка желаний и подождут, пока они это сделают (2) это открытый исходный код, сделайте это сами (но если вы распространяете, соблюдаете GPL) (3) вернитесь к 2.0 (или меньше?) и установить во время генерации (4) использовать что-то другое вместо (или по крайней мере в дополнение к) gpg :-( dave_thompson_085 5 лет назад 0
@ dave_thompson_085 Еще раз спасибо! Что ж, пожалуйста, напишите мне по пункту 4. Что я могу использовать лучше, чем GPG, или, по крайней мере, дополню это? Мне очень любопытно узнать. Patriot 5 лет назад 0
Я уверен, что есть и другие возможности, но лично я бы использовал Bcpg http://www.bouncycastle.org/latest_releases.html от BouncyCastle, потому что Java - самый быстрый и простой для меня код. dave_thompson_085 5 лет назад 0
@ dave_thompson_085 Мне нужно обратить на это внимание и оставить GPG2 в пыли. Patriot 5 лет назад 0

0 ответов на вопрос

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