注意: これらの手順は、Tor のソースコードを検証するためのものです。 Tor Browser の署名 を確認するには、正しい手順に沿ってください.

デジタル署名とは、パッケージが開発者によって生成されたものであり、改ざんされていないことを保証するプロセスです。 以下では、なぜそれが重要なのか、またダウンロードしたTor ソースコードが私たちの作成したものであり、攻撃者によって改竄されていないことを確認する方法をご説明します。

私たちのダウンロードページにある各ファイルには、パッケージと同じ名前で拡張子がそれぞれ「.sha256sum」と「.sha256sum.asc 」の「checksum」と「sig」とラベル付けされた2つのファイルが付属しています。

.asc ファイルは、 (パッケージのチェックサムを含む) .sha 256 sumファイルが改竄されていないことを検証します。署名が検証されると (その方法については以下を参照) 、パッケージの整合性を次の方法で検証できます。

$ sha256sum -c *.sha256sum

これらのファイルを使用すると、ダウンロードしたファイルが意図したものであることを検証できます。 これはウェブブラウザーによって異なりますが、通常は「sig」と「checksum」のリンクを右クリックし、 「名前を付けてファイルを保存」 オプションを選択することで、このファイルをダウンロードできます。

例えば、tor-0.4.6.7.tar.gzにはtor-0.4.6.7.tar.gz.sha256sum.ascが付きます。 これらはファイル名の例であり、ダウンロードするファイル名と完全に一致するとは限りません。

ここでは、さまざまなオペレーティングシステムでダウンロードしたファイルのデジタル署名を検証する方法についてご説明します。 署名はパッケージに署名された時点で日付が付けられます。 したがって新しいファイルがアップロードされる度に、新しい署名が異なる日付で生成されます。 署名を確認していれば、報告された日付が異なることを心配する必要はありません。

GnuPG のインストール

署名を検証するには、まず GnuPG をインストールする必要があります。

Windowsユーザーの場合:

Windows を使用している場合、Gpg4win をダウンロードして実行してください。

署名を検証するためには、Windows のコマンドライン cmd.exe にいくつかのコマンドを入力する必要があります。

macOSユーザーの場合:

macOS を利用している場合、GPGTools をインストールすることができます。

署名を検証するには、ターミナル (「アプリケーション」の下) でいくつかのコマンドを入力する必要があります。

GNU/Linuxユーザーの場合:

GNU/Linux を使用してる場合、 おそらく既に GnuPG がインストールしてあるでしょう。ほとんどの GNU/Linux ディストリビューションにプレインストールされています。

署名を検証するには、ターミナルウィンドウでいくつかのコマンドを入力する必要があります。 これを行う方法は、ディストリビューションによって異なります。

Tor デベロッパーキーをフェッチ

以下のキーがtarballに署名することができます。誰がリリースするかによって異なるので、すべてを期待しないでください。

上記のリンクまたは次のリンクを使用してキーを取得できます。

$ gpg --auto-key-locate nodefault,wkd --locate-keys ahf@torproject.org
$ gpg --auto-key-locate nodefault,wkd --locate-keys dgoulet@torproject.org
$ gpg --auto-key-locate nodefault,wkd --locate-keys nickm@torproject.org

(nickmの場合)次のように表示されます。

gpg: key FE43009C4607B1FB: public key "Nick Mathewson <nickm@torproject.org>" imported
gpg: Total number processed: 1
gpg:               imported: 1
pub   rsa4096 2016-09-21 [C] [expires: 2025-10-04]
      2133BC600AB133E1D826D173FE43009C4607B1FB
uid           [ unknown] Nick Mathewson <nickm@torproject.org>
sub   rsa4096 2016-09-23 [S] [expires: 2025-10-04]
sub   rsa4096 2016-09-23 [E] [expires: 2025-10-04]

エラーメッセージが表示された場合、何か問題が発生したため、これが機能しなかった原因が分かるまで続行できません。 代わりに 回避策 (公開鍵を使用)セクションを使用してキーをインポートできる場合があります。

キーをインポートしたら、ファイルに保存できます (ここではフィンガープリントで識別します) 。

$ gpg --output ./tor.keyring --export 0x2133BC600AB133E1D826D173FE43009C4607B1FB

このコマンドを実行すると、鍵はパス ./tor.keyring にあるファイル、つまり現在のディレクトリーに保存されます。 このコマンドを実行した後、./tor.keyringが存在しない場合、何か問題が発生したため、これが機能しなかった原因が分かるまで続行できません。

署名を検証する

ダウンロードしたパッケージの署名を検証するには、対応する .sha256sum.asc 署名ファイルと .sha256sum ファイルそのものをダウンロードし、GnuPG にダウンロードしたファイルの検証を依頼するコマンドで検証する必要があります。

以下の例では、これら2つのファイルを 「Downloads」 フォルダーにダウンロードしたものとします。 これらのコマンドはファイル名の例であり、あなたのファイル名は異なる可能性があることにご注意ください。あなたは9.0以外のバージョンをダウンロードし、英語 (en-US) ではない言語を選択していない可能性があります。

Windowsユーザーの場合:

gpgv --keyring .\tor.keyring Downloads\tor-0.4.6.10.tar.gz.sha256sum.asc Downloads\tor-0.4.6.10.tar.gz.sha256sum

macOSユーザーの場合:

gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum

BSD/Linux ユーザーの場合:

gpgv --keyring ./tor.keyring ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum.asc ~/Downloads/tor-0.4.6.10.tar.gz.sha256sum

コマンドの結果は次のようになるはずです(どのキーが署名したかによって変化します)。

gpgv: Signature made Mon 16 Aug 2021 04:44:27 PM -03
gpgv:                using RSA key 7A02B3521DC75C542BA015456AFEE6D49E92B601
gpgv: Good signature from "Nick Mathewson <nickm@torproject.org>"

「No such file or directory」を含むエラーメッセージが表示された場合は、前の手順のいずれかで何か問題が発生したか、またはこれらのコマンドがファイル名の例を使用していることを忘れていて、あなたのコマンドが少し異なる可能性があります。

GnuPGの詳細 もご参考にしてみてください。

チェックサムを検証する

チェックサムの署名を検証したので、パッケージの整合性を検証する必要があります。

Windowsユーザーの場合:

certUtil -hashfile tor-0.4.6.10.tar.gz.sha256sum SHA256

macOSユーザーの場合:

shasum -a 256 tor-0.4.6.10.tar.gz.sha256sum

BSD/Linux ユーザーの場合:

sha256sum -c tor-0.4.6.10.tar.gz.sha256sum