ビットコインの新しいテクノロジーが更新されたときにクライアントを確認するにはどうすればよいですか? ビットコインが新しいテクノロジーで更新されたときに、クライアントを確認する方法がわからない人も多いでしょう。この記事があなたのお役に立てれば幸いです。 。
インストールするビットコイン クライアントが安全であることを確認するには、次の 3 つの重要な手順があります。
OpenPGP キーを確認します。
署名を検証します。
文書自体を検証します。
たとえば、私は ppc64le Linux の Bitcoin Knots v0.19.0.1.knots20200104 クライアントで自分の署名を検証しますが、他の人の署名や他のファイルを検証するには、コマンド ラインを Use that に変更する必要があることに注意してください。指紋またはファイル名。
ステップ 0: 暗号化ソフトウェア GNU Privacy Guard (GPG) をインストールする
始める前に、ファイルの暗号化の検証に必要な GNU Privacy Guard (GPG) ツールがインストールされていることを確認する必要があります。
通常、オペレーティング システム ベンダーを通じてインストールされる Linux ベースのシステムを実行している場合 (最近では、これがデフォルトでインストールされることが多い)、gpg –version を実行することでこれを確認できます。そうでない場合は、次のコマンドのいずれかを使用してインストールしてみてください (失敗した場合は、次のコマンドに進みます)。
apt-get インストール gnupg
dnf インストール gnupg2
yum インストール gnupg2
emerge app-crypt/gnupg
パックマン -S gnupg
apk 追加 gnupg
残念ながら Windows または macOS オペレーティング システムを使用している場合は、公式 Web サイトから GnuPG をダウンロードできますが、そのようなダウンロードを検証する安全な方法を私は知りません。もちろん、署名は提供されます。しかしここで問題が発生します。正規のコピーをインストールするまで、これらの署名を検証できないのです。
ステップ 1: OpenPGP キーを確認する
このステップは、おそらく検証プロセスの中で最も難しい部分です。実際に使用しているキーが、信頼できる人によって発行された正しいものであることを確認する必要があります。注意しないと、偽の「Luke Dashjr」キーを入手してしまう可能性があります。
各 OpenPGP キーには「フィンガープリント」があり、これは 40 個の 16 進文字 (数字 0 ~ 9 および aF) であり、読みやすくするためにスペースが含まれる場合もあります。使用するキーのフィンガープリントが信頼できる署名者のフィンガープリントと一致することを確認できれば、正しいキーを持っていることがわかります。
鍵または指紋を取得する
キーを確認する最も安全な方法は、直接会ってキーの「指紋」を確認することです。自分の鍵の指紋を覚えている人はほとんどいないため、自分のラップトップや携帯電話で指紋を調べなければならない場合があります。また、時折(通常は会議で)「鍵の署名者」、つまり会議に参加している他の人々のグループが存在することもあります。指紋の場合、各参加者は自分の指紋を読み上げてもらうか、全員が見たり聞いたりしたものが正しいか手動で確認します。このような会議に参加する場合、これは一度に多くのキーを確認する良い方法です。
興味がない場合、または直接会う機会がない場合は、複数のソースからキーを検証するのが理想的です。場合によっては、カンファレンスで、スライドにキーの指紋が表示されるプレゼンテーション ビデオが投稿されることがあります。もちろん、「ディープフェイク」などの新技術の存在により、動画内のスライドは簡単に改ざんされてしまう可能性があることに注意してください。
開発者は通常、自分のキーまたはフィンガープリントを Web サイトで公開しますが、場合によっては他の方法でも公開します (たとえば、私のキーまたはフィンガープリントは私の個人 Web サイト、bitcoinknots.org、bitcoin.org、GitHub にあります)。
信頼できるソフトウェアのコピーをインストールしている場合、更新の検証に必要なキーが含まれている場合があります (現在、Bitcoin Core にはソース コードのみが含まれています)。
キーファイルのフィンガープリントを確認する
キー ファイルのフィンガープリントを表示するには、次のコマンドを使用できます。
gpg –import-options show-only –import –with-fingerprint luke-jr.asc
これにより、キー ファイルに関する多くの情報が出力され、関連情報が先頭に表示されます。
pub rsa8192 2012-03-23 [SC] [有効期限: 2020-06-09]
E463 A93F 5F31 17EE DE6C 7316 BD02 9424 21F4 889F
この例では、E463 A93F 5F31 17EE DE6C 7316 BD02 9424 21F4 889F が私のキーの指紋です。
注: GPG でキーの有効期限が切れていると言われても、おそらく問題はありません。ステップ 2 では、同じキーの最新バージョンに更新します。これにより、通常は有効期限が延長されます。
検証済みのキーをインポートする
キーを検証する方法に関係なく、将来の更新で同じキーが使用されたことを検証できるように、使用したキーを必ず覚えておく必要があります。キーの検証ステップ (安全ではありません) をスキップしたとしても、少なくともこれにより、更新の署名者が同じであることが保証されます。
正しいキーを持っていることが確実な場合は、次のようにインポートできます (luke-jr.asc を、目的のキーを含むファイルの名前に置き換えます)。
gpg –import < luke-jr.asc
または、指紋しかない場合は、次のようにします (使用するキーの指紋を入力してください):
gpg –keyserver hkp://keyserver.ubuntu.com –recv-key E463A93F5F3117EEDE6C7316BD02942421F4889F
ステップ 2: 署名を検証する
検証にどのキーを使用するかがわかったので、次のステップは署名が有効であることを確認することです。
この手順に進む前に、署名者キーのコピーが最新であることを確認する必要があります。これを行わないと、キーの有効期限が切れているというメッセージが表示される場合があります。 (目的のフィンガープリントを使用して) を実行します。
gpg –keyserver hkp://keyserver.ubuntu.com –refresh-key E463A93F5F3117EEDE6C7316BD02942421F4889F
次に、(チェックしているプログラム ファイルに加えて) ファイル フィンガープリントのリストを含む ".assert" ファイルと、そのリストの署名を含む ".assert.sig" ファイルの 2 つのファイルが必要になります。これは、私たちが行っているのはプログラム ファイル自体に署名するのではなく、すべてのファイルのフィンガープリントを採取してそのリストに署名することであるためです。したがって、両方のファイルが必要です。
Bitcoin Core の「assert」ファイル ペアは、https://github.com/Bitcoin-Core/gitian.sigs/find/master に掲載されています。
Bitcoin Knots の「assert」ファイル ペアはここに掲載されています: https://github.com/bitconinkots/gitian.sigs/find/Knots
署名者ごとに個別のファイル ペアがあることに注意してください。複数のユーザーがファイルに署名したかどうかを確認する場合 (そうする必要があります)、各ファイルのペアを確認する必要があります。さらに、確認したいファイルのバージョンを取得していることを確認する必要があります。
リスト内で必要なファイルを見つけたら、リンクをクリックしてブラウザでファイルを開き、「Raw」または「Download」ボタンを右クリックして「名前を付けてリンクを保存」を選択します。
これら 2 つの「assert」ファイルを取得したら、実行して署名を確認できます (ファイル名を特定の .assert.sig に調整します)。
gpg –verify bitcoin-core-linux-0.19-build.assert.sig
このステップが成功すると、次の結果が得られます。
GPG: 署名は 2020 年 1 月 19 日日曜日 03:47:15 AM UTC に作成されました
gpg: RSA キー E463A93F5F3117EEDE6C7316BD02942421F4889F を使用
GPG: 「Luke Dashjr」からの良い署名 [究極]
キーのフィンガープリントが太字で示されていることに注意してください。フィンガープリントはステップ 1 で確認したキーと一致する必要があります。一致しない場合は、他の誰かによって署名されている可能性があります。 「適切な署名」に関する部分も重要ですが、名前と電子メール アドレスは重要ではありません。指紋が間違っている場合、どちらも偽造される可能性があります。
すべてがうまくいったと仮定すると、「.assert」ファイルが前記キーのコントローラによって保証されていることがわかり、実際のプログラム ファイルがその「.assert」ファイルにリストされているものであることの確認に進むことができます。
ステップ 3: ファイル自体を確認する
プログラム ファイルを認証するには、まず暗号的にハッシュする必要があります (基本的にはフィンガープリントを抽出します)。
これは簡単なコマンドで実行できます (検証している実際のファイル名を置き換えるよう注意してください)。
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
これにより、次のようなものが出力されます。
d370692590c4546ac0de250da91c6c288d9ee5252f1a4b857a5b80c4e3d81149 bitcoin-0.19.0.1.knots20200104-powerpc64le-linux-gnu.tar.gz
これは、ファイルの内容のフィンガープリントと、その後に指定されたファイル名が続きます。
ここで、任意のプレーン テキスト エディタ/ビューアで「.assert」ファイルを開き、フィンガープリントを探します。これは上部の「out_manifest」セクションにあるはずです。「in_manifest」または「base_manifests」に到達した場合は、行き過ぎています。
「.assert」ファイル内でそれが見つかった場合は、所有しているファイルが署名者が保証したファイルと同じであることが確認されたことになります (「.assert」ファイル内のフィンガープリントのファイル名の右側にそれが表示されます) 、あなたと同じかもしれません)。
「.assert」ファイルにそれがない場合は、間違った「.assert」ファイルを使用しているか、ファイルが不一致であることを意味する可能性があります (この場合、期待されるファイル名の横に別のファイル名が表示されます)指紋)。ファイルがリストされていてもフィンガープリントが異なる場合は、ファイルを開かないで保存し (コピーの提供をお願いする場合があります)、影響を受けるプロジェクトのセキュリティ チームに連絡してください。