Es gibt viele Pakete auf AUR, die beim Versuch, sie zu installieren, zu einem Fehler wie dem folgenden führen:==> ERROR: One or more PGP signatures could not be verified!
Dies lässt sich beheben, indem der Schlüssel mit etwas wie importiert wird gpg --recv-keys 123456789ABCDEF
. Der Schlüssel wird häufig in der AUR-Diskussion bereitgestellt.
Ich habe einige Fragen hierzu:
Was genau machen diese Schlüssel? Was wird mit GPG überprüft und warum ist das notwendig?
Warum ist es notwendig, Schlüssel manuell zu importieren? Warum kann dies nicht automatisiert werden?
Wenn das blinde Importieren des Schlüssels aus dem AUR-Kommentarthread fehlerhaft ist, welche Schritte muss ich unternehmen, um den Schlüssel zu „verifizieren“?
Wo soll ich den Schlüssel finden, wenn sich niemand die Mühe macht, ihn in den Kommentaren zu veröffentlichen, und ich keine Zeit habe, einen Kommentar zu veröffentlichen und auf eine Antwort des Betreuers zu hoffen?
Bei meiner Online-Suche habe ich Hinweise auf einebekannter Blogbeitrag. Leider muss ich sagen, dass ich die oben genannten Punkte auch nach mehrmaligem aufmerksamen Lesen noch immer nicht verstehe.
Antwort1
Was genau machen diese Schlüssel? Was wird mit GPG überprüft und warum ist das notwendig?
Die Schlüssel werden verwendet, um zu überprüfen, ob die von Ihnen heruntergeladene Software tatsächlich die vom Autor des Pakets beabsichtigte Software ist und nicht etwa Trojaner-Malware von einem Repository-Server, der möglicherweise erfolgreich von einem Angreifer infiltriert wurde. Oder ein Angreifer kann Ihre Download-Anforderung möglicherweise an sein getarntes Malware-Repository statt an ein echtes AUR-Repository umleiten. Die Überprüfung durch GPG macht es einem Angreifer sehr schwer, die Software-Repositorys erfolgreich als Malware-Verteilungskanal zu verwenden.
Warum ist es notwendig, Schlüssel manuell zu importieren? Warum kann dies nicht automatisiert werden?
Sie sollten eine bewusste Entscheidung darüber treffen, ob Sie einem bestimmten Softwareautor/-paketierer vertrauen oder nicht und ob Sie für Ihre Zwecke ausreichend Vertrauen darin haben, dass der erhaltene Schlüssel echt ist und nicht von einem Betrüger stammt.
Das erforderliche Maß an Vertrauen und Zuversicht hängt davon ab, was Sie tun: Für ein privates Heimsystem zum Spaß, einen Server, der für ein Unternehmen die Gesundheitsdaten anderer Personen und/oder Kreditkarteninformationen verarbeitet, und einen zusätzlichen Supportserver für ein nationales Raketenabwehrsystem gelten jeweils etwas andere Anforderungen.
Wenn das blinde Importieren des Schlüssels aus dem AUR-Kommentarthread fehlerhaft ist, welche Schritte muss ich unternehmen, um den Schlüssel zu „verifizieren“?
Wenn der Schlüssel von anderen Personen signiert wurde, deren Schlüssel Sie bereits besitzen, und Sie dem Urteil dieser Personen zumindest beim Signieren von GPG-Schlüsseln vertrauen, können Sie dies als Beweis dafür nehmen, dass der Schlüssel wahrscheinlich echt ist. Andernfalls können Sie versuchen, den Schlüssel aus mehreren verschiedenen Quellen zu erhalten und die Ergebnisse zu vergleichen. Wenn es für Sie wichtig genug ist, können Sie sogar den Entwickler anrufen oder treffen, um eine stärkere Bestätigung zu erhalten, dass Sie den richtigen Schlüssel haben.
Wo soll ich den Schlüssel finden, wenn sich niemand die Mühe macht, ihn in den Kommentaren zu veröffentlichen, und ich keine Zeit habe, einen Kommentar zu veröffentlichen und auf eine Antwort des Betreuers zu hoffen?
Für eine breite Verwendung vorgesehene öffentliche GPG-Schlüssel werden üblicherweise auf SKS-Schlüsselservern veröffentlicht: Wenn Sie nicht über den richtigen Schlüssel verfügen, sollten die Pakettools in der Lage sein, die Schlüssel-ID des erforderlichen Schlüssels anzuzeigen, und Sie können diese verwenden, um auf den Schlüsselservern nach dem Schlüssel zu suchen.
Weitere Informationen zum SKS-Keyserver-Netzwerk finden Sie hier:https://sks-keyservers.net/
Sie können auch nach der Schlüssel-ID googeln.
Antwort2
TL;DR - neue und verbesserte und automatisierte "Überprüfen Sie die MD5-Summe des Downloads anhand der auf der Website veröffentlichten Liste"
Die Signatur ist eine digitale Bestätigung, wer das Paket signiert hat, und stellt sicher, dass es seit seiner Erstellung nicht geändert wurde. Normalerweise wird sie entweder vom Paketbetreuer oder Release-Manager oder einer „autoritären“ Person in der Wartungsgruppe des Kernprojekts der Distribution signiert. Im Wesentlichen handelt es sich um eine verbesserte und automatisierte Integritätsprüfung dessen, was Sie installieren möchten – das neue „Wir haben den MD5-Summen-Hash der Dateiliste veröffentlicht, Sie sollten das, was Sie herunterladen, mit diesen vergleichen“.
Es funktioniert über einen öffentlichen/privaten Schlüssel. Ich erstelle einen privaten Schlüssel mit einem Passwort (gut und stark) und generiere damit einen öffentlichen Schlüssel. Den öffentlichen Schlüssel kann ich weitergeben. Ich generiere das Paket, signiere es und wenn Sie es installieren, wird Ihnen mitgeteilt, dass der öffentliche Schlüssel, der mit ABC321FF oder was auch immer übereinstimmt, zur Überprüfung der Signatur erforderlich ist. Sobald Sie den Schlüssel importiert haben, kann die Software auf Ihrer Seite überprüfen, ob der identifizierende Hash derselbe ist und dass der Hash mit meinem privaten Schlüssel signiert wurde.
Die Sicherheitsbedenken beim Hinzufügen von Software aus einem Repository zu Ihrem System lauten: „Wer steckt hinter dieser Software – oh, und auch der Schlüssel“. Wenn es der Schlüssel für eine Distribution ist (einige Releases haben ihre eigenen Schlüssel oder haben widerrufene und neue Schlüssel erstellt), dann spielt es keine Rolle, Sie führen ohnehin Software aus ihrer Distribution aus. Beachten Sie, dass Sie beim Zugriff auf Drittanbieter-Repositorys (wie Ubuntu und Projekt-PPAs) am Ende für jedes davon einen Schlüssel importieren, und dies könnte für Sie ein Problem darstellen.
Sie sollten sich darüber im Klaren sein, dass dieser Schlüssel nun für alles andere funktioniert, was dieser Schlüssel signiert hat. Abhängig von Ihrem Paranoia-Level möchten Sie möglicherweise bei Bedarf einen Schlüssel hinzufügen und ihn aus Ihrer Liste der vertrauenswürdigen Schlüssel entfernen, wenn Sie die Installation des Pakets abgeschlossen haben. Natürlich verursachen häufige Updates mehr Arbeit und Schritte zum Aktualisieren.
Und wenn Sie so paranoid sind, dass dieser Schlüssel etwas Bösartiges signiert, sollten Sie wahrscheinlich nicht absichtlich versuchen, irgendetwas aus diesem Repository zu installieren.