Tor Browser の署名を検証する方法
デジタル署名とは、パッケージが開発者によって作成され、改ざんされていないことを保証する仕組みです。 以下では、これが重要な理由と、ダウンロードした Tor Browser が私たちが作成したものであり、攻撃者によって改ざんされていないことを確認する方法についてご説明します。
ダウンロードページの各ファイルには、パッケージと同じ名前に拡張子「.asc」を付けた「署名」というラベルのファイルが添付されています。これらの .asc ファイルは OpenPGP 署名です。 これにより、ダウンロードしたファイルが、意図したものと正確に一致するか確認することができます。 ウェブブラウザーによって操作は多少異なりますが、通常は「署名」リンクを右クリックし、「名前を付けてファイルを保存」オプションを選択することで、このファイルをダウンロードできます。
例えば、tor-browser-windows-x86_64-portable-13.0.1.exe には tor-browser-windows-x86_64-portable-13.0.1.exe.asc が付属しています。 これらはファイル名の例であり、ダウンロードするファイル名と完全に一致するとは限りません。
署名の日付は、パッケージが署名された時点のものとなります。 そのため、新しいファイルがアップロードされるたびに、異なる日付の新しい署名が生成されます。 一度署名を検証しておけば、表示される日付が異なっていても心配する必要はありません。
GnuPG のインストール
署名を検証するには、まず GnuPG をインストールする必要があります。 Windows をご利用の場合、Gpg4win をダウンロードし、インストーラーを実行してください。 署名を検証するためには、Windows のコマンドライン cmd.exe にいくつかのコマンドを入力する必要があります。
Tor Developers キーの取得
The Tor Browser team は Tor Browser リリースに署名をしています。 Tor Browser Developers の署名鍵 (0xEF6E286DDA85EA2A4BA7DE684E2C6E8793298290) をインポートします:
gpg --auto-key-locate nodefault,wkd --locate-keys torbrowser@torproject.org
以下のように表示されるはずです:
gpg: key 4E2C6E8793298290: public key "Tor Browser Developers (signing key) <torbrowser@torproject.org>" imported
gpg: Total number processed: 1
gpg: imported: 1
EF6E286DDA85EA2A4BA7DE684E2C6E8793298290
uid [ unknown] Tor Browser Developers (signing key) <torbrowser@torproject.org>
注意: 出力は上記と多少異なる (有効期限など) かもしれませんが、鍵は正しくインポートされているはずです。
エラーメッセージが表示された場合は、何らかの問題が発生しており、その原因がわかるまで続行できません。代わりに回避策 (公開鍵を使用) のセクションを使用して鍵をインポートできる場合があります。
鍵をインポートしたら、ファイルに保存できます (ここではフィンガープリントで識別します) 。
gpg --output ./tor.keyring --export 0xEF6E286DDA85EA2A4BA7DE684E2C6E8793298290
このコマンドを実行すると、鍵は ./tor.keyring というパス、つまり現在のディレクトリーにファイルとして保存されます。 このコマンドを実行した後、./tor.keyring が存在しない場合、何か問題が発生したため、原因を特定するまで作業を続行できません。
署名の検証
ダウンロードしたパッケージの署名を検証するには、インストーラーファイルそのものに加えて、対応する「.asc」署名ファイルもダウンロードし、ダウンロードしたファイルの検証を GnuPG に求めるコマンドを使って検証する必要があります。
以下の例では、これら 2 つのファイルを「Downloads」フォルダーにダウンロードしたものとします。 これらのコマンドで使われているファイル名はあくまで一例であり、実際のファイル名は異なる点にご注意ください。例示されているファイル名を、実際にダウンロードしたファイルの正確な名前に置き換える必要があります。
Windows ユーザーの場合 (32 ビットパッケージをご利用の場合は、x86_64 を i686 に変更します):
gpgv --keyring .\tor.keyring Downloads\tor-browser-windows-x86_64-portable-13.0.1.exe.asc Downloads\tor-browser-windows-x86_64-portable-13.0.1.exe
コマンドの結果は以下のようになります:
gpgv: Good signature from "Tor Browser Developers (signing key) <torbrowser@torproject.org>"
「No such file or directory」を含むエラーメッセージが表示された場合は、前の手順のいずれかで何か問題が発生したか、またはこれらのコマンドが例示のファイル名を使用しており、実際のファイル名が少し異なる可能性があります。
PGP 鍵の更新
以下のコマンドを実行して、キーサーバーからローカルの keyring 内の Tor Browser Developers 署名鍵を更新します。これにより、新しいサブキーも取得されます。
gpg --refresh-keys EF6E286DDA85EA2A4BA7DE684E2C6E8793298290
回避策 (公開鍵を使用)
解決できないエラーが発生した場合は、代わりにこちらの公開鍵をダウンロードして使用してください。または、以下のコマンドを使用することもできます:
curl -s https://openpgpkey.torproject.org/.well-known/openpgpkey/torproject.org/hu/kounek7zrdx745qydx6p59t9mqjpuhdf |gpg --import -
Tor Browser Developers キーは keys.openpgp.org でも入手でき、https://keys.openpgp.org/vks/v1/by-fingerprint/EF6E286DDA85EA2A4BA7DE684E2C6E8793298290 からダウンロードできます。 GnuPG の詳細につきましては、こちらをご覧ください。
ダウンロードページの各ファイルには、パッケージと同じ名前に拡張子「.asc」を付けた「署名」というラベルのファイルが添付されています。これらの .asc ファイルは OpenPGP 署名です。 これにより、ダウンロードしたファイルが、意図したものと正確に一致するか確認することができます。 ウェブブラウザーによって操作は多少異なりますが、通常は「署名」リンクを右クリックし、「名前を付けてファイルを保存」オプションを選択することで、このファイルをダウンロードできます。
例えば、tor-browser-macos-14.5.6.dmg には tor-browser-macos-14.5.6.dmg.asc が付属しています。 これらはファイル名の例であり、ダウンロードするファイル名と完全に一致するとは限りません。
署名の日付は、パッケージが署名された時点のものとなります。 そのため、新しいファイルがアップロードされるたびに、異なる日付の新しい署名が生成されます。 一度署名を検証しておけば、表示される日付が異なっていても心配する必要はありません。
GnuPG のインストール
署名を検証するには、まず GnuPG をインストールする必要があります。 macOS をご利用の場合は、GPGTools をインストールしてください。
署名を検証するには、「アプリケーション」内のターミナルでいくつかのコマンドを入力する必要があります。
Tor Developers キーの取得
The Tor Browser team は Tor Browser リリースに署名をしています。 Tor Browser Developers の署名鍵 (0xEF6E286DDA85EA2A4BA7DE684E2C6E8793298290) をインポートします:
gpg --auto-key-locate nodefault,wkd --locate-keys torbrowser@torproject.org
以下のように表示されるはずです:
gpg: key 4E2C6E8793298290: public key "Tor Browser Developers (signing key) <torbrowser@torproject.org>" imported
gpg: Total number processed: 1
gpg: imported: 1
EF6E286DDA85EA2A4BA7DE684E2C6E8793298290
uid [ unknown] Tor Browser Developers (signing key) <torbrowser@torproject.org>
注意: 出力は上記と多少異なる (有効期限など) かもしれませんが、鍵は正しくインポートされているはずです。
エラーメッセージが表示された場合は、何らかの問題が発生しており、その原因がわかるまで続行できません。代わりに回避策 (公開鍵を使用) のセクションを使用して鍵をインポートできる場合があります。
鍵をインポートしたら、ファイルに保存できます (ここではフィンガープリントで識別します) 。
gpg --output ./tor.keyring --export 0xEF6E286DDA85EA2A4BA7DE684E2C6E8793298290
このコマンドを実行すると、鍵は ./tor.keyring というパス、つまり現在のディレクトリーにファイルとして保存されます。 このコマンドを実行した後、./tor.keyring が存在しない場合、何か問題が発生したため、原因を特定するまで作業を続行できません。
署名の検証
ダウンロードしたパッケージの署名を検証するには、インストーラーファイルそのものに加えて、対応する「.asc」署名ファイルもダウンロードし、ダウンロードしたファイルの検証を GnuPG に求めるコマンドを使って検証する必要があります。
以下の例では、これら 2 つのファイルを「Downloads」フォルダーにダウンロードしたものとします。 これらのコマンドで使われているファイル名はあくまで一例であり、実際のファイル名は異なる点にご注意ください。例示されているファイル名を、実際にダウンロードしたファイルの正確な名前に置き換える必要があります。
macOS ユーザーの場合:
gpgv --keyring ./tor.keyring ~/Downloads/tor-browser-macos-13.0.1.dmg.asc ~/Downloads/tor-browser-macos-13.0.1.dmg
コマンドの結果は以下のようになります:
gpgv: Good signature from "Tor Browser Developers (signing key) <torbrowser@torproject.org>"
「No such file or directory」を含むエラーメッセージが表示された場合は、前の手順のいずれかで何か問題が発生したか、またはこれらのコマンドが例示のファイル名を使用しており、実際のファイル名が少し異なる可能性があります。
回避策 (公開鍵を使用)
解決できないエラーが発生した場合は、代わりにこちらの公開鍵をダウンロードして使用してください。または、以下のコマンドを使用することもできます:
curl -s https://openpgpkey.torproject.org/.well-known/openpgpkey/torproject.org/hu/kounek7zrdx745qydx6p59t9mqjpuhdf |gpg --import -
Tor Browser Developers キーは keys.openpgp.org でも入手でき、https://keys.openpgp.org/vks/v1/by-fingerprint/EF6E286DDA85EA2A4BA7DE684E2C6E8793298290 からダウンロードできます。 以下のコマンドを実行して鍵を取得することもできます:
gpg --keyserver keys.openpgp.org --search-keys EF6E286DDA85EA2A4BA7DE684E2C6E8793298290
GnuPG の詳細につきましては、こちらをご覧ください。
ダウンロードページの各ファイルには、パッケージと同じ名前に拡張子「.asc」を付けた「署名」というラベルのファイルが添付されています。これらの .asc ファイルは OpenPGP 署名です。 これにより、ダウンロードしたファイルが、意図したものと正確に一致するか確認することができます。 ウェブブラウザーによって操作は多少異なりますが、通常は「署名」リンクを右クリックし、「名前を付けてファイルを保存」オプションを選択することで、このファイルをダウンロードできます。
例えば、tor-browser-linux-x86_64-14.5.6.tar.xz には tor-browser-linux-x86_64-14.5.6.tar.xz.asc が付属しています。 これらはファイル名の例であり、ダウンロードするファイル名と完全に一致するとは限りません。
署名の日付は、パッケージが署名された時点のものとなります。 そのため、新しいファイルがアップロードされるたびに、異なる日付の新しい署名が生成されます。 一度署名を検証しておけば、表示される日付が異なっていても心配する必要はありません。
GnuPG のインストール
GNU/Linux をご利用の場合、ほとんどの GNU/Linux ディストリビューションには GnuPG がプリインストールされているため、システムにすでに GnuPG がインストールされている可能性が高いです。
署名を検証するには、ターミナルウィンドウでいくつかのコマンドを入力する必要があります。この方法はディストリビューションによって異なります。
Tor Developers キーの取得
The Tor Browser team は Tor Browser リリースに署名をしています。 Tor Browser Developers の署名鍵 (0xEF6E286DDA85EA2A4BA7DE684E2C6E8793298290) をインポートします:
gpg --auto-key-locate nodefault,wkd --locate-keys torbrowser@torproject.org
以下のように表示されるはずです:
gpg: key 4E2C6E8793298290: public key "Tor Browser Developers (signing key) <torbrowser@torproject.org>" imported
gpg: Total number processed: 1
gpg: imported: 1
EF6E286DDA85EA2A4BA7DE684E2C6E8793298290
uid [ unknown] Tor Browser Developers (signing key) <torbrowser@torproject.org>
注意: 出力は上記と多少異なる (有効期限など) かもしれませんが、鍵は正しくインポートされているはずです。
エラーメッセージが表示された場合は、何らかの問題が発生しており、その原因がわかるまで続行できません。代わりに回避策 (公開鍵を使用) のセクションを使用して鍵をインポートできる場合があります。
鍵をインポートしたら、ファイルに保存できます (ここではフィンガープリントで識別します) 。
gpg --output ./tor.keyring --export 0xEF6E286DDA85EA2A4BA7DE684E2C6E8793298290
このコマンドを実行すると、鍵は ./tor.keyring というパス、つまり現在のディレクトリーにファイルとして保存されます。 このコマンドを実行した後、./tor.keyring が存在しない場合、何か問題が発生したため、原因を特定するまで作業を続行できません。
署名の検証
ダウンロードしたパッケージの署名を検証するには、インストーラーファイルそのものに加えて、対応する「.asc」署名ファイルもダウンロードし、ダウンロードしたファイルの検証を GnuPG に求めるコマンドを使って検証する必要があります。
以下の例では、これら 2 つのファイルを「Downloads」フォルダーにダウンロードしたものとします。 これらのコマンドで使われているファイル名はあくまで一例であり、実際のファイル名は異なる点にご注意ください。例示されているファイル名を、実際にダウンロードしたファイルの正確な名前に置き換える必要があります。
GNU/Linux ユーザーの場合 (32 ビットパッケージをご利用の場合は、x86_64 を i686 に変更します):
gpgv --keyring ./tor.keyring ~/Downloads/tor-browser-linux-x86_64-13.0.1.tar.xz.asc ~/Downloads/tor-browser-linux-x86_64-13.0.1.tar.xz
コマンドの結果は以下のようになります:
gpgv: Good signature from "Tor Browser Developers (signing key) <torbrowser@torproject.org>"
「No such file or directory」を含むエラーメッセージが表示された場合は、前の手順のいずれかで何か問題が発生したか、またはこれらのコマンドが例示のファイル名を使用しており、実際のファイル名が少し異なる可能性があります。
PGP 鍵の更新
以下のコマンドを実行して、キーサーバーからローカルの keyring 内の Tor Browser Developers 署名鍵を更新します。これにより、新しいサブキーも取得されます。
gpg --refresh-keys EF6E286DDA85EA2A4BA7DE684E2C6E8793298290
回避策 (公開鍵を使用)
解決できないエラーが発生した場合は、代わりにこちらの公開鍵をダウンロードして使用してください。または、以下のコマンドを使用することもできます:
curl -s https://openpgpkey.torproject.org/.well-known/openpgpkey/torproject.org/hu/kounek7zrdx745qydx6p59t9mqjpuhdf |gpg --import -
Tor Browser Developers キーは keys.openpgp.org でも入手でき、https://keys.openpgp.org/vks/v1/by-fingerprint/EF6E286DDA85EA2A4BA7DE684E2C6E8793298290 からダウンロードできます。 以下のコマンドを実行して鍵を取得することもできます:
gpg --keyserver keys.openpgp.org --search-keys EF6E286DDA85EA2A4BA7DE684E2C6E8793298290
GnuPG の詳細につきましては、こちらをご覧ください。