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