Wie kann ich "W: <…> Das Repository ist vom Schlüssel <…> (schwacher Digest) nicht ausreichend signiert" in meinem privaten Repository beheben?

8

Ich unterhalte eine Reihe von privaten Repositories. Die zum Signieren des Repos verwendeten GPG-Schlüssel wurden mit "Schlüsseltyp: RSA" und "Schlüssellänge: 4096" erstellt. Die zum Generieren der Schlüssel verwendete GPG-Version ist 1.4.16 unter Ubuntu 14.04. Die Maschine, die sich beschwert, hat gpg 1.4.20 (auf einer Beta von 16.04).

Wie kann ich "W: <...> Das Repository ist vom Schlüssel <...> (schwacher Digest) nicht ausreichend signiert" in meinem privaten Repository beheben?

Ich gebe zu, dass ich nicht zu viel über Verschlüsselung weiß, aber ich hätte gedacht, dass ein RSA-Schlüssel mit einer Länge von 4096 ausreichend gewesen wäre.

Michael Peek
quelle
1
Dies betrifft die Signatur-Hash-Funktion, NICHT den Schlüssel. Es beschwert sich über einen SHA-1-Signatur-Hash auf dem Ding, wenn es SHA-2 erwartet.
Thomas Ward
1
Sie müssen Ihren Schlüssel bearbeiten. Diese Seite erklärt es mehr oder weniger. debian-administration.org/users/dkg/weblog/48 Als Kommentar hinterlassen, da es keine richtige Antwort ist.
Luftballons

Antworten:

7

In der Warnmeldung geht es nicht um den Verschlüsselungsalgorithmus (4k-RSA-Schlüssel gelten derzeit als völlig in Ordnung und als Best Practice). Der Digest- Algorithmus ist jedoch etwas anderes: Der Hashing-Algorithmus, der auf den Nachrichtentext (in Ihrem Fall die Pakete oder Paketlisten) angewendet wird, die dann signiert werden. GnuPG hat eher konservative Standardeinstellungen, um kompatibel zu bleiben, aber diese werden langsam durch Fortschritte in der Kryptoanalyse übertroffen.

Sie müssen keinen neuen Schlüssel erstellen, sondern einfach die Einstellungen für GnuPG ändern. Die Vorschläge des Debian-Administrator-Blogs sind immer noch in Ordnung und helfen Ihnen dabei, vernünftige Standardeinstellungen festzulegen, die etwas übervorsichtig sind:

  1. Richten Sie die Einstellungen ein, die von GnuPG verwendet werden sollen (zum Signieren von Nachrichten, Verschlüsseln mit anderen, ...):

    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. Festlegen bevorzugter Algorithmen in Ihrem Schlüssel, die von anderen verwendet werden sollen (gleichzeitig wird eine neue Selbstsignatur mit den aktualisierten Einstellungen von Nr. 1 oben hinzugefügt):

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

Zukünftig sollten Digest-Algorithmen, die als sicher gelten, von GnuPG ausgewählt werden.

Jens Erat
quelle
Ich verwende ein von einem anderen erstelltes Repository und kann sie nicht dazu bringen, den Hash zu ändern (sie unterstützen meine neuere Version des Betriebssystems nicht). Gibt es eine Möglichkeit, dieses Problem zu ignorieren?
Guss
GnuPG kennt die Option --allow-weak-digest-algos, aber ich bin mir nicht sicher, wie Sie sie durchgehen könnten apt. Benachrichtigen Sie die andere Partei, dass MD5 auch für ältere und andere Betriebssysteme defekt ist.
Jens Erat
Ich habe auch die Konfigurationsoption 'Digest-Algo SHA512' hinzugefügt, ohne die ich immer noch eine SHA1-Signatur habe. Durch gpg --verbose --verify Release.gpg ReleaseHinzufügen von '--verbose' wird der Digest-Typ angezeigt.
Herman van Rink