مسیر یابی پیازی چگونه کار میکند؟
مسیریابی پیازی در اواسط دهه ۱۹۹۰ در آزمایشگاه تحقیقات نیروی دریایی ایالات متحده، توسط مایکل رید (Michael Reed)، پائول سیورسون (Paul Syverson) و دیوید گلدشلگ (David Goldschlag) طراحی شد. این فناوری بعدها توسط آژانس تحقیقاتی پروژههای پیشرفته دفاعی (DARPA) یا Defense Advanced Research Projects Agency توسعه یافت و در نهایت توسط نیروی دریایی در سال ۱۹۹۸ ثبت اختراع شد. در سال ۲۰۰۲، بزرگترین و شناختهشدهترین ابزار فناوری مسیریابی پیازی یعنی تور یا The Onion Router (بهاختصار Tor) متولد شد؛ تور یک مرورگر ویژه است که به شما امکان استفاده از مسیریابهای پیازی را میدهد. با استفاده از آن، حتی میتوانید در دارک وب (Dark Web) نیز وبگردی کنید.
نحوه کارکرد مسیریاب پیازی:
فرستنده یاکلاینت ابتدا باید با سرور مرکزی که شامل آدرس نودها است، ارتباط برقرار کند. بعد از برقراری این ارتباط، شبکه بهطور تصادفی از طریق ارتباط رمزنگاری شده به یک نود ورودی (نود ۱ یا Input Node) متصل میشود. نود ورودی نیز یک ارتباط رمزنگاری شده با نود دوم که آن هم بصورت رندوم انتخاب میشود، برقرار نموده و نود دوم نیز همین کار را برای اتصال به نود سوم یا نود خروجی (Exit Node) انجام میدهد. نود سوم هم باید نزدیکترین گره به مقصد باشد.
سپس کلاینت درخواست را با استفاده از ۳ کلید بهصورت لایهای رمزنگاری کرده و آن را ارسال میکند. این پیامی که سه بار رمزنگاریشده، به نود اول فرستاده میشود. نود اول فقط آدرس نود دوم و کلید ۱ را دارد. بنابراین پیام را با استفاده از کلید ۱ رمزگشایی کرده، اما نمیتواند آن را بخواند؛ چون هنوز ۲ لایه رمزنگاری دیگر دارد. بنابراین آن را به نود ۲ منتقل میکند.
نود دوم کلید ۲ و آدرس نودهای ورودی و خروجی را دارد. بنابراین پیام را با استفاده از کلید ۲ رمزگشایی میکند. گره سوم همچنان نمیتواند پیام را بخواند؛ چون یک لایه رمزنگاریشده دیگر باقیمانده است. سپس آن را به نود خروجی منتقل میکند. نود سوم (نود خروجی) آخرین لایه رمزنگاری را جدا میکند و یک درخواست GET برای Youtube.com دیده و آن را به سرور مقصد ارسال میکند.
سرور درخواست را پردازش کرده و صفحه وب مورد نظر را بهعنوان پاسخ ارائه میدهد. پاسخ از همان گرهها در مسیر معکوس عبور کرده و هر گره با استفاده از کلید خاص خود، یک لایه رمزنگاری روی آن قرار میدهد. در نهایت بهصورت ۳ لایه رمزنگاریشده به کلاینت میرسد. کلاینت میتواند با استفاده از کلیدهای خصوصی خود به پاسخ نهایی دسترسی داشته باشد.
تور فقط یکی از ابزارهای Onion Routing است که از ۳ لایه برای رمزنگاری محتوای پیام استفاده میکند. اگر بخواهید میتوانید پروتکلی با چندین لایه رمزنگاریشده داشته باشید.
ویژگیهای شبکه Tor
هر روتر آدرس Internet Protocol روتر بعدی را آشکار میکند. Internet Protocol یا همان IP، کد یا شناسهای است که به دستگاههای متصل به اینترنت اختصاص داده میشود. در شبکه مسیریاب پیازی، فقط روتر اول آیپی فرستنده یا کلاینت را میداند. روترهای میانی تنها آدرس روتر قبلی و بعدی را میبینند؛ بنابراین راهی وجود ندارد که روترهای میانی بدانند آیا گره قبلی کلاینت است یا ارتباط بعدی مقصد نهایی پیام است.
اما افزودن لایه اضافی هزینهبر است. اگر تا بهحال از مرورگر تور استفاده کرده باشید، احتمالا میدانید که بهنحو قابل توجهی کندتر از مرورگر معمولی است؛ چون شما مستقیما با سرور ارتباط برقرار نمیکنید. هر چه جهش یا پرش بیشتری داشته باشید (پیام مدت بیشتری در شبکه بچرخد تا به مقصد برسد) مدت زمان برقراری اتصال بیشتر بهطول میانجامد.
لازم است بدانید که یک Node نمیتواند دوبار در یک ارتباط مورد استفاده قرار گیرد و بسته به تراکم دادهها، بعضی گرهها نیز مورد استفاده قرار نمیگیرند. برای عدم آسیبپذیری مسیریابی پیازی، هر ده دقیقه یکبار نود ورودی تغییر پیدا میکند تا ردیابی مسیر، فرایندی پیچیدهتر شود. ضمن اینکه نود سوم میتواند پیامی که به سرور ارسال میکنید را مشاهده کند؛ مگر اینکه رمزنگاریشده باشد. بنابراین اگر حاوی اطلاعات شخصی مثل ایمیل و پسورد باشد، حریم خصوصی آسیبپذیر خواهد بود.
آیا فعالیت ما در مسیریاب پیازی ناشناس است؟
نمیتوان با قاطعیت به این سوال پاسخ مثبت داد. روشهایی برای شناسایی منبع پیام در یک مسیریاب پیازی وجود دارد. فرض کنید یک شنودگر در اتصال اولیه (کلاینت – نود ورودی) در حال شنود باشد. تنها چیزی که میتواند درک کند، آدرس نود ورودی و پیام نامفهوم رمزنگاریشده است. در صورتی که شنودگر روی نود خروجی باشد، متوجه میشود که نود در حال برقراری تماس با سرور دیگری است؛ اما نمیتواند کلاینت را شناسایی کند.
اما اگر روی نود دوم قرار بگیرد، آدرس ورودی و خروجی را میداند و میتواند کلاینت و سرور مقصد را ردیابی کند. اما هر یک از نودها، صدها اتصال همزمان دارند و فهمیدن اینکه کدام یک به منبع و مقصد درست منتهی میشود، به این آسانی نیست. در مدار مسیریاب پیازی که ما ترسیم کردیم، نود ۲ یک نود میانی است. اما در مدل واقعی، میتواند بخشی از مدار مسیریاب پیازی دیگری در یک اتصال متفاوت باشد که بهعنوان گره ورودی یا گره خروجی عمل کند.
تحلیل زمانبندی، از سمت مهاجمان یکی از نقاط ضعفی است که میتواند مورد حمله قرار گیرد. با وجود امنیت بالایی که مسیریابی پیازی ارائه میدهد، یکی از دلایلی که این پروتکل توسط شرکتهای ارائهدهنده خدمات اینترنتی بهطور پیشفرض به کاربران ارائه نمیشود، این است که امروزه راههای متنوعی مانند رمزهای عبور، ایمیلها و دیگر سازوکارهای امنیتی برای مخفی نگهداشتن یک اطلاعات از اشخاص دیگر در بستر سایتها و HTTPS وجود دارد. Onion Routing، تنها مسیر انتقال یک پیام را مبهم میسازد؛ با این وجود آدرس مبدا و مقصدی که پیام طی کرده است، کماکان قابل شناسایی است.
تحلیل زمانبندی روشی است که مهاجمان با آنالیز ترافیک جابجاشده میان مبدا و مقصد، میتوانند اطلاعات را با یکدیگر مطابقت دهند و اطلاعات کاربر را ردیابی کنند. این مسئله تنها زمانی به وقوع میپیوندد که مهاجم بتواند به مبدا و مقصد اطلاعات بهطور همزمان دسترسی پیدا کند و ترافیک اطلاعاتی منتقل شده را رصد کند.
اما سایر معایب مسیریابی پیازی چیست؟ یک شنودگر اگر منابع کافی داشته باشد، با افزودن تعداد قابل توجهی روتر به شبکه و تحلیل ترافیک میتواند ناشناس بودن منبع را بهخطر بیندازد. ضمن اینکه آسیبپذیری نود خروجی، دیگر نقطهضعف مسیریابی پیازی است. همانطور که در توضیح چگونگی کارکرد این پروتکل شرح دادیم، آخرین نود، گره خروجی نام دارد. به عبارتی این گره وظیفه آخرین مرحله رمزگشایی را برعهده دارد و اطلاعات از حالت رمزنگاریشده تبدیل به اطلاعاتی همچون آدرس ایمیلها، رمزعبور، عبارات بازیابی میشود. رمزگشایی و انتقال دادهها در این مرحله از حساسیت بالایی برخوردار است. تنها در یک مورد، دن اگرستاد (Dan Egerstad) محقق سوئدی، از چنین حملهای به گره خروجی، موفق به جمعآوری رمز عبور بیش از ۱۰۰ حساب ایمیل، مربوط به سفارتخانههای خارجی شد.
مزیت مسیریابی پیازی
جهت افزایش احتمال ناشناس ماندن، فرستنده پیام میتواند خود تبدیل به یک نود در شبکه شود. شناسه همه روترهای شبکه مسیریاب یپازی عمومی است، که میتواند این شائبه را ایجاد کند که اجرای یک نود باعث افزایش حریم خصوصی فرستنده نمیشود؛ اما این تصور درست نخواهد بود.
هنگامی که فرستنده بهعنوان یک نود در شبکه قرار بگیرد، کسی نمیتواند بفهمد کجا به عنوان کاربر و کجا بهعنوان نود عمل میکند. وقتی که فرستنده همزمان بهعنوان یک گره برای دهها کاربر عمل میکند، شناسایی منبع پیام بسیار دشوارتر از پیش خواهد شد.
دیدگاهتان را بنویسید