توجه: این دستورالعملها برای تایید کد منبع 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 روی کامپیوتر شما نصب باشد تا بتوانید امضاها را تایید کنید.
برای کاربران ویندوز:
اگر در حال استفاده از ویندوز هستید، Gpg4win را دانلود کنید و نصب کننده آن را اجرا کنید.
برای تایید امضا لازم است چندین فرمان را در خط فرمان ویندوز cmd.exe
تایپ کنید.
برای کاربران macOS:
اگر از macOS استفاده میکنید، می توانید GPGTools را نصب کنید.
برای تایید امضا لازم است چندین فرمان را در ترمینال (در "برنامه ها") تایپ کنید.
برای کاربران گنو/لینوکس:
اگر در حال استفاده از گنو/لینوکس می باشید، بنابراین احتمالا 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) را انتخاب نکرده باشید.
برای کاربران ویندوز:
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 بیشتر یاد بگیرید.
تایید چکسام
اکنون که امضاهای چکسام را تایید کردیم، باید صحت بسته را تایید کنیم.
برای کاربران ویندوز:
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