Как я могу исправить «W: <…> Хранилище недостаточно подписано ключом <…> (слабый дайджест)» в моем личном репозитории?

8

Я поддерживаю серию частных репозиториев. Ключи gpg, используемые для подписи репо, были сделаны с помощью «Key-Type: RSA» и «Key-Length: 4096». Версия GPG, используемая для генерации ключей, - это 1.4.16 в Ubuntu 14.04. Машина, которая жалуется, имеет gpg 1.4.20 (на бета-версии 16.04).

Как я могу исправить «W: <...> Хранилище недостаточно подписано ключом <...> (слабый дайджест)» в моем личном репозитории?

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

Майкл Пик
источник
1
Это в хэш-функции подписи, а НЕ в ключе. Он жалуется на хэш сигнатуры SHA-1, когда ожидает SHA-2.
Томас Уорд
1
Вам нужно отредактировать свой ключ. Эта страница более или менее объясняет это. debian-administration.org/users/dkg/weblog/48 Оставлять в качестве комментария, поскольку это не совсем правильный ответ.
шары

Ответы:

7

Предупреждающее сообщение не относится к алгоритму шифрования (ключи 4К RSA считаются вполне подходящими и рекомендуется прямо сейчас). Однако алгоритм дайджеста - это нечто иное: алгоритм хеширования, применяемый к телу сообщения (в вашем случае, к пакетам или спискам пакетов), которые затем подписываются. GnuPG имеет довольно консервативные значения по умолчанию, чтобы оставаться совместимым, но они медленно опережают прогресс, достигнутый в криптоанализе.

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

  1. Настройте параметры, которые будут использоваться GnuPG (для подписи сообщений, шифрования для других, ...):

    cat >>~/.gnupg/gpg.conf <<EOF
    personal-digest-preferences SHA256
    cert-digest-algo SHA256
    default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
    EOF
    
  2. Установка предпочтительных алгоритмов в вашем ключе для использования другими (в то же время добавляется новая самоподпись с обновленными настройками из # 1 выше):

    $ gpg --edit-key $KEYID
    Command> setpref SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompressed
    Command> save
    

В будущем алгоритмы дайджеста, считающиеся безопасными, должны быть выбраны GnuPG.

Йенс Эрат
источник
Я использую репозиторий, созданный другим, и не могу заставить их изменить хэш (они «не поддерживают» мою более новую версию операционной системы). Есть ли способ игнорировать эту проблему?
Guss
GnuPG знает вариант --allow-weak-digest-algos, но я не уверен, как вы могли бы пройти через это apt. Сообщите другой стороне, что MD5 также не работает для старых и других операционных систем.
Йенс Эрат
Я также добавил опцию конфигурации 'digest-algo SHA512', без которой я все еще получил подпись SHA1. Подтверждено gpg --verbose --verify Release.gpg Release, добавив '--verbose', он показывает тип дайджеста.
Херман ван Ринк