Kann man die s2k-Funktionen von gpg voll funktionsfähig machen?

1

Laut RFC 4880 ,

String-to-Key (S2K) -Spezifizierer werden zum Konvertieren von Passphrasen in symmetrische Verschlüsselungs- / Entschlüsselungsschlüssel verwendet. Sie werden derzeit an zwei Stellen verwendet: zum Verschlüsseln des geheimen Teils privater Schlüssel im privaten Schlüsselbund und zum Konvertieren von Passwörtern in Verschlüsselungsschlüssel für symmetrisch verschlüsselte Nachrichten.

Letzteres funktioniert:

Bildschirmfoto

Ersteres für den geheimen Teil privater Schlüssel bedeutet nicht:

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

Welches zeigt ein Ergebnis, das enthält:

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

Es ist also eine diskrete, de facto Herabstufung auf AES128 und GPU-freundliches SHA-1 von dem, was erwartet wurde. Dieses Problem wurde hier angesprochen (vor ungefähr 42 Monaten) und nach zwei Jahren Untätigkeit als Frage weniger dringend.

Gpg-Agent hat einen Standard, der die Zeit begrenzt, die das KDF dauern kann.

Was kann man tun , um die s2k-Spezifizierer zum Laufen zu bringen?

(Oder zumindest den gleichen Effekt erzielen, indem die Anzahl der Iterationen signifikant erhöht wird, was das Knacken von Passwörtern für den Angreifer schwierig macht. )


quelle
1
Crossdupe security.stackexchange.com/a/149371/39571 was wahrscheinlich ein besserer Ort dafür ist. (Dies ist, wie man Krypto in einem Programm benutzt, nicht wie Krypto funktioniert.)
dave_thompson_085
@ dave_thompson_085 Danke! Ich muss die anderen Stackexchange-Sites durchsuchen, bevor ich eine Frage stelle. Trotzdem frage ich mich, ob jemand eine klare Antwort geben könnte. Was kann getan werden, damit die s2k-Spezifizierer für private Schlüssel funktionieren?
(1) hoffentlich stimmen die Entwickler dem Artikel auf der Wunschliste zu und warten, bis sie es tun. (2) es ist Open Source. Mach es selbst. und setze zur Generationszeit (4) etwas anderes anstelle von (oder zumindest zusätzlich zu) gpg :-(
dave_thompson_085
@ dave_thompson_085 Nochmals vielen Dank! Füllen Sie mich bitte zu Punkt 4 aus. Was kann ich verwenden, das besser als GPG ist, oder wird es zumindest ergänzen? Ich bin sehr neugierig zu wissen.
Ich bin mir sicher, dass es noch andere Möglichkeiten gibt, aber ich persönlich würde BouncyCastles 'bcpg' bouncycastle.org/latest_releases.html verwenden, da Java für mich am schnellsten und einfachsten einzugeben ist.
dave_thompson_085