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

Each file on our download page is accompanied by a file labelled "signature" with the same name as the package and the extension ".asc". These .asc files are OpenPGP signatures. آن‌ها به شما اجازه می‌دهند تا تأیید کنید، فایلی که بارگیری کرد‌ه‌اید دقیقاً همان فایلی است که ما قصد داشتیم دریافت کنید. این بسته به مرورگر وب متفاوت خواهد بود، اما به‌طور کلی، می‌توانید این فایل را با کلیک‌راست روی پیوند «امضا» و انتخاب‌کردن گزینهٔ «ذخیرهٔ فایل به‌عنوان» بارگیری کنید.

برای نمونه، tor-browser-windows-x86_64-portable-13.0.1.exe با tor-browser-windows-x86_64-portable-13.0.1.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
      EF6E286DDA85EA2A4BA7DE684E2C6E8793298290
uid           [ unknown] Tor Browser Developers (signing key) <torbrowser@torproject.org>

توجه: خروجی شما ممکن است کمی با مثال ارائه‌شده متفاوت باشد (مثلاً در تاریخ انقضا)، اما باید ببینید که کلید به‌درستی وارد شده است.

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

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

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.

For Windows users (change x86_64 to i686 if you have the 32-bit package):

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

For GNU/Linux users (change x86_64 to i686 if you have the 32-bit package):

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>"

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

به‌روزرسانی کلید PGP

برای به‌روزرسانی کلید امضای توسعه‌دهندگان مرورگر Tor در keyring محلی خود از keyserver، دستور زیر را اجرا کنید. این دستور همچنین زیرکلیدهای جدید را دریافت می‌کند.

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 بیشتر بیاموزید.