سرویسهای Onion خدماتیاند که تنها از طریق Tor قابل دسترسی هستند.
اجرای سرویس Onion به کاربران شما تمام امنیت HTTPS را با حفظ حریمخصوصی در مرورگر Tor میدهد.
چرا سرویسهای Onion؟
سرویسهای Onion مزایای امنیتی و حفظ حریمخصوصی مختلفی به کاربران خود ارائه میکنند.
پنهانسازی موقعیت
نشانی IP سرویس Onion محافظت میشود.
سرویسهای Onion یک شبکه همپوشان روی TCP/IP هستند، بنابراین به نوعی، نشانیهای IP حتی برای سرویسهای Onion معنادار نیستند: آنها حتی در پروتکل استفاده نمیشوند.
اصالتسنجی سرتاسر
وقتی یک کاربر از یک سرویس بخصوص Onion دیدن میکند، میدانند که محتوایی که مشاهده میکنند فقط میتواند از آن سرویس بخصوص Onion آمده باشد.
بنابراین امکان جعل هویت وجود ندارد، که بهطورکلی موردی نادر است.
معمولاً دسترسی به یک سایت به معنای عدم مسیردهی مجدد مرد میانی بهجای دیگری نیست (مانند حملات ساناد).
رمزگذاری سرتاسر
ترافیک سرویس Onion از سرویسگیرنده به میزبان Onion رمزگذاری میشود.
این مانند دریافت SSL/HTTPS قوی بهصورت رایگان است.
NAT punching
آیا شبکه شما فیتلر شده است و نمیتوانیددرگاهها را روی دیوار آتش خود باز کنید؟
این میتواند در محوطه دانشگاه، دفتر اداری، فرودگاه یا هرجای دیگر رخ دهد.
سرویسهای Onion نیازی به درگاههای باز ندارند زیرا از طریق NAT(برگردان نشانی شبکه) عبور میکنند. آنها فقط اتصالهای خروجی را برقرار میکنند.
پروتکل سرویس Onion: نمای اجمالی
حالا سؤال این است که چه نوع پروتکلی برای دستیابی به همهی این خصوصیات مورد نیاز است؟
معمولاً، افراد به یک نشانی IP وصل شده و همه چیز تمام میشود ولی چگونه به چیزی وصل میشوید که نشانی IP ندارد؟
بهطور خاص، نشانی سرویسهای Onion به این شکل است: vww6ybal4bd7szmgncyruucpgfkqahzddi37ktceo3ah7ngmcopnpyyd.onion
این عجیب و تصادفی به نظر میرسد زیرا این identity public key مربوط به سرویس Onion است.
این یکی از دلایلی است که میتوانیم به خصوصیات امنیتی بالا دست یابیم.
پروتکل سرویس Onion از شبکهٔ Tor استفاده میکند تا سرویسگیرنده بتواند خود را به سرویس معرفی کند و سپس یک نقطهٔ ملاقات با سرویس را از طریق شبکهٔ Tor تنظیم کند.
جزئیات نحوهٔ افتادن این اتفاق به تفکیک:
رخداد ۱: جایی که سرویس Onion نقاط معرفی خود را تنظیم میکند
بیایید تصور کنیم که روزنامه محلی شما تصمیم دارد یک سرویس Onion (با استفاده از SecureDrop) برای دریافت نکات ناشناس راهاندازی کند.
بهعنوان اولین گام در پروتکل، سرویس Onion با دستهای از رلههای Tor تماس میگیرد و با درخواست ایجاد مدارهای بلندمدت برای آنها، بهعنوان introduction points برای آنها عمل کنند.
این مدارها ناشناس هستند، بنابراین سرور، مکان سرویس را برای نقاط معرفی فاش نمیکند.
The Onion Service will hide and protect itself behind the Tor network by only allowing access through three introduction points that it connects to through a three-hop Tor circuit.
رخداد ۲: جایی که سرویس Onion توصیفگرهای خود را منتشر میکند
اکنون که نقاط معرفی تنظیم شدهاند، نیاز به ایجاد راهی داریم تا سرویسگیرندهها بتوانند آنها را پیدا کنند.
به همین دلیل، سرویس Onion یک Onion Service descriptor را جمعآوری میکند که حاوی فهرستی از نقاط معرفی آن (و «کلیدهای اصالتسنجی») است و این توصیفگر را بوسیلهی identity private key سرویس Onion امضا میکند.
کلید identity private که در اینجا استفاده میشود، بخش خصوصی کلید عمومی است که در نشانی سرویس Onion رمزگذاری شده است.
سرویس Onion توصیفگر امضاشده را در distributed hash table که بخشی از شبکهٔ Tor است بارگذاری کرده تا سرویسگیرندهها نیز بتوانند آن را دریافت کنند.
از یک مدار Tor ناشناس برای انجام این بارگذاری استفاده میکند تا مکان خود را فاش نکند.
رخداد ۳: جایی که سرویسگیرنده میخواهد از سرویس Onion بازدید کند
فرض کنید میخواهید بهطور ناشناس برخی از دادههای کلاهبرداری مالیاتی را از طریق SecureDrop به روزنامه محلی خود ارسال کنید.
نشانی Onion برای SecureDrop روزنامه را از یک وبسایت یا دوست پیدا میکنید.
رخداد ۴: جایی که سرویسگیرنده خود را به سرویس Onion معرفی میکند
تمام مراحل قبلی فقط برای تنظیم سرویس Onion است تا برای سرویسگیرنده دسترسپذیر باشد.
حالا به نقطهای پیش برویم که یک سرویسگیرنده حقیقی میخواهد از سرویس بازدید کند.
در این حالت، سرویسگیرنده نشانی Onion مربوط به SecureDrop را دارد و میخواهد از آن بازدید کند، بنابراین با مرورگر Tor به سرویس متصل میشود.
حال اتفاق بعدی که باید رخ دهد این است که سرویسگیرنده از گام ۲ به distributed hash table رفته و توصیفگر امضاشدهٔ سرویس Onion مربوط به SecureDrop را درخواست کند.
رخداد ۵: جایی که سرویسگیرنده امضای نشانی Onion را تأیید میکند
هنگامی که سرویسگیرنده توصیفگر امضاشده را دریافت میکند، با استفاده از کلید عمومی که در نشانی Onion رمزگذاری شده است، امضای توصیفگر را تأیید میکند.
این ویژگی امنیتی end-to-end authentication را فراهم میکند، زیرا اکنون مطمئن هستیم که این توصیفگر میتوانسته فقط توسط آن سرویس Onion ایجاد شود و نه کس دیگری.
در داخل توصیفگر، نقاط معرفی وجود دارند که به سرویسگیرنده امکان داده تا خود را به سرویس Onion مربوط به SecureDrop معرفی کند.
رخداد ۶: جایی که سرویسگیرنده یک نقطهٔ ملاقات ایجاد میکند
قبل از انجام معرفی، سرویسگیرنده (در این مورد، یعنی شما) یک رلهٔ Tor را انتخاب کرده و یک مدار برای آن برقرار میکند.
سرویسگیرنده از رله میخواهد که به نقطهٔ ملاقات او تبدیل شده و به آن یک «رمز یکبار مصرف» بدهد که بهعنوان بخشی از روند ملاقات استفاده میشود.
رخداد ۷: جایی که سرویس Onion با سرویسگیرنده ملاقات میکند
نقطه معرفی، جزئیات شما (رشته خصوصی و نشانی ملاقات) را به سرویس Onion منتقل میکند، که چندین فرایند تأیید را اجرا کرده تا تصمیم بگیرد که آیا شما قابل اعتماد هستید یا خیر.
رخداد ۸: جایی که نقطهٔ ملاقات رمز سرویسگیرنده را تأیید میکند
سرویس Onion به نقطهٔ ملاقات (از طریق یک مدار ناشناس) متصل شده و «رمز یکبار مصرف» را به آن ارسال میکند.
نقطهٔ ملاقات یک تأیید نهایی را برای تطابق رشتههای خصوصی شما و سرویس انجام میدهد (مورد آخر نیز از سمت شماست اما از طریق سرویس عبور داده شده است).
نقطهٔ ملاقات پیامها (سرتاسر رمزگذاریشده) را از سرویسگیرنده به سرویس و بالعکس عبور میدهد.
رخداد ۹: جایی که سرویس Onion با سرویسگیرنده ملاقات میکند
بهطورکلی، ارتباط کامل بین سرویسگیرنده و سرویس Onion شامل ۶ رله است: ۳ رله توسط سرویسگیرنده انتخاب شدهاند که سومین رله، نقطهٔ ملاقات بوده و ۳ رله دیگر توسط سرویس Onion انتخاب شده است.
این location hiding را برای این اتصال فراهم میکند.
در نهایت، با استفاده از نقطهٔ ملاقات، یک مدار Tor بین شما و سرویس Onion مربوط به SecureDrop روزنامهٔ مورد نظر تشکیل میشود.
منابع بیشتر
این فقط یک نمای اجمالی سطح بالا از پروتکل سرویس Onion Tor بود.
اگر میخواهید بیشتر بدانید، در اینجا منابع بیشتری وجود دارد: