Warum ärgert sich gpg und wie höre ich damit auf?

24

Ich bin kürzlich von einer Ubuntu-Installation auf eine andere umgestiegen und habe dabei meinen Benutzernamen geändert. Ich habe mein öffentliches / privates Schlüsselpaar in gpg importiert und während die Entschlüsselung (mit meinem privaten Schlüssel) einwandfrei funktioniert, wird bei jedem Versuch, etwas mit meinem öffentlichen Schlüssel für mich zu verschlüsseln, die folgende Warnmeldung angezeigt:

It is NOT certain that the key belongs to the person named
in the user ID.  If you *really* know what you are doing,
you may answer the next question with yes.

Danach fragt es mich, ob ich den Schlüssel wirklich verwenden möchte (ich antworte immer mit "Ja", weil es tatsächlich der einzige Schlüssel in meinem Schlüsselbund ist und ich weiß, woher er stammt). Ich kann alles gut entschlüsseln. Warum passt gpg dann so gut, wenn ich versuche, etwas zu verschlüsseln? Und wie kann ich verhindern, dass diese Meldung erneut angezeigt wird?

vier
quelle
Haben Sie eine der Antworten auf diese ältere Frage unter stackoverflow help ?: stackoverflow.com/q/9460140/2422988
Paul
@Paul, ja, dieser Link hat ein bisschen geholfen. Ich habe die "Vertrauens" -Ebene meines Schlüssels als ultimativ festgelegt, und das scheint das Problem behoben zu haben. Aber was war das Problem? Warum geschah dies und habe ich es behoben oder nur die Symptome gelindert?
Fouric
Entschuldigung, InkBlend, ich fürchte, meine Fähigkeit, Suchergebnisse zu sichten und zu vergleichen, übersteigt in diesem Fall meine pgp-Kenntnisse. Es sieht jedoch so aus, als ob Garrett weiß, was los ist.
Paul

Antworten:

16

Es ist mir gelungen, das bei Ihnen aufgetretene Problem zu reproduzieren. Ich habe folgendes getan:

$ gpg --no-default-keyring --keyring ./test-keyring  --secret-keyring ./test-secring --trustdb-name ./test-trustdb --no-random-seed-file --gen-key

<specified parameters and let it do its thing>

gpg: key 58018BFE marked as ultimately trusted
public and secret key created and signed.

<snip>

$

Beachten Sie, dass der Prozess den Schlüssel als "letztendlich vertrauenswürdig" markiert hat.

Jetzt exportiere ich die Schlüssel:

$gpg --no-default-keyring --keyring ./test-keyring  --secret-keyring ./test-secring --trustdb-name ./test-trustdb --no-random-seed-file --export-secret-keys -a >private.key

$gpg --no-default-keyring --keyring ./test-keyring  --secret-keyring ./test-secring --trustdb-name ./test-trustdb --no-random-seed-file --export -a > public.key

Jetzt importiere ich in eine neue GPG-Datenbank:

$gpg --no-default-keyring --keyring ./test2-keyring  --secret-keyring ./test2-secring --trustdb-name ./test2-trustdb --no-random-seed-file --import public.key

$gpg --no-default-keyring --keyring ./test2-keyring  --secret-keyring ./test2-secring --trustdb-name ./test2-trustdb --no-random-seed-file --import private.key

Wenn ich jetzt versuche, mit den neuen Schlüsselringen zu verschlüsseln, erhalte ich:

$ gpg --no-default-keyring --keyring ./test2-keyring  --secret-keyring ./test2-secring --trustdb-name ./test2-trustdb --no-random-seed-file -r Fake -e
gpg: AE3034E1: There is no assurance this key belongs to the named user

pub  1024R/AE3034E1 2013-06-13 Fake User <[email protected]>
 Primary key fingerprint: AD4D BAFB 3960 6F9D 47C1  23BE B2E1 67A6 5801 8BFE
      Subkey fingerprint: 58F2 3669 B8BD 1DFC 8B12  096F 5D19 AB91 AE30 34E1

It is NOT certain that the key belongs to the person named
in the user ID.  If you *really* know what you are doing,
you may answer the next question with yes.

Der Grund dafür ist das "Web of Trust" -Modell. Damit ein öffentlicher Schlüssel als vertrauenswürdig eingestuft werden kann, ist standardmäßig entweder ein "ultimatives" Vertrauenszertifikat (in der Regel, wenn Sie die Identität der beteiligten Personen persönlich überprüft haben) oder drei "marginale" Vertrauenszertifikate (sofern Sie jemanden kennen) erforderlich. wer kennt jemanden den du kennst ... hat das Zertifikat unterschrieben).

Da es sich bei gpg um eine Sicherheitsanwendung handelt, werden Sie gewarnt, wenn Sie versuchen, einen Schlüssel zu verschlüsseln, der nicht als vertrauenswürdig eingestuft ist. Der Grund, warum Ihr eigener Schlüssel in diesem Fall nicht vertrauenswürdig ist, ist einfach. Dies liegt daran, dass Sie die Vertrauensbeziehungen aus der vorherigen gpg-Instanz nicht exportiert haben. Verwenden Sie dazu die Befehle --export-ownertrust und --import-ownertrust.

Beziehen Sie sich wie immer auf die Manpage .

Garrett Kajmowicz
quelle
1
Der Schlüssel ist, dass alle Daten über das Vertrauen der Schlüssel getrennt vom Schlüsselbund gespeichert werden (sowohl geheim als auch öffentlich)! ~/.gnupg/trustdb.gpgEnthält die Vertrauensdatenbank, pubring.gpgdie öffentlichen Schlüssel und secring.gpgdie geheimen Schlüssel. Bitte beachten Sie hierzu die GnuPG-Dokumentation .
Gertvdijk
28

Ich bin auf dasselbe Problem gestoßen, hatte jedoch keinen Zugriff mehr auf den alten Schlüssel. So können Sie die Vertrauenswürdigkeit Ihres alten Schlüssels wiederherstellen:

gpg --edit-key [email protected]
gpg> trust
Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)

  1 = I don't know or won't say
  2 = I do NOT trust
  3 = I trust marginally
  4 = I trust fully
  5 = I trust ultimately
  m = back to the main menu

Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y
Kevin Lyda
quelle
OP hat dies getan (in den Kommentaren vermerkt), aber es ist gut, dass es als Antwort angegeben wurde.
Muru
7

Sie können die --always-trustFlagge verwenden, um diese Nachricht zu überspringen.

Paul Baltescu
quelle
1
Das ist absolut richtig, aber das nimmt nur die Symptome und nicht die Krankheit. Ihre Lösung ist wie die Einnahme eines Aspirins, weil Sie Krebs haben ...
Fabby
2
--always-trustist in einigen Fällen eine gute Lösung , aber wenn der fragliche Schlüssel tatsächlich der eigene Schlüssel des Benutzers ist, sollte ihm nur das ultimative Vertrauen verliehen werden.
Blacklight Shining
4
Meine Krankheit ist, dass GPG hartnäckig auf einem Schlüsselbund besteht, der meine programmatische Dateiverschlüsselung durcheinanderbringt, und dies auf jeder VM, auf der ich die Software installiere, auf unterschiedliche Weise.
bbozo
@BlacklightShining und wenn ich das noch nicht verifizieren konnte, erlaubt Evolution nicht, Mails an diese Adresse zu verschlüsseln. Keine Ahnung, warum das Verschlüsseln eines Textes für jemanden absolutes Vertrauen erfordert - und mit nur geringem Vertrauen sollte dies nicht möglich sein.
Izzy