حمله مرد میانی

حملهٔ شخص میانی (به انگلیسی: Man-in-the-middle attack) با کوته‌نوشت MITM و همچنین با عنوان حملهٔ Bucket Brigade یا گاهی با عنوان حملهٔ ژانوس شناخته می‌شود. در رمزنگاری و امنیت رایانه، حملهٔ شخص میانی، شیوه‌ای از شنود فعال است که حمله‌کننده، ارتباط مستقلی را با قربانی، برقرار می‌کند و پیام‌های بین آنها را بازپخش می‌کند. به گونه‌ای که آن‌ها را معتقد می‌کند که در یک ارتباط مستقیم و خصوصی با یکدیگر، صحبت می‌کنند؛ در حالی که همه گفتگوهای آنها توسط حمله‌کننده، کنترل می‌شود. حمله‌کننده باید توانایی شنود همه پیام‌های فرستاده شده بین دو قربانی و گذاشتن پیغام تازه را داشته باشد که در بسیاری از شرایط درست کار کنند. برای نمونه، حمله‌کننده‌ای با حوزهٔ دریافت یک پیام رمزنگاری نشده نقطه دسترسی بی‌سیم (آی‌تریپل‌ئی ۸۰۲٫۱۱)، می‌تواند خودش را به عنوان یک مرد میانی جا بزند.
یک حمله‌کنندهٔ مرد میانی در صورتی می‌تواند موفق شود که هر نقطهٔ انتهایی را با رضایت دیگری جعل هویت کند. این یک حمله (یا نبودِ) احراز هویت دو جانبه‌است. بیشتر پروتکل‌های رمزنگاری، شامل برخی از اشکال احراز هویت نقاط انتهایی، به ویژه برای جلوگیری از حملات مرد میانی هستند. برای نمونه، امنیت لایه انتقال (SSL) می‌تواند یک یا هر دو طرف را با استفاده از مجوز گواهی مورد اعتماد دو طرفه، احراز هویت کند.

نیاز به استفاده از یک کانال امن

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

نمونه‌ای از یک حمله

فرض کنید Alice می‌خواهد با Bob ارتباط برقرار کند. ضمناً، Mallory می‌خواهد که جلوی این مکالمه را با شنود و احتمالاً، رساندن پیغام غلط به Bob را بگیرد.
در آغاز، Alice کلید (رمزنگاری) عمومی خود را از Bob درخواست می‌کند. اگر Bob کلید عمومی خود را به Alice بدهد و Mallory توانایی شنود آن کلید را داشته باشد یک حمله شخص میانی آغاز می‌شود. Mallory یک پیام جعلی را که مدعی ارسال از طرف Bob است به Alice می‌فرستد اما به جای آن، کلید عمومی خودش را جایگزین آن می‌کند.
Alice با اعتقاد به اینکه کلید عمومی Bob را در اختیار دارد پیام خود را با کلید Mallory رمزنگاری می‌کند و پیام رمزنگاری شده را به Bob می‌فرستد. Mallory دوباره جلوی پیام را می‌گیرد و آن را با استفاده از کلید خصوصی خود رمزگشایی می‌کند و احتمالاً اگر بخواهد، آن را تغییر داده و دوباره با استفاده از کلید عمومی Bob رمزنگاری کرده و به Bob می‌فرستد. هنگامی که Bob پیام رمزنگاری شده تازه را دریافت می‌کند گمان می‌کند که پیام از طرف Alice آمده‌است.
در حقیقت Alice پیامی را که به Bob می‌فرستد Mallory شنود می‌کند.
Alice "Hi Bob, it's Alice. Give me your key"--> Mallory Bob
Mallory دوباره این پیام را برای Bob مخابره می‌کند. Bob توانایی تشخیص پیام واقعی از سوی Alice را ندارد.
Alice Mallory "Hi Bob, it's Alice. Give me your key"--> Bob
Bob با کلید رمزنگاری شده‌اش پاسخ می‌دهد.
Alice Mallory <--[Bob's_key] Bob
Mallory کلید Bob را با کلید خودش عوض کرده و پیامی را که مدعی کلید Bob است، دوباره برای Alice می‌فرستد.
Alice <--[Mallory's_key] Mallory Bob
Alice با اعتقاد به این موضوع که کلید در دست او متعلق به Bob است پیام را رمزنگاری کرده و گمان می‌کند که فقط Bob می‌تواند آن را بخواند.
Alice "Meet me at the bus stop!"[encrypted with Mallory's key]--> Mallory Bob
با این وجود به دلیل اینکه پیام با کلید Mallory رمزنگاری شده‌است Mallory می‌تواند آن را رمزگشایی، خوانده، و مدیریت کند (و در صورت مطلوب بودن)، دوباره آن را با کلید عمومی Bob رمزنگاری کرده و به سمت Bob هدایت کند.
Alice' Mallory "Meet me at 22nd Ave!"[encrypted with Bob's key]--> Bob
Bob تصور می‌کند که این پیام، یک ارتباط ایمن از طرف Alice است.
این نمونه نیاز Alice و Bob را برای داشتن راهی به منظور اطمینان از این که آن‌ها به درستی از کلید عمومی یکدیگر به جای کلید عمومی مهاجم استفاده کنند نشان می‌دهد. در غیر این صورت، چنین حملاتی معمولاً ممکن و اصولاً در برابر هر پیامی هستند که با استفاده از فناوری کلید عمومی ارسال می‌شود. خوشبختانه روش‌های گوناگونی برای دفاع در برابر حمله شخص میانی وجود دارند.

رمزنگاری کوانتومی

پروتکل‌های رمزنگاری کوانتومی به طور معمول همه یا بخشی از ارتباطات کلاسیک خود را با یک رویهٔ احراز هویت ایمن و بی‌قید و شرط، احراز هویت می‌کنند که نمونه آن احراز هویت Wegman-Carter است.

فراترااز ز رمزنگاری

حملهٔ شخص میانی باید به عنوان مشکلی کلی که ناشی از حضور عناصر واسطه به عنوان نمایندهٔ کاربران هر دو طرف است، دیده شود. اگر آن‌ها دارای صلاحیت و قابل اعتماد باشند همه چیز ممکن است خوب باشد. اما اگر آن‌ها دارای این ویژگی‌ها نباشند هیچ چیز خوب نخواهد بود. حملهٔ شخص میانی را می‌توان با عملکرد در نقش یک پراکسی سرور و معرفی خود به عنوان کاربر مورد اطمینان به هر دو طرف میتوان تشخیص داد.
یک حملهٔ شخص میانی رمزنگاری نشدهٔ قابل توجه، توسط یکی از نسخه‌های رهیاب شبکهٔ بی‌سیم Belkin در سال ۲۰۰۳ (میلادی) انجام شد. به گونه‌ای که به صورت تناوبی، بر روی یک اتصال پروتکل انتقال ابرمتن (HTTP) که برای مسیریابی استفاده می‌شد تسلط می‌یافت. این حمله ترافیک به سمت مقصد، هدایت نمی‌کرد. در عوض، خودش به عنوان سرور منتخب پاسخ می‌داد. پاسخی که ارسال می‌شد در مکانی از صفحهٔ وب مورد درخواست کاربر، تبلیغ یکی دیگر از محصولات Belkin بود. پس از اعتراض کاربران دارای دانش فنی، این توانایی از نسخه‌های بعدی، سفت‌افزار رهیاب برداشته شد.
نمونهٔ دیگری از حملهٔ شخص میانی رمزنگاری نشده، "آزمون تورینگ کشتراز پورنو" است. برایان وارنر گفت این یک «حملهٔ امکان‌پذیر» است که ایجادکننده‌های اسپم می‌توانند از آن برای غلبه بر کپچاها استفاده کنند. ایجادکننده‌های اسپم‌ها یک وبگاه پورنوگرافیک راه‌اندازی می‌کنند که برای دسترسی به محتویات آن، کاربر می‌بایست کپچاهاهای مربوط به پرسش‌ها را حل کند. با اینحال جف اتوود خاطرنشان می‌کند که این حملات صرفاً تئوری هستند. تا سال ۲۰۰۶ شواهدی مبنی بر اینکه ایجادکنندگان اسپم‌ها یک کشتزار پورن Turing ساخته باشند وجود نداشت؛ اما آنگونه که در خبرهای اکتبر ۲۰۰۷ گزارش شد ایجادکننده‌های اسپم‌ها در واقع یک بازی تحت مایکروسافت ویندوز ساخته بودند که در آن کاربران، کپجاهای سرویس یاهو! میل را حل کرده و با نگاره‌های پورنو پاداش داده می‌شدند. این به ایجادکننده‌های اسپم‌ها اجازهٔ ایجاد حساب کاربری پست الکترونیک، به طور موقت و رایگان و با امکان ارسال اسپم را می‌داد.