Wie kann man den Client überprüfen, wenn die neue Technologie aktualisiert wird? Viele Leute wissen nicht, wie man den Client überprüft. Ich hoffe, dieser Artikel kann für Sie hilfreich sein. .
Es gibt drei wichtige Schritte, um sicherzustellen, dass der von Ihnen installierte Bitcoin-Client sicher ist:
OpenPGP-Schlüssel überprüfen;
Signatur überprüfen;
Überprüfen Sie das Dokument selbst;
Bitte beachten Sie, dass ich beispielsweise meine eigene Signatur auf dem Bitcoin Knots v0.19.0.1.knots20200104-Client für ppc64le Linux verifiziere, während Sie zum Verifizieren der Signatur einer anderen Person oder anderer Dateien die Befehlszeile in „Diese verwenden“ ändern müssen Fingerabdruck oder Dateiname.
Schritt 0: Verschlüsselungssoftware GNU Privacy Guard (GPG) installieren
Bevor Sie beginnen, müssen Sie sicherstellen, dass das Tool GNU Privacy Guard (GPG) installiert ist, das für die Verschlüsselungsüberprüfung von Dateien erforderlich ist.
Wenn Sie ein Linux-basiertes System verwenden, das normalerweise über den Betriebssystemhersteller installiert wird (in letzter Zeit wird dies normalerweise standardmäßig installiert), können Sie dies überprüfen, indem Sie gpg –version ausführen. Wenn nicht, versuchen Sie es mit einem der folgenden Befehle zu installieren (wenn das fehlschlägt, fahren Sie mit dem nächsten fort):
apt-get install gnupg
dnf gnupg2 installieren
Lecker, installiere gnupg2
emerge app-crypt/gnupg
pacman -S gnupg
apk gnupg hinzufügen
Wenn Sie das Pech haben, ein Windows- oder macOS-Betriebssystem zu verwenden, können Sie GnuPG von der offiziellen Website herunterladen. Mir ist jedoch keine sichere Möglichkeit bekannt, einen solchen Download zu überprüfen, und natürlich wird eine Signatur bereitgestellt. Aber hier liegt das Problem: Sie können diese Signaturen erst überprüfen, wenn Sie eine gute Kopie installiert haben!
Schritt 1: Überprüfen Sie den OpenPGP-Schlüssel
Dieser Schritt ist wohl der schwierigste Teil des Verifizierungsprozesses: Sie müssen bestätigen, dass der Schlüssel, den Sie tatsächlich verwenden, der richtige ist, der von einer Person Ihres Vertrauens ausgestellt wurde. Wenn Sie nicht aufpassen, könnten Sie einen gefälschten „Luke Dashjr“-Schlüssel bekommen!
Jeder OpenPGP-Schlüssel verfügt über einen „Fingerabdruck“, der aus 40 hexadezimalen Zeichen besteht (die Ziffern 0-9 und aF), wobei zur leichteren Lesbarkeit manchmal Leerzeichen angezeigt werden. Sie wissen, dass Sie über den richtigen Schlüssel verfügen, wenn Sie sicherstellen, dass der von Ihnen verwendete Schlüsselfingerabdruck mit dem Fingerabdruck eines vertrauenswürdigen Unterzeichners übereinstimmt.
Holen Sie sich einen Schlüssel oder einen Fingerabdruck
Der sicherste Weg, einen Schlüssel zu verifizieren, besteht darin, sich persönlich zu treffen und den „Fingerabdruck“ des Schlüssels zu bestätigen. Fast niemand erinnert sich an seinen Schlüssel-Fingerabdruck, daher müssen wir ihn möglicherweise auf unserem eigenen Laptop oder Telefon nachschlagen, und gelegentlich (normalerweise bei einer Konferenz) gibt es möglicherweise einen „Schlüsselunterzeichner“, eine Gruppe von Personen auf der Konferenz, die dies anderen bestätigen Bei der Messung der Fingerabdrücke ließ sich jeder Teilnehmer entweder seinen eigenen Fingerabdruck vorlesen oder bestätigte manuell, dass das, was jeder sah oder hörte, korrekt war. Wenn Sie jemals an einem solchen Meeting beteiligt sind, ist dies eine gute Möglichkeit, viele Schlüssel auf einmal zu überprüfen.
Wenn Sie kein Interesse haben oder keine Gelegenheit zu einem persönlichen Treffen haben, sollten Sie den Schlüssel idealerweise aus mehreren Quellen verifizieren. Gelegentlich werden auf Konferenzen Präsentationsvideos veröffentlicht, in denen der entscheidende Fingerabdruck in den Folien zu sehen ist. Aufgrund der Existenz neuer Technologien wie „Deep Fakes“ sollten Sie sich natürlich darüber im Klaren sein, dass die Folien im Video leicht manipuliert werden können.
Entwickler veröffentlichen ihre Schlüssel oder Fingerabdrücke normalerweise auf ihrer Website und möglicherweise auf andere Weise (z. B. befindet sich mein Schlüssel oder Fingerabdruck auf meiner persönlichen Website, bitcoinknots.org, bitcoin.org und GitHub).
Wenn Sie eine Kopie der Software installiert haben, der Sie vertrauen, enthält diese manchmal die Schlüssel, die zur Überprüfung von Updates erforderlich sind (derzeit enthält Bitcoin Core nur den Quellcode).
Überprüfen Sie den Fingerabdruck der Schlüsseldatei
Um den Fingerabdruck einer Schlüsseldatei anzuzeigen, können Sie den folgenden Befehl verwenden:
gpg –import-options show-only –import –with-fingerprint luke-jr.asc
Dadurch werden viele Informationen über die Schlüsseldatei ausgegeben, wobei die relevanten Informationen oben stehen:
pub rsa8192 23.03.2012 [SC] [läuft ab: 09.06.2020]
E463 A93F 5F31 17EE DE6C 7316 BD02 9424 21F4 889F
In diesem Beispiel ist E463 A93F 5F31 17EE DE6C 7316 BD02 9424 21F4 889F mein Schlüsselfingerabdruck.
HINWEIS: Wenn GPG angibt, dass der Schlüssel abgelaufen ist, ist das wahrscheinlich in Ordnung. In Schritt 2 aktualisieren Sie auf die neueste Version desselben Schlüssels, wodurch sich normalerweise das Ablaufdatum verlängert.
Verifizierte Schlüssel importieren
Unabhängig davon, wie Sie den Schlüssel überprüfen, sollten Sie sich unbedingt merken, welchen Schlüssel Sie verwendet haben, damit zukünftige Updates überprüfen können, ob derselbe Schlüssel verwendet wurde. Selbst wenn Sie den Schritt zur Schlüsselüberprüfung (der unsicher ist) überspringen, stellen Sie zumindest sicher, dass Ihre Updates denselben Unterzeichner haben.
Wenn Sie sicher sind, dass Sie den richtigen Schlüssel haben, können Sie ihn wie folgt importieren (ersetzen Sie luke-jr.asc durch den Namen der Datei, die den gewünschten Schlüssel enthält):
gpg –import < luke-jr.asc
Oder wenn Sie nur Fingerabdrücke haben, gehen Sie wie folgt vor (geben Sie den Fingerabdruck des Schlüssels ein, den Sie verwenden möchten!):
gpg –keyserver hkp://keyserver.ubuntu.com –recv-key E463A93F5F3117EEDE6C7316BD02942421F4889F
Schritt 2: Signatur überprüfen
Nachdem Sie nun wissen, welchen Schlüssel Sie zur Verifizierung verwenden müssen, besteht der nächste Schritt darin, die Gültigkeit der Signatur zu überprüfen.
Bevor Sie mit diesem Schritt fortfahren, müssen Sie sicherstellen, dass Ihre Kopie des Unterzeichnerschlüssels aktuell ist. Wenn Sie dies nicht tun, erhalten Sie möglicherweise eine Meldung, dass der Schlüssel abgelaufen ist. Führen Sie Folgendes aus (mit Ihrem gewünschten Fingerabdruck):
gpg –keyserver hkp://keyserver.ubuntu.com –refresh-key E463A93F5F3117EEDE6C7316BD02942421F4889F
Als nächstes benötigen Sie (zusätzlich zu der Programmdatei, die Sie überprüfen) zwei Dateien: die Datei „.assert“, die die Liste der Datei-Fingerabdrücke enthält, und die Datei „.assert.sig“, die die Signaturen dieser Liste enthält. Dies liegt daran, dass wir nicht die Programmdateien selbst signieren, sondern alle Dateien mit einem Fingerabdruck versehen und dann diese Liste signieren. Daher benötigen Sie beide Dateien.
Das „assert“-Dateipaar von Bitcoin Core wird hier veröffentlicht: https://github.com/Bitcoin-Core/gitian.sigs/find/master;
Die „Assert“-Dateipaare für Bitcoin Knots werden hier veröffentlicht: https://github.com/bitconinkots/gitian.sigs/find/Knots
Beachten Sie, dass es für jeden Unterzeichner ein separates Dateipaar gibt. Wenn Sie überprüfen möchten, ob Ihre Datei von mehreren Personen signiert wurde (was Sie tun sollten), müssen Sie jedes Dateipaar überprüfen. Darüber hinaus müssen Sie sicherstellen, dass Sie die Version der Datei erhalten, die Sie überprüfen möchten!
Sobald Sie die gewünschte Datei in der Liste gefunden haben, klicken Sie auf den Link, um die Datei in Ihrem Browser zu öffnen. Klicken Sie dann mit der rechten Maustaste auf die Schaltfläche „Raw“ oder „Download“ und wählen Sie „Link speichern unter“.
Sobald Sie diese beiden „assert“-Dateien haben, können Sie die Signatur überprüfen, indem Sie Folgendes ausführen (passen Sie den Dateinamen an die spezifische .assert.sig an).
gpg – überprüfen Sie bitcoin-core-linux-0.19-build.assert.sig
Wenn dieser Schritt erfolgreich ist, erhalten Sie das nächste Ergebnis:
gpg: Unterschrift gemacht am Sonntag, 19. Januar 2020, 03:47:15 Uhr UTC
gpg: Verwendung des RSA-Schlüssels E463A93F5F3117EEDE6C7316BD02942421F4889F
gpg: Gute Signatur von „Luke Dashjr“ [ultimativ]
Beachten Sie, dass der Fingerabdruck des Schlüssels fett angezeigt wird. Der Fingerabdruck muss mit dem Schlüssel übereinstimmen, den Sie in Schritt 1 überprüft haben, sonst könnte er von jemand anderem signiert werden! Der Teil über eine „gute Signatur“ ist ebenfalls wichtig, wohingegen der Name und die E-Mail-Adresse nicht wichtig sind. Beide könnten gefälscht sein, wenn der Fingerabdruck falsch ist.
Vorausgesetzt, dass alles gut gelaufen ist, wissen Sie nun, dass die Datei „.assert“ vom Controller dieses Schlüssels garantiert wird, und können damit fortfahren, zu überprüfen, ob Ihre tatsächliche Programmdatei diejenige ist, die in dieser Datei „.assert“ aufgeführt ist.
Schritt 3: Überprüfen Sie die Datei selbst
Um eine Programmdatei zu authentifizieren, muss sie zunächst kryptografisch gehasht werden (im Wesentlichen ihren Fingerabdruck extrahieren).
Dies geschieht mit einem einfachen Befehl (achten Sie darauf, den tatsächlichen Dateinamen zu ersetzen, den Sie validieren!):
Linux: sha256sum bitcoin-0.19.0.1.knots20200104-powerpc64le-linux-gnu.tar.gz
Windows: certUtil -hashfile bitcoin-0.19.0.1.knots20200104-win64.zip SHA256
macOS: shasum -a 256 bitcoin-0.19.0.1.knots20200104-osx-unsigned.dmg
Dies wird etwa Folgendes ausgeben:
d370692590c4546ac0de250da91c6c288d9ee5252f1a4b857a5b80c4e3d81149 bitcoin-0.19.0.1.knots20200104-powerpc64le-linux-gnu.tar.gz
Dies ist der Fingerabdruck des Dateiinhalts, gefolgt vom angegebenen Dateinamen.
Öffnen Sie nun die Datei „.assert“ in einem beliebigen Nur-Text-Editor/Viewer und suchen Sie nach dem Fingerabdruck. Es sollte sich oben im Abschnitt „out_manifest“ befinden. Wenn Sie „in_manifest“ oder „base_manifests“ erreichen, sind Sie zu weit gegangen.
Wenn Sie es in der Datei „.assert“ finden, haben Sie überprüft, dass es sich bei der Datei, die Sie haben, um dieselbe Datei handelt, für die der Unterzeichner bürgte (Sie sehen es in der Datei „.assert“ rechts neben dem Fingerabdruck seines Dateinamens). , was möglicherweise mit Ihrem identisch ist).
Und wenn es in der „.assert“-Datei fehlt, kann das bedeuten, dass Sie die falsche „.assert“-Datei verwenden oder dass Ihre Datei nicht übereinstimmt (in diesem Fall wird neben dem erwarteten Dateinamen ein anderer angezeigt). Fingerabdruck). Wenn eine Datei aufgeführt ist, aber einen anderen Fingerabdruck hat, öffnen Sie die Datei bitte nicht, sondern speichern Sie sie (wir bitten Sie möglicherweise um die Bereitstellung einer Kopie) und wenden Sie sich an das Sicherheitsteam des betroffenen Projekts.