درباره‌ٔ Tor

همانطور که در بالا ذکر شد، برای ناظری که می‌تواند هم شما و هم وب‌سایت مقصد یا گره خروجی Tor شما را مشاهده کند، می‌تواند زمان‌بندی ترافیک شما را هنگام ورود به شبکه Tor و همچنین هنگام خروج آن، با هم مرتبط کند. Tor در برابر چنین مدل تهدیدی دفاع نمی‌کند.

در یک مفهوم محدودتر، توجه داشته باشید که اگر یک سازمان مجری قانون یا سانسور توانایی مشاهده دقیق بخش‌هایی از شبکه را داشته باشد، این امکان برای آن‌ها وجود دارد که با مشاهده ترافیک در هر دو طرف، احتمال صحبت شما به طور منظم با دوست خود و همبستگی زمانی ترافیک مربوط به آن را تأیید کند. این کار برای تایید افرادی که از قبل مشکوک به برقراری ارتباط با یکدیگر هستند مفید است. در بسیاری از کشورها، سوظن مورد نیاز برای دریافت حکم وزن بیشتری نسبت به همبستگی زمانی دارد.

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

ارتباطات اینترنتی مبتنی بر مدل ذخیره و ارسال است که می‌توان آن را در قیاس با آدرس پستی فهمید: داده‌ها در بلوک‌هایی به نام datagram یا بسته‌های IP منتقل می‌شوند. هر بسته شامل یک آدرس IP مبدا (فرستنده) و یک آدرس IP مقصد (گیرنده) است، همانطور که نامه‌های معمولی حاوی آدرس‌های پستی فرستنده و گیرنده هستند. راه از فرستنده به گیرنده شامل پرش‌های متعدد روتر است، جایی که هر روتر آدرس IP مقصد را بررسی می‌کند و بسته را به مقصد نزدیکتر می‌فرستد. بنابراین، هر مسیریاب بین فرستنده و گیرنده یاد می‌گیرد که فرستنده در حال ارتباط با گیرنده است. به طور خاص، ISP محلی شما در موقعیتی است که می‌تواند نمایه کاملی از مصرف اینترنت شما ایجاد کند. علاوه بر این، هر سروری در اینترنت که بتواند هر یک از بسته‌ها را ببیند، می‌تواند رفتار شما را نمایه کند.

هدف Tor بهبود حریم خصوصی شما با ارسال ترافیک شما از طریق یک سری پراکسی است. ارتباطات شما در چندین لایه رمزگذاری شده و از طریق چندین پرش از طریق شبکه Tor به گیرنده نهایی هدایت می‌شود. جزئیات بیشتر در مورد این فرآیند را می توان در این تجسم یافت. توجه داشته باشید که تمام آن‌چه ISP محلی شما اکنون می‌تواند مشاهده کند این است که شما در حال ارتباط با گره‌های Tor هستید. به طور مشابه، سرورها در اینترنت فقط می‌بینند که توسط گره‌های Tor با آن‌ها تماس گرفته می‌شود.

به طور کلی، Tor قصد دارد سه مشکل حفظ حریم خصوصی را حل کند:

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

دوم، Tor از افرادی که ترافیک شما را به صورت محلی تماشا می‌کنند (مانند ISP یا شخصی که به وای فای یا روتر خانگی شما دسترسی دارد) را از یادگیری ماهیت و محل دریافت اطلاعات، جلوگیری می‌کند. همچنین آن‌ها را از تصمیم گیری در مورد آنچه مجاز به یادگیری و انتشار هستید باز می دارد - اگر بتوانید به هر بخشی از شبکه Tor دسترسی پیدا کنید، می‌توانید به هر سایتی در اینترنت دسترسی پیدا کنید.

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

با این حال، توجه داشته باشید که شرایطی وجود دارد که Tor نمی‌تواند این مشکلات حریم خصوصی را به طور کامل حل کند: در مورد حملات باقی‌مانده به ورودی زیر مراجعه کنید.

نام «تور» می‌تواند به چیزهای متفاوتی اشاره کند.

تور یک برنامه است که شما میتوانید روی کامپیوتر خود اجرا کنید که شما را در اینترنت ایمن نگه می دارد. با واگشت ارتباطات شما اطراف یک شبکه از بازپخش های توزیع یافته که توسط داوطلبان در سرتاسر جهان اجرا می شوند محافظت می کند: از اینکه شخصی بتواند اتصال اینترنت شما را تماشا کند و ببیند که چه سایت هایی را دیده اید جلوگیری می کند، و از اینکه سایت بفهمند شما در کجا قرار دارید جلوگیری می کند. این مجموعه از بازپخش های داوطلبانه شبکه تور نامیده می شوند.

اکثر افراد از تور همراه با مرورگر تور استفاده می کنند، این یک نسخه از فایرفاکس می باشد که خیلی از مشکلات حریم خصوصی را حل می کند. شما می توانید درباره تور روی صفحه درباره ما بخوانید.

پروژه‌ی تور یک سازمان غیر انتفاعی می باشد که نرم افزار تور را توسعه می دهد و از آن نگهداری می کند.

تور شبکه مسیریابی پیازی می باشد. هنگامی که ما کار خود را بر روی طراحی نسل بعد و پیاده سازی مسیر یابی پیازی در 2001-2002 آغاز کردیم، ما به بقیه افراد می گفتیم که در حال کار روی مسیریابی پیازی هستیم، و آن ها میگفتند "چه خوب، کدومش؟" حتی اگر مسیریابی پیازی تبدیل به یک اصلاح شناخته شده استاندارد شده، تور از پروژه مسیریابی پیازی که توسط آزمایشگاه تحقیقاتی دریایی انجام می شد بوجود آمده است.

(همچنین معنی خوبی در آلمانی و ترکی دارد.)

نکته: هرچند در ابتدا از یک مخفف بوجود آمد، Tor به صورت "TOR" نوشته نمی شود. تنها اولین لغت با حروف درشت نوشته می شود. در حقیقت، ما معمولا می توانیم افرادی که هیچ بخشی از سایت ما را نخوانده اند (و همه چیزی که می دانند را از مقالات سایت های خبری خوانده اند) با اتکا به همین غلط نویسی پیدا کنیم.

نه، این کار را انجام نمی دهد. شما نیاز دارید تا از یک برنامه جداگانه که نسبت به برنامه شما و پروتکل و پاکسازی یا "تمیز کردن" داده ارسالی شناخت دارد استفاده کنید. مرورگر Tor سعی می کند تا داده سطح برنامه را، مانند رشته user-agent، برای تمام کاربران یکسان نگه دارد. مرورگر تور اما نمی تواند کاری درباره متنی که وارد فرم ها می کنید انجام دهد.

یک ارائه دهنده پروکسی معمول یک سرور در جایی از اینترنت برپا می کند و به شما اجازه می دهد تا ترافیک خود را بوسیله آن بازپخش کنید. این یک معماری ساده و آسان برای نگه داشتن ایجاد می کند. همه‌ی کاربران از درون یک سرور یکسان رفت و آمد می‌کنند. سرویس دهنده می‌تواند برای استفاده از پروکسی هزینه بگیرد یا از طریق آگهی‌ها در سرور هزینه‌هایش را تامین کند. در ساده ترین حالت پیکربندی شما نیاز به نصب چیزی ندارید. تنها لازم است اشاره مرورگر شما به سرور پروکسی آن ها باشد. ارائه دهندگان پروکسی ساده راه حل بدی نیستند اگر برای حریم خصوصی و ناشناس بودن خود دنبال هیچگونه محافظتی نیستید و به ارائه دهنده اعتماد دارید که کار بدی انجام نمی دهد. برخی ارائه دهندگان پروکسی ساده از SSL برای ایمن سازی ارتباط شما به آن ها استفاده می کنند، این از شما در برابر استراق سمع محلی، مانند اینترنت وای فای رایگان در کافی شاپ محافظت می کند.

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

تور ترافیک شما را حداقل از 3 سرور متفاوت قبل از ارسال آن به مقصد رد می کند. از آنجایی که یک سطح جداگانه برای رمزگذاری هر یک از سه بازپخش وجود دارد، اگر کسی اتصال اینترنت شما را نگاه کند نمی تواند چیزی که به شبکه Tor می فرستید را ببیند یا تغییر دهد. ترافیک شما بین کلاینت تور ( روی کامپیوتر شما ) و جایی که از آن سر در می آورد رمزگذاری شده است.

آیا اولین سرور نمی بیند من چه کسی هستم؟

احتمالاً. از سه سرور اولیه اگر یکی بد باشد می تواند ترافیک تور را که از کامپیوتر شما خارج می شود را ببیند. نمی داند که شما که هستید و چه کاری روی تور انجام میدهید. تنها چیزی که می بیند این است که "این نشانی IP از تور استفاده می کند". شما از این گره محافظت می شوید بنابراین نمی تواند بفهمد که شما کی هستید و در اینترنت چه کار می کنید.

آیا سرور سوم نمی تواند ترافیک من را ببیند؟

احتمالاً. اگر یکی از سه سرور اولیه بد باشد می تواند ترافیکی که شما به تور می فرستید را ببیند. نمی داند چه کسی این ترافیک را ارسال کرده است. اگر در حال استفاده از رمزگذاری (مثل HTTPS) می باشید، تنها مقصد را میداند. برای درک نحوه تعامل Tor و HTTPS، این تجسم Tor و HTTPS را ببینید.

بله.

نرم افزار تور یک نرم افزار آزاد می باشد. این یعنی ما به شما حقوق لازم برای توزیع مجدد نرم افزار تور، چه به صورت تغییر یافته یا تغییر نیافته، رایگان یا با هزینه را میدهیم. شما نیازی به گرفتن اجازه‌ی خاصی ندارید.

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

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

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

برنامه های دیگر زیادی وجود دارند که می توانند با تور کار کنند، اما ما مشکلات ناشناس بودن در سطح برنامه را در همه آن ها بررسی نکرده ایم تا بتوانیم یک پیکربندی امن را پیشنهاد کنیم. ویکی ما دارای یک فهرست از دستور العمل ها برای عبور دادن ترافیک برنامه های خاص می باشد. لطفا این را به لیست بیافزایید و کمک کنید تا آن را دقیق نگه داریم!

بسیاری از مردم از مرورگر تور استفاده می کنند؛ مرورگر تور هر چیزی که برای گشت و گذار امن در اینترنت لازم است را در خود دارد. استفاده از Tor با سایر مرورگرها خطرناک است و توصیه نمی‌شود.

هرگز و به هیچ وجه در تور در پشتی وجود ندارد.

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

ما هرگز برای تور در پشتی نخواهیم ساخت. ما باور داریم که ساختن یک در پشتی برای تور بی مسولیتی بزرگی در برابر کاربران ماست و نیز سرمشق بدی برای نرم‌افزارهای امنیتی در آینده خواهد بود. اگر ما از روی عمد یک در پشتی در نرم افزار امنیتی خود قرار بدهیم، اعتبار حرفه ای ما را نابود خواهد کرد. هیچکس دیگر هیچوقت به نرم افزار ما اعتماد نخواهد کرد - به دلایل خوب!

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

همچنین ممکن است تصادفا ایرادی در تور پبدا شود که بر گمنامی شما تاثیر بگذارد. ما مرتب ایرادهای مربوط به حفظ گمنامی را پیدا و برطرف می‌کنیم، پس همیشه نسخه‌ی تور خود را به روز رسانی کنید.

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

خب ما باید چی کار کنیم؟ فرض کنید مهاجم رله های C را کنترل کرده یا می تواند مشاهده کند. فرض کنید کل N رله وجود دارد. اگر هر بار که از شبکه استفاده می‌کنید یک رله ورودی و خروجی جدید انتخاب کنید، مهاجم می‌تواند تمام ترافیک ارسالی شما را با احتمال (c/n)2 مرتبط کند. اما نمایه‌سازی برای اکثر کاربران به اندازه ردیابی بد است: افراد می‌خواهند کاری را بدون اینکه مهاجم متوجه شود انجام دهند، و مهاجمی که یک بار متوجه می‌شود به همان بدی است که مهاجمی اغلب متوجه شود. بنابراین، انتخاب بسیاری از ورودی‌ها و خروجی‌های تصادفی به کاربر هیچ شانسی برای فرار از نمایه‌سازی به این نوع مهاجم را نمی‌دهد.

راه‌حل "حفاظ‌های ورودی" است: هر کلاینت Tor به‌طور تصادفی چند رله را برای استفاده به عنوان نقاط ورودی انتخاب می‌کند و تنها از آن رله‌ها برای اولین جهش خود استفاده می‌کند. اگر آن رله ها کنترل یا مشاهده نشوند، مهاجم هرگز نمی‌تواند برنده شود و کاربر امن است. اگر این رله‌ها توسط مهاجم مشاهده یا کنترل شوند، مهاجم بخش بزرگ‌تری از ترافیک کاربر را می‌بیند - اما همچنان، کاربر بیشتر از قبل نمایه‌سازی نشده. بنابراین، کاربر تا حدی شانس (به ترتیب (n-c)/n) برای اجتناب از نمایه سازی دارد، در حالی که قبلا هیچ شانسی نداشت.

اطلاعات بیشتر را می‌توانید در تجزیه و تحلیل تخریب پروتکل‌های ناشناس، دفاع از ارتباطات ناشناس در برابر حملات ثبت غیرفعال، و به‌ویژه مکان‌یابی سرورهای پنهان بخوانید.

محدود کردن گره‌های ورودی می‌تواند در برابر مهاجمانی که می‌خواهند چند گره Tor را اجرا کنند و به راحتی تمام آدرس‌های IP کاربر Tor را شمارش کنند، کمک کند. (اگرچه آن‌ها نمی‌توانند یاد بگیرند که کاربران با چه مقاصدی صحبت می‌کنند، هنوز هم ممکن است با لیستی از کاربران کارهای بدی انجام دهند.) با این حال، تا زمانی که به طراحی "نگهبان دایرکتوری" نرویم، این ویژگی واقعا مفید نخواهد بود.

Tor با سه هدف از کلیدهای مختلفی استفاده می‌کند: 1) رمزگذاری برای اطمینان از حفظ حریم خصوصی داده‌ها در شبکه Tor، 2) احراز هویت به طوری که مشتریان بدانند که با رله‌هایی که قصد ارتباط با آن‌ها را داشته‌اند، در حال ارتباط هستند و 3) امضا برای اطمینان از اینکه همه کلاینت‌ها مجموعه یکسانی از رله‌ها را می شناسند.

رمزگذاری: اول، همه اتصالات در Tor از رمزگذاری پیوند TLS استفاده می‌کنند، بنابراین ناظران نمی‌توانند به داخل نگاه کنند تا ببینند یک سلول معین برای کدام مدار در نظر گرفته شده است. علاوه بر این، کلاینت Tor یک کلید رمزگذاری زودگذر را با هر رله در مدار ایجاد می‌کند. این لایه‌های اضافی رمزگذاری به این معنی است که فقط رله خروجی می‌تواند سلول‌ها را بخواند. هر دو طرف کلید مدار را، وقتی مدار تمام می‌شود، دور می اندازند. بنابراین ثبت ترافیک و سپس شکستن رله برای کشف کلید کارساز نخواهد بود.

احراز هویت : هر رله Tor دارای یک کلید رمزگشایی عمومی به نام "کلید پیازی" است. هر رله کلید پیازی خود را هر چهار هفته یکبار می‌چرخاند. هنگامی که کلاینت Tor مدارهایی را ایجاد می‌کند، در هر مرحله از رله Tor می‌خواهد که دانش کلید پیازی خود را ثابت کند. به این ترتیب اولین گره در مسیر نمی‌تواند بقیه مسیر را جعل کند. از آنجایی که کلاینت Tor مسیر را انتخاب می‌کند، می‌تواند مطمئن شود که ویژگی "اعتماد توزیع شده" Tor را دریافت می‌کند: هیچ رله واحدی در مسیر نمی‌تواند هم در مورد کلاینت و هم در مورد کاری که کلاینت انجام می‌دهد مطلع شود.

هماهنگی: کلاینت‌ها چگونه می‌دانند که رله‌ها چیست و چگونه می‌دانند که کلیدهای مناسب برای آن‌ها دارند؟ هر رله دارای یک کلید امضای عمومی بلند مدت به نام "کلید هویت" است. هر مرجع دایرکتوری علاوه بر این یک "کلید امضای دایرکتوری" دارد. مقامات دایرکتوری یک لیست امضا شده از همه رله‌های شناخته شده ارائه می‌دهند و در آن لیست مجموعه‌ای از گواهی‌ها از هر رله (که توسط کلید هویت آن‌ها امضا می‌شود) وجود دارد که کلیدها، مکان‌ها، سیاست‌های خروج و غیره را مشخص می‌کند. So unless the adversary can control a majority of the directory authorities (as of 2022 there are 8 directory authorities), they can't trick the Tor client into using other Tor relays.

کلاینت‌ها چگونه می‌دانند مقامات دایرکتوری چیست؟

نرم‌افزار Tor با یک لیست داخلی از مکان و کلید عمومی برای هر مرجع دایرکتوری ارائه می‌شود. بنابراین تنها راه فریب دادن کاربران به استفاده از شبکه Tor جعلی این است که یک نسخه تغییر یافته خاص از نرم‌افزار را به آن‌ها بدهید.

کاربران چگونه متوجه می‌شوند که نرم افزار مناسب را دارند؟

هنگامی که ما کد منبع یا یک بسته را توزیع می‌کنیم، آن را به صورت دیجیتالی با GNU Privacy Guard امضا می‌کنیم. دستورالعمل نحوه بررسی امضای مرورگر Tor را ببینید.

برای اینکه مطمئن شوید که واقعا توسط ما امضا شده است، باید شخصا ما را ملاقات کرده و یک نسخه از اثر انگشت کلید GPG ما را دریافت کنید، یا باید کسی را بشناسید که این نسخه را دارد. اگر نگران حمله‌ای در این سطح هستید، توصیه می‌کنیم با جامعه امنیتی در تماس باشید و شروع به ملاقات با افراد کنید.

تا زمانی که مدار به خوبی کار کند، Tor از همان مدار برای جریان های TCP جدید به مدت ۱۰ دقیقه استفاده خواهد کرد. (اگر مدار از کار بیفتد، Tor فورا به مدار جدیدی سوئیچ می‌کند.)

اما توجه داشته باشید که یک جریان TCP (مثلا یک اتصال طولانی IRC) برای همیشه در همان مدار باقی خواهد ماند. ما جریان‌های منفرد را از یک مدار به مدار دیگر نمی‌چرخانیم. در غیر این صورت، به دشمنی که دید نسبی از شبکه دارد، فرصت‌های زیادی برای ایجاد ارتباط بین شما با مقصدتان داده می‌شود.