تور (Tor) چیست و چگونه کار میکند؟ (به زبان ساده)
اگر اهل مباحث کامپیوتری باشید یا بخاطر جوّ جدیدی که درباره دارک وب و دیپ وب به وجود آمده، به شبکه تور (Tor) علاقه مند شدهاید، در این پست همراه ما باشید تا با این شبکه متفاوت آشنا شده و نحوه کار آن را به زبان ساده درک کنید.
تور (Tor) چیست؟
کلمه Tor مخفف عبارت The Onion Router بوده و پروژهای متنباز (Open Source) است که امکان ایجاد یک شبکه ایزوله خصوصی را با قابلیتهای ویژه ارائه میدهد. برپایه این نرم افزار شبکه، یک شبکه واقعی عمومی (ولی خصوصی!) ایجاد شده که اغلب به عنوان دارک وب (Dark Web) نیز شناخته میشود. اگرچه دارک وب مختص شبکه جهانی Tor نیست ولی به خاطر حجم عظیم این شبکه، معمولاً دارک وب را معادل شبکه Tor در نظر میگیرند.
مختصری درباره تاریخچه Tor
ایده Tor به عنوان شبکهای با نام “مسیریابی پیازی” (Onion Routing) که در ادامه توضیح خواهیم داد، در اواسط سال ۱۹۹۰ میلادی توسط آزمایشگاه تحقیقات دریایی ایالات متحده آمریکا با هدف ارائه شبکهای که در آن ارتباطات دستگاههای اطلاعاتی حفاظت شده انجام شود، ایجاد شد. نسخه اولیه The Onion Router در سپتامبر ۲۰۰۲ آماده ارائه به سرویسهای اطلاعاتی شد. یک سال پس از آن، نسخه عمومی شبکه نیز منتشر شد. نام این شبکه بعدها به Tor (مخفف حروف اول The Onion Router) تغییر یافت و در سال ۲۰۰۴، کدهای این پروژه نرم افزاری به صورت رایگان و متنباز، برای عموم منتشر شد.
در دسامبر ۲۰۰۶، افرادی پروژهای را تحت عنوان The Tor Project بر پایه کدهای منتشر شده ایجاد کرده و در نتیجه آن، سازمانی غیرانتفاعی ایجاد شد که مسئول حفظ و نگهداری این شبکه جهانیِ عمومیِ محرمانه بود. منابع مالی آن از سمت بنیاد آمریکایی پیشگامان الکترونیک، اداره بین المللی پخش ایالات متحده آمریکا، دیدبان حقوق بشر و چندین شرکت خصوصی از جمله گوگل به عنوان اسپانسر تامین شد.
در طی فعالیت پروژه، بارها و بارها امنیت و در نتیجه ناشناس بودن فعالیتهای درون شبکه زیر سوال رفته و پس از مدتی مشکلات آن برطرف شده است. از سال ۲۰۱۶ به بعد نیز مسئولان پروژه Tor به کلی تغییر یافتند.
شبکه Tor چگونه کار میکند؟
فرض کنید از طریق نامه و پستهای کاغذی، قصد دارید کتابی را از مکان مشخص سفارش دهید تا به مکان مشخص خود شما ارسال شود. درخواستتان را داخل نامهای نوشته و در صندوق پست قرار میدهید. تا رسیدن نامه شما به مقصد، مسیری متشکل از گره (Node)های زیادی که به عنوان واسطه عمل میکنند ایجاد میشود: از جمله پستچی، کارمند پستخانه، کارمند بعدی پست خانه و … . در این نامه آدرس شما، آدرس مقصد و محتوا کاملاً مشخص است و همه میتوانند آن را باز کرده، بخوانند و آدرسها را بفهمند.
حال فرض کنید بجای پاکت نامه کاغذی، درخواستتان را داخل یک گاوصندوق امنیتی میگذارید که تنها توسط مقصد قابل باز شدن هستند. همچنان برای گرههای موجود در مسیر، آدرس فرستنده و گیرنده مشخص است اما محتوای آن نه. در دنیای رمزنگاری، این گاوصندوقها واقعاً وجود دارند (مثلاً پروتکل SSL). در شبکه تور این گاوصندوقها بین گرههای داخلی بصورت خودکار ایجاد میشوند.
ساختار داخلی Tor
فرآیند تا به اینجا، روشی است که اغلب پروتکلها برپایه آن عمل میکنند. در شبکه Tor، هیچ پستچی یا پست خانهای وجود ندارد. همه و همه شهروندان عادی هستند. حال فرض کنید شما برای انتقال این پاکت نامه مهر و موم شده (یا همان گاوصندوق خودمان)، در اولین قدم آن را به یک شهروند تصادفی تحویل میدهید. این شهروند تصادفی اولین گره از مسیر مجازی شماست و فقط همین گره است که میداند ارسال کننده نامه (یعنی شما) چه کسی است. به اصطلاح به این شهروند، گره ورودی (Entry Node) گفته میشود. این گره نامه را به یک گره دیگر میدهد و این عمل طبق الگویی باثبات بین چندین گره انجام میگیرد تا این که به گرهی برسد که در آخر مسیر مجازی قرار داشته و مسئول تحویل پاکت به مقصد است. در طول مسیر، تنها این گره است که مقصد اصلی نامه را میداند که به آن گره خروجی (Exit Node) گفته میشود. این گره میتواند محتوای بسته (نامه اصلی) را نیز مشاهده کند.
بصورت خلاصه:
- گره ورودی میتواند بداند که فرستنده (شما) چه کسی است ولی اطلاعی از محتوای بسته یا مقصد آن ندارد.
- گرههای میانی که نقش رد گم کن را انجام میدهند (یعنی گره ورودی را از خروجی جدا میکنند)، اطلاعی از محتوای بسته، فرستنده یا گیرنده ندارند.
- گره خروجی میتواند گیرنده (کتابخانه) و محتوای بسته (نامه عادی) را بداند اما درباره فرستنده آن اطلاعی ندارد. قابل ذکر است که این محتوا درصورتی که در یک لایه پایینتر (مختص خود گیرنده و فرستنده) نیز رمزگذاری شود، گره خروجی هیچ ایدهای نخواهد داشت که محتوای اصلی چیست و فقط حالت رمزگذاری شده آن را میتواند ببیند که به دردش نخواهد خورد.
در تصویر زیر نحوه ساز و کار داخلی شبکه تور به زبان ساده بیان شده است. دقت کنید که به ازای هر گره میانی، محتوا قبلی در یک پاکت امن دیگری قرار میگیرد که فقط همان گره میانی میتواند آن را باز کرده و به گره دیگر بفرستد؛ به عبارت سادهتر، پاکتهای رمزگذاری شده بصورت تو در تو هستند.
ارتباط با وب آشکار
حال ارتباط شبکه Tor با شبکههای خارجی از جمله سایر بخشهای اینترنت مانند وب آشکار (چیزی که بصورت عادی به آن وب میگوییم) را بررسی میکنیم.
در مقیاس بزرگتر، گرههای خروجیای قرار دارند که بسیار شبیه به مرزبانی کشورها عمل میکنند. کل رفت و آمد یک کشور با کشور همسایه از طریق این مرزبانیها انجام میشود. حال فرض کنید که این خروجیها در شبکه تور، تحت تسلط اشخاصی هستند که آنها را کنترل میکنند. محتوای عبوری را بررسی و درصورت لازم آنها را دستکاری میکنند!
اگر ارتباط شبکه تور با وب آشکار و ارتباط عادی درون وب آشکار را مقایسه کنیم، میتوانیم به تصویر زیر تشبیه کنیم. در این تصویر این نکته قابل ذکر است که منظور از ارتباط رمزگذاری نشده، محتوای خامی است که بین مبدا و مقصد باید منتقل میشوند. حال این محتوا در یک ارتباط غیرامن (بین دو همتا، جدا از ساختار شبکه) بصورت Plain-Text قابل مشاهده و دستکاری است و در یک ارتباط امن، در سطحی دیگر، بین صرفاً گیرنده و فرستنده (مثلا یک ارتباط SSL – سایتهایی که از HTTPS استفاده میکنند) بصورت رمزگذاری شده بوده و امکان مشاهده محتوای اصلی و تغییر در آن وجود نخواهد داشت.
ویژگیهای شبکه Tor
این شبکه درمقابل VPNها، Proxyها و … که همگی با آنها آشنا هستیم، ویژگیهایی را داراست که بستری مناسب را برای فعالیتهای غیرقانونی و غیراخلاقی به وجود آورده است. سه مورد از مهمترین این ویژگیها عبارت اند از:
پنهان بودن کل شبکه
شبکه تور، از دنیای وب عمومی ایزوله است و تنها از طریق دروازههایی با عنوان گرههای خروجی با بیرون (وب عمومی یا آشکار) در ارتباط است. بنابراین برخلاف وب عمیق و وب آشکار که در شبکه وب جهانی قرار دارند، برای دسترسی به شبکه تور، حتما باید از ابزار آن استفاده شود.
با توجه به این که ابزار شبکه تور برای عموم نیز در دسترس است، بنابراین پنهان بودن شبکه تور معادل دسترسی سخت تر آن نسبت به وب عمومی است. شبکههای خصوصی بر پایه ابزار تور البته، از نظر عموم کاملاً پنهان هستند.
ناشناس بودن و رمزگذاری ارتباط
تبادل داده بین نقطه A تا B در درون شبکه غیرمستقیم است. برای انجام این تبادل، ابتدا از نقطه A تا نقطه B یک مسیر مجازی متشکل از چندین گره ایجاد میشود. با توجه به رمزگذاری و ساختار پروتکل ارتباطی درون شبکه، محتوای شما در بین این مسیر مجازی قابل رمزگشایی نبوده و مقصد، درباره این که مبدا درخواست (یعنی شما) چه کسی بوده هیچ اطلاعی ندارد.
این خصوصیت برای ارتباط با شبکههای خارج از تور نیز صادق است. در این گونه ارتباطات، گرههای خروجی هستند که برای مقصد قابل شناسایی هستند و گره شما در داخل شبکه تور (با فرض ناشناس بودن کامل) قابل ردیابی در داخل یا خارج شبکه نیست.
مخفی بودن آدرس گرهها
گرههای داخل شبکه، هر کدام با الگوریتمهای امنی یک کلید خصوصی و یک کلید عمومی تولید کرده و با ثبت شدن در جدولی که به صورت توزیع شده استفاده میشود، یک نام دامنه تصادفی داخل شبکه دریافت کرده و همچنین مسیری مجازی نقطه اتصال برای هر گره تعریف میشود. با این نامهای دامنه است که ارتباط با گره مقصد (به عنوان یک گره عادی، هاست یا سرور) برقرار میشود. از آنجایی که این نامها تصادفی هستند و اغلب در جایی عمومی ثبت نمیشوند، حتی با این حقیقت که در شبکه بوده و فعال هستند، در عمل پنهان بوده و دسترسی به آنها بدون داشتن آدرسشان ممکن نیست.
نظر شما چیست؟ آیا از شبکه Tor استفاده کردهاید؟ درباره قوانین داخل کشور درباره این گونه شبکهها چه نظری دارید؟