شبکه ترکیبی

بندانگشتی|شبکه ترکیبی رمزگشایی ساده. پیام‌ها تحت یک سری کلیدهای عمومی رمزگذاری می‌شوند. هر گره مخلوط یک لایه رمزگذاری را با استفاده از کلید خصوصی خود حذف می‌کند. گره ترتیب پیام را به هم می‌زند و نتیجه را به گره بعدی ارسال می‌کند.
**شبکه‌های ترکیبی** پروتکل‌های مسیریابی هستند که با استفاده از زنجیره‌ای از سرورهای پراکسی معروف به *میکس*؛ ابتدا پیام‌ها را از چندین فرستنده دریافت می‌کنند، آنها را به هم می‌ریزند و سپس به ترتیب تصادفی مجدداً به مقصد بعدی پیام‌ها را ارسال می‌کنند؛ بنابراین این امر پیوند بین منبع درخواست و مقصد را قطع می‌کند و ردیابی ارتباطات سرتاسری را برای استراق سمع دشوارتر می‌کند. علاوه بر این، میکس‌ها فقط گره‌ای را که فوراً پیام را از آن دریافت کرده‌اند می‌شناسند، و در مقابل، تنها مقصد فوری را برای ارسال پیام‌های به هم ریخته به آن می‌شناسند، که این شبکه را در برابر گره‌های ترکیبی مخرب مقاوم می‌کنند.

هر پیام با استفاده از رمزنگاری کلید عمومی برای هر پروکسی رمزگذاری می‌شود. رمزگذاری حاصل مانند یک عروسک روسی لایه بندی شده است (به جز اینکه هر «عروسک» به همان اندازه است و سایزش تفاوت نمی‌کند) همراه با پیام که به عنوان درونی‌ترین لایه قرار گرفته است. هر سرور پروکسی لایه رمزگذاری خود را حذف می‌کند تا نشان دهد که کجا پیام بعدی را ارسال کند. اگر همه سرورهای پراکسی به جز یکی توسط ردیاب در معرض خطر قرار گیرند، هنوز هم می‌توان در برابر برخی از دشمنان ضعیف‌تر، غیرقابل دسترس بود.

## تاریخچه
دیوید چاوم مفهوم شبکه‌های مخلوط را در سال ۱۹۷۹ در مقاله خود منتشر کرد: «پست الکترونیکی غیرقابل ردیابی، آدرس‌های برگشتی، و نام مستعار دیجیتال».

این مقاله برای کار پایان‌نامه کارشناسی ارشد او بود، مدت کوتاهی پس از اینکه او برای نخستین بار از طریق کار رمزنگاری کلید عمومی، مارتین هلمن، ویتفیلد دیفی و رالف مرکل به حوزه رمزنگاری معرفی شد. در حالی که رمزنگاری کلید عمومی امنیت اطلاعات را رمزگذاری می‌کند، دیوید چاوم معتقد بود که آسیب‌پذیری‌های حریم خصوصی شخصی در متا داده‌های موجود در ارتباطات وجود دارد. برخی از آسیب‌پذیری‌هایی که باعث به خطر افتادن حریم خصوصی شخصی می‌شد، شامل زمان ارسال و دریافت پیام‌ها، اندازه پیام‌ها و آدرس فرستنده اصلی بود. او در کار خود از مقاله مارتین هلمن و ویتفیلد «New Directions in Cryptography» استناد می‌کند.

## چگونگی کارکرد
شرکت‌کننده *A* با افزودن یک مقدار تصادفی R به پیام و مهر و موم کردن آن با کلید عمومی مخاطب، پیامی را برای تحویل به شرکت‌کننده *B* آماده می‌کند. K_b ، آدرس B را ضمیمه کنید و سپس نتیجه را با کلید عمومی ترکیب، مهر و موم می‌کند K_m . M آن را با کلید خصوصی خود باز می‌کند، اکنون آدرس B را می‌داند و حال   K_b را به B می‌فرستد.

### فرمت پیام
K_m(R1,K_b(R0,message),B)\longrightarrow(K_b(R0,message),B)

برای انجام این کار، فرستنده کلید عمومی ترکیب را می‌گیرد (K_m)، و از آن برای رمزگذاری پاکت حاوی یک رشته تصادفی (R1)، یک پاکت تو در تو خطاب به گیرنده و آدرس ایمیل گیرنده (*B*) استفاده می‌کند. این پاکت تو در تو با کلید عمومی گیرنده رمزگذاری شده است (K_b)، و شامل یک رشته تصادفی دیگر (*R0*) به همراه متن پیام در حال ارسال است. پس از دریافت پاکت سطح بالای رمزگذاری شده، ترکیب از کلید مخفی خود برای باز کردن آن استفاده می‌کند. در داخل آن، آدرس گیرنده (*B*) و یک پیام رمزگذاری شده برای *B* را پیدا می‌کند. سپس رشته تصادفی (R1) دور انداخته می‌شود.

وجود R0 در پیام الزامی است تا از حدس زدن پیام توسط مهاجم جلوگیری شود. فرض بر این است که مهاجم می‌تواند تمام پیام‌های ورودی و خروجی را مشاهده کند. اگر از رشته تصادفی استفاده نشود و یک مهاجم حدس خوبی برای این پیام داردکه message' فرستاده شده است، او می‌تواند آزمایش کند که آیا K_b(message')=K_b(message)، به موجب آن او می‌تواند محتوای پیام را یاد بگیرد. با اضافه کردن رشته تصادفی R0 مهاجم از انجام این گونه حمله منع می‌شود. حتی اگر او پیام صحیح را حدس بزند.

### بازگردانی آدرس‌ها
آنچه در حال حاضر نیاز است این است که راهی برای پاسخ *B* به *A باشد* و در عین حال هویت *A* را از *B* مخفی نگه دارد.

راه حل این است که *A* یک آدرس بازگشتی غیرقابل ردیابی تشکیل دهد K_m(S1, A), K_x جایی که A آدرس واقعی خودش است، K_x یک کلید یکبار مصرف عمومی است که فقط برای مناسبت فعلی انتخاب شده است، و S1 کلیدی است که همچنین به عنوان یک رشته تصادفی برای اهداف مهر و موم عمل می‌کند. سپس، *A* می‌تواند این آدرس برگشتی را به عنوان بخشی از پیامی که توسط تکنیک‌هایی که قبلاً توضیح داده شده است، به *B* ارسال کند.

### آسیب پذیری‌ها
اگرچه شبکه‌های ترکیبی حتی اگر دشمن قادر به مشاهده کل مسیر باشد، امنیت را فراهم می‌کند، اما اختلاط کاملاً بدون مشکل نمی‌باشد. دشمنان می‌توانند حملات بلندمدت را با هم انجام دهند و فرستنده و گیرنده بسته‌ها را ردیابی کنند.

### مدل تهدید
یک حریف می‌تواند با نظارت بر ترافیک و از شبکه مخلوط، یک حمله غیرفعال انجام دهد. تجزیه و تحلیل زمان رسیدن بین بسته‌های متعدد می‌تواند اطلاعات را آشکار کند. از آنجایی که هیچ تغییری به‌طور فعال در بسته‌ها ایجاد نمی‌شود، شناسایی حمله ای مانند این دشوار است. در بدترین حالت حمله، فرض می‌کنیم که تمام لینک‌های شبکه توسط دشمن قابل مشاهده هستند و استراتژی‌ها و زیرساخت‌های شبکه ترکیبی مشخص است.

فواصل بین بسته‌ها، یعنی تفاوت زمانی بین مشاهده دو بسته متوالی در دو پیوند شبکه، برای دریافتن اینکه آیا پیوندها دارای اتصال یکسان هستند یا خیر، به کار می‌رود. توالی فاصله بین بسته‌ها بین اتصالات بسیار متفاوت است، به عنوان مثال در مرور وب، ترافیک به صورت رگباری رخ می‌دهد. این واقعیت را می‌توان برای شناسایی یک اتصال استفاده کرد.

### حمله فعال
حملات فعال را می‌توان با تزریق رگبار بسته‌هایی که حاوی امضاهای زمان‌بندی منحصر به فرد هستند به جریان مورد نظر انجام داد. مهاجم می‌تواند حملاتی را برای شناسایی این بسته‌ها در سایر پیوندهای شبکه انجام دهد.

### شکاف مصنوعی
اگر مهاجم حجم زیادی از بسته‌های متوالی را در جریان رها کند، می‌توان شکاف‌های بزرگی در جریان هدف ایجاد کرد.

### انفجارهای مصنوعی
مهاجم می‌تواند انفجارهای مصنوعی ایجاد کند. این کار با ایجاد یک امضا از بسته‌های مصنوعی با نگه داشتن آنها بر روی یک پیوند برای مدت زمان مشخص و سپس آزاد کردن همه آنها به یکباره انجام می‌شود.

## منابع

رده:ارتباطات امن
رده:پایه رمزنگاری
رده:پروتکل‌های رمزنگاری
رده:حریم شخصی کاربران اینترنت
رده:شبکه‌های ناشناس ماندن
رده:مسیریابی رایانه‌ای
رده:معماری شبکه