امضای دیجیتال، فرایندی است برای اطمینان از اینکه یک بستهٔ معین را توسعه‌دهندگان آن تولید کرده‌اند و دستکاری نشده است. در پایین توضیح می‌دهیم که چرا مهم است و چگونه می‌توان بررسی کرد که مرورگر Tor که بارگیری می‌کنید، مرورگری است که ما ایجاد کرده‌ایم و مهاجمی آن را تغییر نداده است.

هر فایل در صفحه دانلود ما با یک فایل با عنوان "امضا" با همان نام بسته و پسوند ".asc" همراه است. این فایل‌های .asc امضاهای OpenPGP هستند. آن‌ها به شما اجازه می‌دهند تا تأیید کنید، فایلی که بارگیری کرد‌ه‌اید دقیقاً همان فایلی است که ما قصد داشتیم دریافت کنید. این در مرورگرهای وب با هم متفاوت است، اما به طور کلی، می‌توانید این فایل را با کلیک راست روی پیوند "امضا" و انتخاب گزینه "ذخیره فایل به عنوان" دانلود کنید.

For example, torbrowser-install-win64-12.5_ALL.exe is accompanied by torbrowser-install-win64-12.5_ALL.exe.asc. این‌ها نام‌های فایل نمونه هستند و دقیقاً با نام‌های فایلی که شما بارگیری می‌کنید مطابقت نخواهند داشت.

حال به شما نشان می‌دهیم چگونه می‌توانید امضای دیجیتال فایل بارگیری‌شده را روی سیستم‌عامل‌های متفاوت تأیید کنید. لطفاً توجه داشته باشید که امضا در لحظه‌ای که بسته امضا می‌شود، تاریخ‌گذاری می‌شود. بنابراین هر بار که فایلی جدید بارگذاری می‌شود یک امضای جدید با یک تاریخ متفاوت تولید می‌شود. مادامی که شما امضا را تأیید کرده‌اید لازم نیست نگران تفاوت تاریخ گزارش‌شده باشید.

نصب GnuPG

اول از همه نیاز است تا GnuPG را نصب داشته باشید تا بتوانید امضاها را تأیید کنید.

برای کاربران Windows:

اگر از Windows استفاده می‌کنید، Gpg4win را بارگیری کنید و نصب‌کنندهٔ آن را اجرا کنید.

برای تأیید امضا لازم است چندین فرمان را در خط فرمان Windows، یا cmd.exe وارد کنید.

برای کاربران macOS:

اگر از macOS استفاده می‌کنید، می‌توانید GPGTools را نصب کنید.

برای تأیید امضا لازم است چندین فرمان را در ترمینال (ذیل «Applications») تایپ کنید.

برای کاربران GNU/Linux:

اگر از GNU/Linux استفاده می‌کنید، پس احتمالاً GnuPG را از پیش روی سیستم خود دارید، چراکه بیشتر توزیع‌های GNU/Linux آن را از پیش نصب‌شده دارند.

برای تأیید امضا لازم است چند فرمان را در پنجرهٔ ترمینال تایپ کنید. چگونگی انجام این کار به توزیع شما بستگی دارد.

واکشی کلید توسعه‌دهندگان Tor

تیم مرورگر Tor انتشارهای مرورگر Tor را امضا می‌کند. کلید امضای توسعه‌دهندگان (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] [انقضا: 2020-12-19]

اگر یک پیغام خطا دریافت کردید، اشتباهی رخ داده است و تا علت آن را متوجه نشوید نمی‌توانید ادامه دهید. در عوض ممکن است بتوانید کلید را با کمک بخش راه‌حل موقت (استفاده از کلید عمومی) وارد کنید.

پس از واردکردن کلید، می‌توانید آن را در یک فایل ذخیره کنید (آن را با اثرانگشتش در اینجا شناسایی کنید):

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

این فرمان باعث می‌شود تا کلید در فایلی که در مسیر ‎./tor.keyring قرار دارد، یعنی در شاخهٔ کنونی ذخیره شود. اگر پس از اجرای این فرمان ‎.‎/‎tor.keyring وجود نداشت، اشتباهی رخ داده است و تا زمانی که دلیل آن را متوجه نشوید، نمی‌توانید ادامه دهید.

در حال تایید امضا

برای تأیید امضا بسته‌ای که بارگیری کرده‌اید، لازم است تا فایل امضای «‎.asc‎» متناظر و همچنین خود فایل نصب را هم بارگیری کنید و آن را با یک فرمان تأیید کنید. این فرمان از GnuPG می‌خواهد تا فایلی که شما بارگیری کردید را تأیید کند.

مثال‌های زیر فرض می‌کنند که شما این دو فایل را در پوشهٔ «بارگیری‌ها»یتان دانلود کردید. توجه داشته باشید که این دستورات از نام‌های نمونه استفاده می‌کنند و نام فایل شما متفاوت خواهد بود: شما نسخهٔ متمایزی از 9.0 بارگیری خواهید کرد و ممکن است نسخهٔ انگلیسی (en-US) را بارگیری نکرده باشید.

برای کاربران Windows:

gpgv --keyring .\tor.keyring Downloads\torbrowser-install-win64-12.5_ALL.exe.asc Downloads\torbrowser-install-win64-12.5_ALL.exe

برای کاربران macOS:

gpgv --keyring ./tor.keyring ~/Downloads/TorBrowser-12.5-macos_ALL.dmg.asc ~/Downloads/TorBrowser-12.5-macos_ALL.dmg.dmg

برای کاربران GNU/Linux (اگر بستهٔ ۳۲-بیتی را دارید ۶۴ را به ۳۲ تغییر دهید):

gpgv --keyring ./tor.keyring ~/Downloads/tor-browser-linux64-12.5_ALL.tar.xz.asc ~/Downloads/tor-browser-linux64-12.0.7_ALL.tar.xz

The result of the command should contain:

gpgv: Good signature from "Tor Browser Developers (signing key) <torbrowser@torproject.org>"

اگر پیغام خطایی حاوی ‹چنین فایل یا شاخه‌ای وجود ندارد› دریافت می‌کنید، یا در یکی از مراحل گذشته اشتباهی شده است و یا اینکه فراموش کردید که این فرمان‌ها از نام‌های فایل نمونه استفاده می‌کنند و نام‌های فایل شما کمی متفاوت خواهند بود.

Refreshing the PGP key

Run the following command to refresh the Tor Browser Developers signing key in your local keyring from the keyserver. This will also fetch the new subkeys.

gpg --refresh-keys EF6E286DDA85EA2A4BA7DE684E2C6E8793298290

راهکار موقت (با استفاده از یک کلید عمومی)

اگر با خطاهایی روبرو می‌شوید که نمی‌توانید رفعشان کنید، می‌توانید این کلید عمومی را بارگیری و از آن استفاده کنید. به‌طور جایگزین، می‌توانید از دستور زیر استفاده کنید:

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

کلید توسعه‌دهندگان مرورگر Tor نیز در keys.openpgp.org قابل‌دسترس است و می‌تواند از https://keys.openpgp.org/vks/v1/by-fingerprint/EF6E286DDA85EA2A4BA7DE684E2C6E8793298290‏ بارگیری شود. اگر از macOS یا GNU/Linux استفاده می‌کنید، کلید می‌تواند با اجرای دستور زیر نیز واکشی شود:

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

شاید همچنین بخواهید دربارهٔ GnuPG بیشتر بیاموزید.