Windowsソフトウェアのデジタル署名による真正性の確認方法

ソフトウェア署名の確認

インターネットからプログラムをダウンロードするたびに、その開発者が悪意のあるものでないと信頼しなければなりません。これを回避する方法はありません。しかし、通常は問題ではありません。特に、よく知られたソフトウェアや開発者の場合は特にそうです。

しかし、ソフトウェアをホストするウェブサイトはより脆弱です。攻撃者はウェブサイトのセキュリティを侵害し、自分の悪意のあるバージョンにプログラムを置き換えることができます。これらは元のものと全く同じように見え、機能しますが、バックドアが挿入されています。このバックドアを使って、攻撃者はあなたの日常的なコンピューティングのさまざまな部分を制御できます。あなたのコンピュータはボットネットに組み込まれるか、さらに悪いことに、ユーティリティはあなたがクレジット/デビットカードを使用するのを待ち、その資格情報を盗みます。オペレーティングシステム、暗号通貨ウォレット、またはそれに類似する重要なソフトウェアをダウンロードする際には特に注意が必要です。

デジタル署名が助けてくれる

ソフトウェア作成者は自分の製品に署名できます。攻撃者が彼らの秘密鍵を盗むことができない限り、この署名を偽造する方法は知られていません。何千人ものユーザーが悪意のあるプログラムをダウンロードしたケースは数多くあり、ほとんどすべてのケースで、デジタル署名を確認していれば無効であることに気づき、この状況を避けることができたでしょう。脆弱なウェブサイトでソフトウェアを置き換えるのは比較的簡単ですが、適切に保存され、インターネットアクセスから隔離された秘密鍵を盗むのは非常に難しいです。

デジタル署名についてもっと読むことができます。この記事では、ダウンロードを検証するためにWindowsユーティリティを使用することについて説明します。

Gpg4winを使用してデジタル署名を確認する方法

このページにアクセスしてGpg4winをダウンロードしてインストールします。賢い人は「でも、これが本物であることをどうやって知るの?」と自問するでしょう。そして、それは良い質問です。これが壊れてしまった場合、後のすべてのステップは無駄になります。

幸いなことに、開発者は彼のソフトウェアを証明書機関によって署名してもらうためにすべての手間をかけました。そして、彼は彼のプログラムを確認する手順を彼のウェブサイトで詳述しています。類似の暗号技術が有効性を確認するために使用されますが、全体の方法は異なります。デジタル証明書がこれに使用されます。

ファイルのチェックサムを確認する

ビットコインコアウォレットをダウンロードしたいとしましょう。x64 Windows実行可能ファイル(exe、zipではなく)をダウンロードします。その後、「リリース署名を確認」をクリックして「SHA256SUMS.asc」ファイルをダウンロードします。最初のステップは、セットアップファイルのハッシュを確認することです。ハッシュについてはここで詳しく読むことができます。

ダウンロードフォルダに移動し、Gpg4winがインストールされている状態で、ファイルを右クリックすると新しいコンテキストメニューが表示されます。ビットコインのセットアップファイル(ダウンロードしたexe)を右クリックし、「More GpgEX Options -> Create checksums」を選択します。以下の画像のように。

ソフトウェア署名の確認 右クリック チェックサム

生成された「sha256sum.txt」とダウンロードした「SHA256SUMS.asc」を開きます。SHA256チェックサムを比較します。完全に一致するはずです。

ソフトウェア署名の確認 SHA256チェックサムの比較

チェックサムをリストするファイルの署名を確認する

同じウェブサイトからセットアップファイルとチェックサムのリストをダウンロードしましたが、攻撃者がセットアップファイルを置き換えた場合、チェックサムのリストも簡単に置き換えることができます。しかし、彼ができないことは、署名を偽造することです。それは既知の(正当な)公開鍵によって検証できます。まず、この鍵をダウンロードする必要があります。

以下の画像が署名の見た目です。

ソフトウェア署名の確認 インライン署名の例

これはインライン署名(検証する同じファイルに含まれている)です。時には、分離されて別のファイルに含まれることもあります。このテキストファイルの1文字を変更すると、署名は無効になります。これは、開発者がこれらの正確な特定の内容を正しいチェックサムで承認し署名したことを知る方法です。

開発者の公開鍵をインポートする

ビットコインのダウンロードページの「ビットコインコアリリース署名鍵」の下に、ダウンロード可能な公開鍵があります。予防措置として、別のソースからダウンロードすることもできます。攻撃者が正当な鍵を彼自身のものに置き換えた場合、他の場所で投稿または議論されている正しい鍵(およびフィンガープリント)を見つける可能性が高いです。

「SHA256SUMS.asc」を右クリックし、「復号化と検証」を選択します。プログラムは、まだ公開鍵を持っていないことを知らせてくれます。「検索」をクリックします。

ソフトウェア署名の確認 公開鍵の検索

検索には時間がかかる場合があります。「Find」フィールドの文字列に注意してください。

ソフトウェア署名の確認 鍵のフィンガープリント

これをコピーしてGoogleに貼り付けて、この公開鍵フィンガープリントが正当なフォーラムスレッド/ウェブサイトで議論されているかどうかを確認できます。見つけた場所が多ければ多いほど、それが意図された所有者に属する可能性が高くなります。

鍵をクリックしてインポートします。次に表示されるプロンプトで「いいえ」をクリックできます(鍵を認証する手段を取る)が、今はどうするかわからない場合や、したくない場合はそのままで大丈夫です。

最後に、「監査ログを表示」をクリックします。

ソフトウェア署名の確認 監査ログを表示

次の画像でハイライトされたテキスト「良い署名」が表示されるはずです。

ソフトウェア署名の確認 良い署名

「SHA256SUMS.asc」の1文字を変更してみてください。次の画像に示されているものが表示されます。

ソフトウェア署名の確認 悪い署名

結論

少数の開発者は、彼らのソフトウェアが彼らから来ていることを確認する可能性を提供します。しかし、通常、機密データを扱うプログラムや非常に重要なプログラムは、このオプションを提供します。それを利用すれば、いつかトラブルを避けることができるかもしれません。