توجه: این دستورالعملها برای تایید کد منبع Tor است.
لطفا دستورالعملهای صحیح را برای تایید امضای مرورگر Tor دنبال کنید.
امضای دیجیتال، فرایندی است برای اطمینان از اینکه یک بستهٔ معین را توسعهدهندگان آن تولید کردهاند و دستکاری نشده است.
در زیر توضیح میدهیم که چگونه میتوان تایید کرد که کد منبع Tor که دانلود میکنید همان کدی است که ما ایجاد کردهایم و توسط برخی از مهاجمان اصلاح نشده است، و چرا این موضوع مهم است.
هر فایل در صفحه دانلود ما با دو فایل همراه است که به ترتیب دارای برچسب "checksum" و "sig" با همان نام بسته و پسوند ".sha256sum" و ".sha256sum.asc" هستند.
فایل .asc
تایید میکند که فایل .sha256sum
(حاوی چکسام بسته) دستکاری نشده است. هنگامی که امضا تایید شد (در مورد نحوه انجام آن به زیر مراجعه کنید)، یکپارچگی بسته را میتوان با موارد زیر تایید کرد:
$ sha256sum -c *.sha256sum
این فایلها به شما اجازه میدهند تا تایید کنید فایلی که دانلود کردهاید دقیقا همان فایلی است که ما قصد داریم دریافت کنید.
این مورد بسته به مرورگر وب متفاوت است، اما به طور کلی، میتوانید با کلیک راست روی پیوندهای "sig" و "checksum" و انتخاب گزینه "save file as" این فایل را دانلود کنید.
برای مثال، tor-0.4.6.7.tar.gz
با tor-0.4.6.7.tar.gz.sha256sum.asc
همراه است.
این اسامی فایل ها نمونه هستند و دقیقاً با اسامی فایلی که شما دریافت کرده اید تطابق نخواهند داشت.
اکنون ما به شما نشان میدهیم چگونه میتوانید امضا دیجیتال فایلی که دانلود کرده اید را روی سیستم عامل های متفاوت تایید کنید.
لطفا توجه داشته باشید که یک امضا زمانی که بسته امضا شده است تاریخ دار میشود.
بنابراین هر بار که یک فایل جدید آپلود میشود یک امضا جدید با یک تاریخ متفاوت تولید میشود.
تا زمانی که شما امضا را تایید کرده باشید نیازی به نگرانی در تفاوت تاریخ گزارش شده نیست.
نصب GnuPG
اول از هر چیز نیاز است تا GnuPG روی کامپیوتر شما نصب باشد تا بتوانید امضاها را تایید کنید.
برای کاربران Windows:
اگر در حال استفاده از ویندوز هستید، Gpg4win را دانلود کنید و نصب کننده آن را اجرا کنید.
برای تایید امضا لازم است چندین فرمان را در خط فرمان ویندوز cmd.exe
تایپ کنید.
برای کاربران macOS:
اگر از macOS استفاده میکنید، میتوانید GPGTools را نصب کنید.
برای تایید امضا لازم است چندین فرمان را در ترمینال (در "برنامه ها") تایپ کنید.
برای کاربران GNU/Linux:
اگر در حال استفاده از گنو/لینوکس میباشید، بنابراین احتمالا GnuPG روی سیستم شما موجود است، در اکثر توزیع های گنو/لینوکس از قبل نصب شده است.
برای تایید امضا، باید چند دستور را در پنجره ترمینال تایپ کنید.
نحوه انجام این کار بسته به توزیع شما متفاوت است.
واکشی کلید توسعهدهندگان 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 میخواهد فایلی را که بارگیری کردید تأیید کند، بررسی کنید.
نمونه های زیر فرض میکنند که شما این دو فایل را در پوشه "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>"
اگر پیام خطایی دریافت کردید که میگفت 'هیچ فایل یا دایرکتوری وجود ندارد'، خطایی در یکی از مراحل گذشته رخ داده، یا شما فراموش کردید که اسامی فایل ها نمونه بودند و نام فایل های شما متفاوت است.
شما شاید بخواهید درباره 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