簽署數位簽章是用來確保套裝軟體是來自其開發者且沒有被竄改過的過程。 底下我們就來說明為什麼這個部份很重要,以及要如何驗證您所下載取得的洋蔥路由瀏覽器跟我們所提供的是完全一致,內容沒有被惡意人士篡改。

在我們的下載頁面裡,每個檔案都會伴隨著一個同名的「數位簽章」檔案,是以「.asc」結尾的,這些檔案即是OpenPGP的數位簽章檔。 這些數位簽章讓您可以去驗證下載好的檔案是否就是我們希望您取得的檔案。 隨著您使用的網頁瀏覽器不同會有所差異,但是在大多數的情況中,您可以直接右鍵點擊「數位簽章」的連結並點選「另存成檔案」來下載。

For example, tor-browser-windows-x86_64-portable-13.0.1.exe is accompanied by tor-browser-windows-x86_64-portable-13.0.1.exe.asc. 有些範例檔案的名稱不會跟您所下載的檔名完全相同。

我們將告訴你如何在各個不同作業系統上,驗證下載好檔案的數位簽章。 請注意數位簽章上壓印的日期就是該套裝軟體被簽署的時間。 因此每當檔案被更新的時候,就會產生一個壓有不同日期的新的數位簽章。 只要您有驗證過數位簽章,就不用擔心上述有可能改變的數位簽章日期。

安裝GnuPG

首先,開始驗證數位簽章前,您需要先安裝好 GnuPG。

Windows系統使用者:

如果您是使用Windows系統的話,請下載Gpg4win並且執行安裝程序。

您會需要在Windows的命令提示字元模式cmd.exe中,輸入幾道指令才能驗證數位簽章。

macOS 使用者:

若您是使用MacOS系統的話,您可以安裝GPGTools

您會需要在終端機模式(在「應用程式」裡)輸入幾道指令,才能夠進行數位簽章驗證。

GNU/Linux使用者:

若您是GNU/Linux系統的使用者的話,那您的系統中應該已經有安裝GnuPG程式了,這是在大多數GNU/Linux系統的封裝發行版中會預載的軟體。

您會需要在命令列模式中輸入幾道指令才能夠進行數位簽章的驗證,這個部份隨著您所使用的封裝發行版不同會有所差異。

取得洋蔥路由開發人員的金鑰

洋蔥路由瀏覽器團隊會針對所發佈的洋蔥路由瀏覽器簽署。 匯入洋蔥路由瀏覽器開發者的簽署金鑰(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
pub   rsa4096 2014-12-15 [C] [expires: 2025-07-21]
      EF6E286DDA85EA2A4BA7DE684E2C6E8793298290
uid           [ unknown] Tor Browser Developers (signing key) <torbrowser@torproject.org>
sub   rsa4096 2018-05-26 [S] [expires: 2020-12-19]

若您看見錯誤訊息,那就表示有地方出錯了,您必須要先釐清並解決問題才能繼續,您或許也可以利用其他方式(使用公開金鑰)來完成。

在匯入金鑰之後,您可以將它儲存成檔案(以金鑰指紋作為識別):

gpg --output ./tor.keyring --export 0xEF6E286DDA85EA2A4BA7DE684E2C6E8793298290

這道指令會把金鑰儲存成檔案並放置於./tor.keyring路徑中,即目前所在工作目錄。 如果執行此道指令後./tor.keyring仍然不存在,那就表示有地方出錯了,您必須要先釐清並解決該問題才能繼續。

驗證數位簽章

若要驗證您所下載的軟體套件的數位簽章,您還必須要下載相對應的「.asc」數位簽章檔案,並藉由指令操作GnuPG軟體來幫您執行驗證。

底下範例假設您將該二檔案存放於「下載」資料夾中。 Note that these commands use example file names and yours will be different: you will need to replace the example file names with exact names of the files you have downloaded.

對於 Windows 用戶 (變更 x86_64 到 i686 如果您有 32 位元軟體包):

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

macOS 使用者:

gpgv --keyring ./tor.keyring ~/Downloads/tor-browser-macos-13.0.1.dmg.asc ~/Downloads/tor-browser-macos-13.0.1.dmg

對於 GNU/Linux 用戶 (變更 x86_64 到 i686 如果您有 32 位元軟體包):

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 金鑰

執行以下的命令,可從金鑰伺服器上重新整理本地金鑰環中 Tor 瀏覽器開發者的簽名金鑰。同時將獲取新的子金鑰。

gpg --refresh-keys EF6E286DDA85EA2A4BA7DE684E2C6E8793298290

其他方式(使用公開金鑰)

如果您遭遇到無法解決的問題的話,也可以直接下載使用這把公開金鑰,或者也可以執行下列指令:

curl -s https://openpgpkey.torproject.org/.well-known/openpgpkey/torproject.org/hu/kounek7zrdx745qydx6p59t9mqjpuhdf |gpg --import -

洋蔥路由瀏覽器開發者的金鑰已發佈至keys.openpgp.org站台,因此可以由https://keys.openpgp.org/vks/v1/by-fingerprint/EF6E286DDA85EA2A4BA7DE684E2C6E8793298290下載取得。 如果您使用的是MacOS或是GNU/Linux作業系統的話,也可以利用下列指令來取得金鑰:

gpg --keyserver keys.openpgp.org --search-keys EF6E286DDA85EA2A4BA7DE684E2C6E8793298290

您可能會需要多了解GnuPG的使用方式。