Tor از کلیدهای متفاوتی استفاده میکند که سه هدف را در ذهن دارد: ۱) رمزگذاری برای اطمینان از حفظ حریم خصوصی دادهها در شبکهٔ Tor، ۲) احراز هویت بهطوری که مشتریان بدانند که با رلههایی که قصد ارتباط با آنها را داشتهاند، در حال ارتباط هستند و ۳) امضا برای اطمینان از اینکه همه سرویسگیرندهها مجموعهٔ مشابهی از رلهها را می شناسند.
رمزگذاری: اول، همهٔ اتصالات در Tor از رمزگذاری لینک TLS استفاده میکنند، بنابراین ناظران نمیتوانند به داخل نگاه کنند تا ببینند یک سلول معین برای کدام مدار در نظر گرفته شدهاست.
علاوه بر این، سرویسگیرندهٔ Tor یک کلید رمزگذاری زودگذر را با هر رله در مدار ایجاد میکند؛ این لایههای اضافی رمزگذاری به این معناست که تنها رلهٔ خروجی میتواند سلولها را بخواند.
وقتی مدار تمام میشود، هر دو طرف کلید مدار را دور میاندازند. بنابراین ثبت ترافیک و سپس نفوذ به رله برای کشف کلید کارساز نخواهد بود.
احراز هویت : هر رلهٔ Tor دارای یک کلید رمزگشایی عمومی به نام «کلید پیازی» است.
هر رله کلید پیازی خود را هر چهار هفته میچرخاند.
هنگامی که سرویسگیرندهٔ Tor مدارهایی را ایجاد میکند، در هر مرحله از رلهٔ Tor میخواهد که دانش کلید پیازی خود را ثابت کند.
به این ترتیب اولین گره در مسیر نمیتواند بقیه مسیر را جعل کند.
از آنجایی که سرویسگیرندهٔ Tor مسیر را انتخاب میکند، میتواند مطمئن شود که ویژگی «اعتماد توزیعشدهٔ» Tor را دریافت میکند: هیچ رلهٔ واحدی در مسیر نمیتواند هم در مورد سرویسگیرنده و هم در مورد کاری که سرویسگیرنده انجام میدهد بداند.
هماهنگی: چگونه سرویسگیرندهها میدانند که رلهها چه هستند و چگونه میدانند که کلیدهای درستی برای آنها دارند؟
هر رله دارای یک کلید امضای عمومی بلندمدت به نام «کلید هویت» است.
هر مرجع شاخه علاوه بر این یک «کلید امضای شاخه» دارد.
مراجع شاخه از همهٔ رلههای شناختهشده یک فهرست امضاشده ارائه میدهند و در آن فهرست مجموعهای از گواهیها از هر رله (که با کلید هویت خود امضا شدهاست) وجود دارد که کلیدهای آنها، موقعیتها، سیاستهای خروج و غیره را مشخص میکند.
پس تا زمانی که متخاصم نتواند اکثریت مراجع شاخه را کنترل کند(تا سال ۲۰۲۲، ۸ مرجع شاخه وجود دارد)، نمیتواند سرویسگیرندهٔ Tor را به استفاده از رلههای دیگر Tor فریب دهد.
بنابراین، تا زمانی که دشمن نتواند اکثریت مقامات دایرکتوری را کنترل کند (تا سال 2022، 8 مرجع شاخه وجود دارد)، آنها نمی توانند کلاینت Tor را فریب دهند تا از دیگر رله های Tor استفاده کند.
چگونه سرویسگیرندهها میدانند که مراجع شاخه چه هستند؟
نرمافزار Tor با یک فهرست داخلی از موقعیت و کلید عمومی برای هر مرجع شاخه ارائه میشود.
بنابراین تنها راه فریب دادن کاربران به استفاده از شبکهٔ Tor جعلی این است که یک نسخهٔ تغییریافتهٔ خاص از نرمافزار را به آنها بدهید.
چگونه کاربران میدانند که نرمافزار درست را دارند؟
هنگامی که ما کد منبع یا یک بسته را توزیع میکنیم، آن را بهصورت دیجیتالی با نگهبان حریم خصوصی GNU امضا میکنیم.
دستورالعمل نحوهٔ بررسی امضای مرورگر Tor را ببینید.
برای اطمینان از اینکه واقعاً توسط ما امضا شدهاست، باید شخصاً با ما ملاقات کرده باشید و یک رونوشت از اثر انگشت کلید GPG ما را دریافت کرده باشید، یا باید کسی را بشناسید که دارد.
اگر نگران حملهای در این سطح هستید، توصیه میکنیم با جامعه امنیتی در تماس باشید و شروع به ملاقات با افراد کنید.