دربارهٔ Tor
Tor چه محافظتهایی ارائه میکند؟
ارتباط اینترنتی مبتنی بر مدل ذخیره و ارسال است که میتوان آن را در قیاس با نشانی پستی فهمید: دادهها در بلوکهایی به نام بستهها یا دیتاگرامهای IP منتقل میشوند. هر بسته شامل یک نشانی IP مبدا (از فرستنده) و یک نشانی IP مقصد (از گیرنده) است، همانگونه که نامههای عادی حاوی نشانیهای پستی فرستنده و گیرنده هستند. مسیر از فرستنده به گیرنده شامل چندین هاپ از مسیریاب است، جایی که هر مسیریاب نشانی IP مقصد را بازرسی نموده و بسته را به نزدیکتر بهسوی مقصدش میفرستد. بنابراین، هر مسیریابی که بین فرستنده و گیرنده قرار دارد یاد میگیرد که فرستنده با گیرنده در ارتباط است. بهطور خاص، ISP محلی شما در موقعیتی قرار دارد که میتواند نمایهٔ کاملی از مصرف اینترنت شما بسازد. علاوه بر این، هر سروری در اینترنت که بتواند هر یک از بستهها را ببیند، میتواند رفتار شما را نمایهسازی کند.
هدف Tor بهبود حریم خصوصی شما با ارسال ترافیکتان از طریق یک سری پروکسی است. ارتباط شما در چندین لایه رمزگذاریشده است و توسط چندین هاپ از طریق شبکهٔ Tor به گیرندهٔ نهایی هدایت میشود. جزئیات بیشتر در مورد این فرایند را در این مصورسازی میتوان یافت. توجه داشته باشید که حالا تمام آنچه ISP محلی شما میتواند مشاهده کند این است که شما در حال ارتباط با گرههای Tor هستید. بهطور مشابه، سرورها در اینترنت تنها میبینند که توسط گرههای Tor با آنها تماس گرفته میشود.
بهطور کلی، Tor قصد دارد سه مشکل حفظ حریم خصوصی را حل کند:
ابتدا، Tor وبسایتها و سرویسها را از آموختن مکان شما باز میدارد، که آنها میتوانند برای ساختن پایگاهدادهها در مورد عادتها و علایق شما استفاده کنند. با Tor، اتصالهای اینترنت شما بهطور پیشفرض شما را نمایان نمیکند -- اکنون شما میتوانید این قابلیت را داشته باشید که برای هر اتصال، میزان اطلاعات جهت فاششدن را انتخاب کنید.
دوم، Tor افراد را از مشاهدهٔ ترافیک شما بهصورت محلی (مانند ISP یا کسی که به WiFi یا مسیریاب خانگی شما دسترسی دارد)، از دانستن اینکه چه اطلاعاتی را واکشی میکنید و اینکه آن را از کجا واکشی میکنید باز میدارد. همچنین آنها را از تصمیمگیری در مورد آنچه شما مجاز به یادگیری و انتشار هستید باز میدارد -- اگر بتوانید به هر بخشی از شبکهٔ Tor دسترسی یابید، میتوانید به هر وبسایتی در اینترنت برسید.
سوم، Tor اتصال شما را از طریق بیش از یک رلهٔ Tor مسیردهی میکند تا هیچ رلهٔ واحدی نتواند بفهمد شما قصد انجام چه کاری را دارید. از آنجا که این رلهها توسط اشخاص یا سازمانهای مختلف اداره میشوند، توزیع اعتماد امنیت بیشتری را نسبت به روش قدیمی پروکسی تک هاپ فراهم میکند.
بااینحال توجه داشه باشید که شرایطی وجود دارند که Tor در آنها از حل اینگونه مشکلهای حریمخصوصی کاملاً عاجز است: مدخل حملههای باقیمانده را ببینید.
چه حملاتی در مقابل مسیریابی پیازی باقی میماند؟
همانطور که در بالا اشاره شد، برای ناظری که میتواند هم شما و هم مقصد یا گرهٔ خروجی Tor شما را مشاهده کند، امکانپذیر است تا زمانگذاری ترافیک شما را هنگامی که به شبکهٔ Tor وارد و همچنین هنگامی که از آن خارج میشود همبستهیابی کند. Tor در مقابل چنین مدل تهدیدی دفاع نمیکند.
به معنای محدودتر، توجه داشته باشید که اگر یک سازمان اجرای قانون یا سانسور توانایی مشاهدهٔ بخشهای خاصی از شبکه را داشته باشد، برای آنها ممکن است که تنها با مشاهدهٔ ترافیک در هر دو سر، و از طریق همبستهیابی زمانگذاری فقط آن ترافیک، ظن اینکه شما منظماً با دوستتان صحبت میکنید را وارسی کنند. این کار فقط برای وارسی اینکه افرادی که از قبل مظنون به برقراری ارتباط با یکدیگر هستند، واقعاً با یکدیگر در ارتباطند مفید است. در بیشتر کشورها، همبستگی زمانی سوءظن لازم را برای دریافت حکم قضایی فراهم نمیکند.
بهعلاوه، از آنجایی که Tor از مدارها برای چندین اتصال TCP استفاده میکند، میتوان ترافیک شناس و ناشناس را در یک گرهٔ خروجی معین با هم مرتبط نمود، بنابراین مراقب باشید که چه برنامههایی را همزمان روی Tor اجرا میکنید. حتی شاید کلاینتهای Tor جداگانهای را برای این برنامهها اجرا کنید.
Tor چیست؟
نام «Tor» میتواند به چند مؤلفهٔ متفاوت اشاره کند.
Tor برنامهای است که شما میتوانید روی کامپیوتر خود اجرا کنید که به ایمن نگه داشتن شما در اینترنت کمک میکند. با واگشت ارتباطات شما اطراف یک شبکه از رله های توزیع یافته که توسط داوطلبان در سرتاسر جهان اجرا میشوند محافظت میکند: از اینکه شخصی بتواند اتصال اینترنت شما را تماشا کند و ببیند که چه سایت هایی را دیده اید جلوگیری میکند، و از اینکه سایت بفهمند شما در کجا قرار دارید جلوگیری میکند. این مجموعه از رلههای داوطلبانه شبکهٔ Tor نامیده میشود.
اکثر افراد Tor را همراه با مرورگر Tor استفاده میکنند، مرورگر Tor نسخهای از Firefox است که بسیاری از مشکلات حریم خصوصی را رفع میکند. شما میتوانید دربارهٔ Tor در صفحهٔ درباره ما بیشتر بخوانید.
پروژهٔ Tor یک سازمان غیرانتفاعی (خیریه) است که توسعه و نگهداری نرمافزار Tor را بر عهده دارد.
چرا Tor نامیده شده است؟
Tor شبکهٔ مسیردهی پیازی است. هنگامی که ما کار خود را بر روی طراحی نسل بعد و پیادهسازی مسیریابی onion در ۲۰۰۰-۲۰۰۱ آغاز کردیم، به افراد میگفتیم که در حال کار روی مسیریابی onion هستیم، و آنها میگفتند «چه خوب، روی کدامیک؟» حتی اگر مسیریابی پیازی امروز به یک اصطلاح رایج تبدیل شده است، Tor از دل پروژهٔ مسیریابی پیازی آزمایشگاه تحقیقاتی نیروی دریایی بیرون آمد.
(Tor همچنین معنی خوبی در آلمانی و ترکی دارد.)
نکته: هرچند در اصل از یک سرواژه بهوجود آمده است، اما Tor بهصورت «TOR» نوشته نمیشود. تنها اولین حرف با حروف بزرگ است. در واقع، ما معمولاً میتوانیم افرادی را که هیچ بخشی از وبسایت ما را نخواندهاند (و در عوض هر چیزی را که در مورد Tor میدانند از مقالات خبری آموختهاند) از طریق همین املای غلط تشخیص دهیم.
آیا Tor اطلاعات شخصی را از دادههای ارسالی توسط برنامهٔ من حذف میکند؟
نه، اینطور نیست. شما باید از یک برنامهٔ جداگانه استفاده کنید که برنامه و پروتکل شما را درک نموده و نحوهٔ تمیز یا «پاکسازی» دادههایی را که ارسال میکند بداند. مرورگر Tor سعی میکند تا دادهٔ سطح برنامه را، مانند رشتهٔ کاربر-نماینده، برای تمام کاربران یکنواخت نگه دارد. اگر چه مرورگر Tor، درمورد متنی که در فرمها مینویسید، قادر به انجام هیچ کاری نیست.
Tor چه تفاوتی با دیگر پروکسیها دارد؟
یک ارائهدهندهٔ پروکسی معمول، یک سرور در جایی از اینترنت برپا میکند و به شما اجازه میدهد تا از آن برای عبور دادن ترافیک خود استفاده نمایید. این یک معماری ساده و آسان برای نگهداری ایجاد میکند. همهٔ کاربران از طریق سروری مشابه وارد و خارج میشوند. ارائهدهنده ممکن است برای استفاده از پروکسی هزینهای دریافت یا هزینههای خود را از طریق تبلیغات روی آن سرور تأمین کند. در سادهترین پیکربندی، شما نیاز به نصب چیزی ندارید. تنها لازم است مرورگر خود را به سوی سرور پروکسی آنها تنظیم کنید. ارائه دهندگان پروکسی ساده راهکارهای خوبی هستند اگر برای حریم خصوصی و ناشناسبودن برخط خود محافظتی نمیخواهید و به ارائهدهنده اعتماد دارید که کارهای بدی انجام نمیدهد. برخی ارائهدهندگان پروکسی ساده برای امنسازی اتصال شما با آنها از SSL استفاده نموده که از شما در برابر شنودگرهای محلی محافظت میکنند، مانند آنهایی که در یک کافه با اینترنت WiFi رایگان هستند.
ارائهدهندگان پروکسی ساده نیز یک تکنقطهٔ شکست ایجاد میکنند. ارائهدهنده میداند که شما چه کسی هستید و چه چیزی را در اینترنت مرور میکنید. آنها میتوانند ترافیک شما را در حین عبور از سرورشان ببینند. در برخی موارد، آنها حتی میتوانند ترافیک رمزگذاریشدهٔ شما را هنگام عبور دادن آن به وبسایت بانکی یا فروشگاههای تجارت الکترونیک مشاهده کنند. شما باید اطمینان داشته باشید که ارائهدهنده، ترافیک شما را مشاهده نمیکند، تبلیغات خود را به جریان ترافیک شما تزریق یا جزئیات شخصی شما را ضبط نمیکند.
Tor ترافیک شما را قبل از ارسال به مقصد از حداقل 3 سرور متفاوت عبور میدهد. چون یک لایهٔ جداگانه برای رمزگذاری هر یک از سه رله وجود دارد، کسی که اتصال اینترنت شما را تماشا میکند، نمیتواند آنچه را که به شبکهٔ Tor میفرستید تغییر داده یا بخواند. ترافیک شما بین کلاینت Tor (روی رایانهٔ شما) و جایی دیگر در جهان که از آن بیرون میپرد رمزگذاری شده است.
آیا اولین سرور نمیبیند که من چه کسی هستم؟
احتمالاً. اگر اولین سرور، از سه سرور اولیه بد باشد، میتواند ترافیک رمزگذاریشدهٔ Tor را که از کامپیوتر شما میآید، ببیند. هنوز نمیداند که شما چه کسی هستید و بر روی Tor چه میکنید. فقط «این نشانی IP از Tor استفاده میکند» را میبیند. شما هنوز هم از پیبردن این گره به هویت و مقصدتان در اینترنت محافظت میشوید.
آیا سرور سوم نمیتواند ترافیک من را ببیند؟
احتمالاً. اگر سومین سرور از سه سرور بد باشد، میتواند ترافیکی که شما به Tor فرستادید را ببیند. نمیداند چه کسی این ترافیک را ارسال کردهاست. اگر از رمزگذاری (مانند HTTPS) استفاده میکنید، تنها مقصد را خواهد شناخت. برای درک نحوهٔ تعامل Tor و HTTPS، این تجسم از Tor و HTTPS را ببینید.
آیا میتوانم Tor را توزیع کنم؟
بله.
نرمافزار Tor، نرم افزار آزاد است. این بدان معناست که ما حق توزیع مجدد نرمافزار Tor، اعم از اصلاحشده یا اصلاحنشده و چه با هزینه یا رایگان را به شما میدهیم. شما لازم نیست که از ما اجازهٔ خاصی بخواهید.
بااینحال، اگر شما میخواهید نرمافزار Tor را بازتوزیع کنید باید از پروانهٔ ما پیروی کنید. اساساً این بدان معنی است که شما باید فایل پروانهٔ ما را همراه با هر بخشی از نرمافزار Tor که توزیع میکنید قرار دهید.
اکثر افرادی که این سوال را از ما میپرسند، نمی خواهند تنها نرمافزار Tor را توزیع کنند. آنها میخواهند مرورگر Tor را توزیع نمایند. این شامل نسخهٔ پشتیبانی تمدیدشدهٔ Firefox و افزونهٔ NoScript است. شما باید از پروانهٔ آن برنامهها نیز پیروی نمایید. هر دوی این افزونههای Firefox تحت پروانهٔ عمومی همگانی گنو توزیع شدهاند، درحالیکه Firefox ESR تحت پروانهٔ همگانی Mozilla منتشر شدهاست. سادهترین راه برای پیروی از پروانههای آنها این است که کد منبع این برنامهها را در هر جایی که خود بستهها را قرار میدهید، درج نمایید.
همچنین شما باید مطمئن شوید که خوانندگان خود را در مورد اینکه Tor چیست، چه کسی آن را میسازد و چه ویژگیهایی ارائه میکند (و ارائه نمیکند) سردرگم نمیکنید. برای جزئیات، سؤالهای متداول علامت تجاری را ببینید.
چه برنامههایی را میتوانم با Tor استفاده کنم؟
برنامههای بسیاری وجود دارند که میتوانند با Tor کار کنند، اما ما مسائل حفظ ناشناسی در لایهٔ کاربرد را در تمامی آنها بررسی نکردهایم تا بتوانیم یک پیکربندی امن را پیشنهاد کنیم. ویکی ما حاوی فهرستی از دستورالعملها برای متصل کردن برنامههای مختلف به Tor است. لطفاً به این فهرست اضافه کنید و به ما کمک کنید تا آن را دقیق نگه داریم!
بیشتر افراد از مرورگر Tor استفاده میکنند؛ که هر آنچه را شما برای مرور امن اینترنت با استفاده از Tor لازم دارید دربردارد. استفاده از Tor با سایر مرورگرها خطرناک است و توصیه نمیشود.
آیا در Tor یک در پشتی وجود دارد؟
مطلقاً هیچ در پشتی در Tor وجود ندارد.
ما وکلای خبرهای میشناسیم که میگویند امکان اینکه کسی بتواند ما را در حوزهٔ قضاییمان (ایالات متحده) وادار به افزودن در پشتی کند بسیار پایین است. اگر آنها از ما بخواهند، ما با آنها مبارزه میکنیم و (وکلا میگویند که) احتمالاً پیروز میشویم.
ما هرگز در پشتی در Tor قرار نمیدهیم. ما باور داریم که قرار دادن یک در پشتی برای Tor، در برابر کاربرانمان بسیار غیرمسئولانه است و بهطور کلی یک سابقهٔ بد برای نرمافزار امنیتی است. اگر ما یک درِ پشتی عمدی را در نرمافزار امنیتی خود قرار دهیم، اعتبار حرفهای ما را از بین میبرد. هیچکس دیگر هرگز به نرمافزار ما اعتماد نخواهد کرد - به دلایل عالی!
اما بااینحال، هنوز حملات زیرکانهٔ بسیاری وجود دارد که افراد ممکن است امتحان کنند. کسی ممکن است هویت ما را جعل کند، یا به رایانهٔ ما نفوذ کند، یا چیزی شبیه به آن. Tor متنباز است و شما همیشه باید منبع (یا دستکم، تفاوتها با آخرین نسخه) را برای موارد مشکوک بررسی کنید. اگر ما (یا توزیعکنندگانی که Tor را به شما دادهاند) به شما دسترسی کد منبع را ندهیم، این نشانهای حتمی است که چیزی مشکوک در حال اتفاق است. شما همچنین باید امضاهای PGP را در انتشارها بررسی کنید تا مطمئن شوید که کسی سایتهای توزیع را دستکاری نکرده است.
همچنین ممکن است اشکالهای تصادفی در Tor باشند که میتواند بر ناشناسی شما تاثیر بگذارد. ما بهصورت دورهای اشکالات مرتبط با ناشناسی را پیدا و برطرف میکنیم، بنابراین مطمئن شوید که نسخههای Tor خود را بهروز نگه میدارید.
نگهبانان ورودی چه هستند؟
Tor (مانند همهٔ طراحیهای ناشناسی عملی و کمتأخیر فعلی) زمانی که مهاجم بتواند هر دو سر کانال ارتباطی را ببیند، کارآیی خود را از دست میدهد. برای مثال، فرض کنید مهاجم رلهٔ Tor را که برای ورود به شبکه انتخاب میکنید کنترل یا تماشا نموده و همچنین وبسایتی را که بازدید میکنید کنترل یا تماشا میکند. در این مورد، جامعهٔ تحقیقاتی هیچ طراحی عملی و کمتأخیری نمیشناسد که بتواند بهطور مطمئن مهاجم را از همبستهیابی اطلاعات زمانگذار و حجم در دو طرف بازدارد.
خب، باید چه کنیم؟ فرض کنید که مهاجم رلههای C را کنترل نموده یا میتواند مشاهده کند. فرض کنید در کل N رله وجود دارد. اگر هر بار که از شبکه استفاده میکنید یک رلهٔ ورودی و خروجی جدید انتخاب کنید، مهاجم میتواند تمام ترافیک ارسالی شما را با احتمال (c/n)2 همبستهیابی کند. اما نمایهسازی برای اکثر کاربران به اندازهٔ ردیابی دائم نامطلوب است: افراد میخواهند کاری را بدون متوجهشدن مهاجم انجام دهند، و یکبار متوجهشدن مهاجم به میزان متوجهشدن او برای چندینبار نامطلوب است. بنابراین، انتخاب بسیاری از ورودیها و خروجیهای تصادفی به کاربر هیچ شانسی برای فرار از نمایهسازی به این نوع مهاجم را نمیدهد.
راهکار «نگهبانان ورودی» است: هر کلاینت Tor بهطور تصادفی چند رله را برای استفاده بهعنوان نقاط ورودی انتخاب میکند و تنها از آن رلهها برای اولین هاپ خود استفاده میکند. اگر آن رلهها کنترل یا مشاهده نشوند، مهاجم هرگز نمیتواند پیروز شود و کاربر امن است. اگر آن رلهها از سوی مهاجم کنترل یا رصد میشوند، مهاجم کسر بزرگتری از ترافیک کاربر را میبیند - اما بااینحال کاربر بیشتر از حالت قبل نمایهسازی نمیشود. بنابراین، کاربر تا حدی شانس (از مرتبهٔ /n(n-c)) برای اجتناب از نمایهسازی را دارد، درحالیکه قبلاً هیچ شانسی نداشت.
شما میتوانید در تحلیلوبررسی فروسایی پروتکلهای ناشناس، دفاع از ارتباطات ناشناس در برابر حملات رویدادنگاری غیرفعال، و بهویژه مکانیابی سرورهای پنهان بیشتر بخوانید.
محدودکردن گرههای ورودی شما ممکن است در برابر مهاجمانی کمک کند که میخواهند با اجرای چند گره بهآسانی تمام نشانیهای IP کاربر Tor را برشمرند. (اگرچه آنها نمیتوانند بدانند که کاربران با چه مقصدهایی صحبت میکنند، هنوز هم ممکن است بتوانند کارهای بدی را تنها با فهرستی از کاربران انجام دهند.) بااینحال، این ویژگی تا زمانی که به طراحی «نگهبان شاخه» منتقل نشویم، سودمند نخواهد بود.
در مورد تمام کلیدهایی که Tor استفاده میکند به من بگو
Tor از کلیدهای متفاوتی استفاده میکند که سه هدف را در ذهن دارد: ۱) رمزگذاری برای اطمینان از حفظ حریمخصوصی دادهها در شبکهٔ Tor ، ۲) اصالتسنجی بهنحوی که کلاینتها بدانند با رلههایی صحبت میکنند که واقعاً قصد داشتند صحبت کنند و ۳) امضاها برای اطمینان از اینکه همهٔ کلاینتها مجموعهٔ یکسانی از رلهها را میشناسند.
رمزگذاری: اول، همهٔ اتصالات در Tor از رمزگذاری لینک TLS استفاده میکنند، بنابراین ناظران نمیتوانند به داخل نگاه کنند تا ببینند یک سلول معین برای کدام مدار در نظر گرفته شدهاست. علاوه بر این، کلاینت Tor یک کلید رمزگذاری زودگذر را با هر رله در مدار ایجاد میکند؛ این لایههای اضافی رمزگذاری به این معناست که تنها رلهٔ خروجی میتواند سلولها را بخواند. وقتی مدار تمام میشود، هر دو طرف کلید مدار را دور میاندازند. بنابراین ثبت ترافیک و سپس نفوذ به رله برای کشف کلید کارساز نخواهد بود.
اصالتسنجی: هر رلهٔ Tor دارای یک کلید رمزگشایی عمومی به نام «کلید onion» است. هر رله کلید onion خود را هر چهار هفته میچرخاند. هنگامی که کلاینت Tor مدارهایی را ایجاد میکند، در هر مرحله از رلهٔ Tor میخواهد که دانش کلید پیازی خود را ثابت کند. بهاینترتیب اولین گره در مسیر نمیتواند بقیهٔ مسیر را جعل کند. از آنجایی که کلاینت Tor مسیر را انتخاب میکند، میتواند مطمئن شود که خاصیت «اعتماد توزیعشدهٔ» Tor را دریافت میکند: هیچ رلهٔ واحدی در مسیر نمیتواند هم در مورد کلاینت و هم در مورد کاری که کلاینت انجام میدهد بداند.
هماهنگی: چگونه کلاینتها میدانند که رلهها چه هستند و چگونه میدانند که کلیدهای درستی برای آنها دارند؟ هر رله دارای یک کلید امضای عمومی بلندمدت به نام «کلید هویت» است. هر مرجع شاخه علاوه بر این یک «کلید امضای شاخه» دارد. مراجع شاخه از همهٔ رلههای شناختهشده یک فهرست امضاشده ارائه میدهند و در آن فهرست مجموعهای از گواهیها از هر رله (که با کلید هویت خود امضا شدهاست) وجود دارد که کلیدهای آنها، موقعیتها، سیاستهای خروج و غیره را مشخص میکند. پس تا زمانی که متخاصم نتواند اکثریت مراجع مجازشناس شاخه را کنترل کند (تا سال ۲۰۲۲، ۸ مرجع شاخه وجود دارد)، نمیتواند کلاینت Tor را فریب دهند تا از دیگر رلههای Tor استفاده کند.
چگونه کلاینتها میدانند که مراجع شاخه چه هستند؟
نرمافزار Tor با یک فهرست داخلی از موقعیت و کلید عمومی برای هر مرجع شاخه ارائه میشود. بنابراین تنها راه فریب دادن کاربران به استفاده از شبکهٔ Tor جعلی این است که یک نسخهٔ تغییریافتهٔ خاص از نرمافزار را به آنها بدهید.
چگونه کاربران میدانند که نرمافزار درست را دارند؟
هنگامی که ما کد منبع یا یک بسته را توزیع میکنیم، آن را بهصورت دیجیتالی با نگهبان حریم خصوصی GNU امضا میکنیم. دستورالعمل نحوهٔ بررسی امضای مرورگر Tor را ببینید.
برای اطمینان از اینکه واقعاً توسط ما امضا شدهاست، باید شخصاً با ما ملاقات کرده باشید و یک رونوشت از اثر انگشت کلید GPG ما را دریافت کرده باشید، یا باید کسی را بشناسید که دارد. اگر نگران حملهای در این سطح هستید، توصیه میکنیم با جامعهٔ امنیتی در تماس باشید و با افراد به صورت حضوری دیدار کنید.
Tor هر چند وقت مسیرش را تغییر میدهد؟
تا زمانی که مدار بهخوبی کار میکند، Tor تا ۱۰ دقیقه از همین مدار برای جریانهای TCP جدید بهره خواهد گرفت. (اگر مدار از کار بیفتد، Tor بلافاصله به مدار جدیدی سوئیچ میکند.)
اما توجه داشته باشید که یک جریان TCP (مثلا یک اتصال طولانی IRC) برای همیشه در همان مدار باقی خواهد ماند. ما جریانهای منفرد را از یک مدار به مدار بعدی نمیچرخانیم. در غیر این صورت، به دشمنی با دید جزئی به شبکه، در عوض فقط یک فرصت، فرصتهای بسیاری برای یافتن ارتباط شما با مقصدتان داده میشود.