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