حمله بازپخش

حملهٔ بازپخش یا تکرار (به انگلیسی: Replay attack) یکی از انواع حملات تحت شبکه است که در آن یک انتقال دادهٔ معتبر با انگیزهٔ بدخواهانه یا کلاه برداری تکرار می‌شود یا به تاخیر می‌افتد.

روش حمله

این حمله بدین گونه صورت می‌گیرد که فرد حمله‌کننده داده‌های در حال انتقال را رهگیری کرده، آن‌ها را از روی سیم برمی‌دارد و پس از بدست آوردن اطلاعات مهم مانند نام کاربری و رمز عبور یا تغییر اطلاعات، آن‌ها را دوباره ارسال می‌کند؛ که معمولاً هم به وسیلهٔ جایگزینی بسته‌های IP صورت می‌گیرد مانند حمله رمزگذاری جریانی.

نمونه

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

اقدامات متقابل

راه‌های مختلفی برای جلوگیری از حملهٔ باز پخش یا تکرار استفاده می‌شوند که از جملهٔ آن‌ها می‌توان به این موارد اشاره کرد: توکن امنیتی دوره‌ای، رمزهای عبور یک بار مصرف، نانس، و یکی دیگر از راه‌های جلوگیری از حملهٔ تکرار برچسب گذاری زمان می‌باشد.

نمونه

به عنوان مثال: باب یک توکن امنیتی یک بار مصرف به آلیس می‌فرستد، که آلیس از آن برای تبدیل امنیتی رمز عبور خود استفاده می‌کند و پس از تبدیل امنیتی رمز عبور خود،  آن را برای باب می‌فرستد. در طرف دیگر نیز باب همین محاسبات را انجام می‌دهد و تنها در صورتی که مقادیر تولید شده در هر دو طرف با هم مطابقت داشته باشند برقراری ارتباط بین این دو نفر موفقیت‌آمیز است.
حال فرض کنید حمله‌کننده باز هم توانسته این مقادیر را تولید کند و می‌خواهد دفعهٔ بعد هم از آن استفاده کند. در اینجا باب یک توکن امنیتی دوره‌ای دیگر و به تبع متفاوت با دفعهٔ پیش می‌فرستد، و هنگامی‌که فرد حمله ‌کننده با مقادیری که با استراق سمع از دفعهٔ پیش بدست آورده بود،  پاسخ می‌دهد با محاسبات باب متفاوت است و بدین گونه باب متوجه بروز حمله می‌گردد.
این توکن امنیتی هر بار باید به صورت تصادفی انتخاب شوند. در غیر این صورت؛ حمله‌کننده ممکن است بتواند خود را به جای باب جا بزند، و با ارائهٔ یک سری توکن جعلی به آلیس او را متقاعد کند تا برای تبدیل رمز خود از آن‌ها استفاده کند و سپس حمله‌کننده می‌تواند در زمان‌های بعدی که لازم دارد،  پاسخ آلیس را به باب بازارسال کند و باب هم این احراز هویت را قبول می‌کند.
رمزهای عبور یک بار مصرف شبیه این توکن‌های امنیتی دوره‌ای هستند.  به این صورت که این رمزهای عبور بعد از اینکه مورد استفاده قرار گرفتند یا بعد از یک دورهٔ زمانی خیلی کوتاه منقضی می‌شوند. در تراکنش‌های احراز هویت فردی، می‌توان علاوه بر توکن امنیتی دوره‌ای از رمزهای عبور یک‌بارمصرف هم استفاده کرد. این روش به‌طور گسترده‌ای در سیستم‌های بانکداری آنلاین شخصی پیاده‌سازی شده‌است.
همچنین باب می‌تواند نانس‌هایی را بفرستد؛ اما باید شامل کد احراز هویت پیام (به انگلیسی: MAC) باشد تا آلیس بتواند آن را چک کند.
همانطور که در بالا گفته شد یکی دیگر از راه‌های جلوگیری از حملهٔ تکرار برچسب گذاری زمان (به انگلیسی: Timestamping) است که باید با استفاده از یک پروتکل امن، سنکرون یا هم‌زمانی را ایجاد کرد.
به عنوان مثال باب به صورت دوره‌ای زمان خود را روی زمان سنج خود به همراه کد احراز هویت پیام (به انگلیسی: MAC) منتشر می‌کند. هنگامی‌که آلیس می‌خواهد به باب پیامی بدهد، بهترین برآورد خود از زمان سنج باب را نیز در پیام خود در نظر می‌گیرد که البته آن هم تصدیق شده‌است. باب هم فقط پیام‌هایی را قبول می‌کند که برچسب گذاری زمان (به انگلیسی: Timestamping) معقولی دارند.  فایدهٔ این طرح این است که در اینجا باب نیازی به تولید اعداد تصادفی ندارد.