در بحث امنیت رایانه به حمله ای گفته می‌شود که بر اساس اطلاعات بدست آمده از پیاده‌سازی یک سیستم باشد تا ضعف‌هایی که در الگوریتم پیاده‌سازی آن وجود دارد (بعنوان مثال و ). اطلاعات زمانبندی، مصرف برق، نشت یا حتی صدا می‌توانند یک منبع اطلاعات عظیم اطلاعات را فراهم آورد که قابل بهره‌برداری و سوءاستفاده باشد.
 برخی از حملات کانال جانبی به دانش فنی دربارهٔ عملکرد داخلی سیستم احتیاج دارند؛ اگرچه برخی دیگر مانند تحلیل قدرت دیفرانسیل به اندازه حملات مؤثر هستند. طبق گفته محققان و ، ظهور برنامه‌های کاربردی و سرویس‌های نیز امکان حملات کانال جانبی را بر ایجاد کرده‌است حتی اگر انتقال بین و سرور رمزگذاری شده باشد (به عنوان مثال از طریق یا رمزگذاری ). بسیاری از حملات کانالهای جانبی قدرتمند، مبتنی بر روشهای آماری هستند که توسط پل کوچر برای اولین بار ارائه شده‌است. 
 تلاش برای شکستن یک سیستم رمزنگاری با فریب دادن یا اجبار افرادی که دسترسی قانونی دارند معمولاً جزو حملات کانال جانبی به‌شمار نمی‌آیند: به و رمزنگاری شیلنگ لاستیکی مراجعه کنید.
 کلاسهای عمومی حمله کانال جانبی عبارتند از:
 
 
 
 
 
 
 
 
 در همه موارد، اصل اساسی این است که اثرات فیزیکی ناشی از عملکرد سیستم رمزنگاری می‌تواند اطلاعات مفیدی در مورد اسرار و رمزهای سیستم تولید کند؛ مانند ، اطلاعات حالت، کامل یا جزئی و موارد دیگر. اصطلاح cryptophthora (تخریب مخفی) گاهی برای بیان تنزیل مواد کلیدی پنهانی ناشی از نشت کانال جانبی به کار می‌رود.
 (حمله کانال جانبی حافظه پنهان) با استفاده از مونیتورینگ عملیات حیاتی امنیتی مانند ورود به جدول TES AES یا دسترسی‌های مضارب نمایی مدولار انجام می‌شود. سپس مهاجم بسته به دسترسی‌های ساخته شده یا ساخته نشده توسط قربانی، می‌تواند کلید رمزنگاری را بازیابی کند. همچنین برخلاف برخی دیگر از حملات کانال جانبی، این روش در عملیات رمزنگاری هیچ گونه خطایی ایجاد نمی‌کند و از دید قربانی پنهان می‌ماند.
 در سال ۲۰۱۷، آسیب‌پذیری‌های مبتنی بر در CPUها (ملقب به و Spectre) کشف شده‌اند که به مهاجمان اجازه می‌دهد تا محتوای حافظه سایر فرایندها و خود را نشت دهد.
 یک حرکت داده به داخل یاخارج از یا حافظه روی سخت‌افزار اجرا کننده الگوریتم رمزنگاری را مشاهده می‌کند. به سادگی با مشاهده گوناگونی زمان انجام عملیات رمزنگاری، می‌توان کل کلید مخفی را تعیین کرد. این گونه حملات در بر گیرنده تحلیل آماری از اندازه‌گیری‌های زمانی است و از طریق شبکه‌ها نشان داده شده‌اند. 
 یک حتی می‌تواند از طریق مشاهده مصرف انرژی یک دستگاه سخت‌افزاری مانند CPU یا مدار رمزنگاری، اطلاعات دقیق تری را ارائه دهد. این حملات، به‌طور ساده، به دو دسته آنالیزتوان ساده (SPA) و آنالیز توان تفاضلی (DPA) طبقه‌بندی می‌شوند.
 نوسانات جریان نیز تولید می‌کند که حملات مبتنی بر تجزیه و تحلیل اندازه‌گیری میزان انتشار الکترومغناطیسی را ممکن می‌سازد. این حملات معمولاً شامل تکنیک‌های آماری مشابه به حملات آنالیز قدرت هستند.
 یک ، با استفاده از اطلاعات الکترومغناطیسی و توان در چندین دستگاه نشان داده‌است که دارای پتانسیل شکستن چند دستگاه مختلف ولی یکسان را با یک پیمایش ساده می‌باشد.
 شباهت‌های تاریخی حملات کانال جانبی مدرن شناسایی شده‌اند. یک سند NSA نشان می‌دهد که در سال ۱۹۴۳، یک مهندس با اسپایک‌های قابل تفسیر را در یک اسلیوسکوپ متصل به خروجی رمزگشایی شده یک تله تایپ رمزگذاری شده مشاهده کرد. به گفته افسر سابق ، پیتر رایت، سرویس امنیتی انگلیس در ۱۹۶۰ انتشار از تجهیزات فرانسوی را مورد تجزیه و تحلیل قرار داد. در ۱۹۸۰، کنندگان اتحاد جماهیر به وجود اشکالاتی داخل ماشین تحریرهای Selectric پی بردند که ناشی از نویز الکتریکی حاصل از برخورد قطعات مکانیکی به کاغذ بود. ویژگی‌های این سیگنال‌ها می‌تواند تعیین کند که کدام کلید فشرده شده‌است. 
 مصرف برق دستگاه‌ها باعث گرمایش می‌شود که با اثر خنک‌کننده جبران می‌شود. تغییرات دما تنش مکانیکی ناشی از گرما ایجاد می‌کند. این تنش می‌تواند ایجاد کننده تشعشات سطح پایینی ناشی از عملکرد CPUها باشد (در بعضی حالات در حدود ۱۰کیلوهرتز). تحقیقات اخیر و همکاران پیشنهاد کرده‌است که از این طریق می‌توان اطلاعات مربوط به کارکرد رمزنگاری و الگوریتم‌ها را نیز بدست آورد. این یک .
 اگر سطح تراشه CPU یا در بعضی حالات سطح پکیج CPU قابل مشاهده باشد، تصاویر نیز می‌تواند اطلاعاتی را در مورد کدهای در حال اجرا در CPU را نشان دهد؛ که . 
 نمونه‌های شامل جمع‌آوری اطلاعات از نشانگر فعالیت هارد دیسک جهت خواندن تعداد کمی فوتون‌های ساطع شده توسط ترانزیستورها هنگام تغییر حالت می‌باشد. 
 از آنجا که حملات کانال جانبی به رابطه اطلاعات فاش شده از طریق یک کانال جانبی و داده‌های مخفی متکی هستند، اقدامات متقابل به دو دسته عمده تقسیم می‌شوند: (۱) حذف یا کاهش انتشار این دست اطلاعات (۲) حذف ارتباط بین اطلاعات فاش شده و داده‌های مخفی، که به‌طور معمول از طریق نوعی تصادفی کردن متن رمز شده که داده‌ها را به گونه ای تبدیل می‌کند که پس از تکمیل فرایند رمزنگاری قابل خنثی شدن باشد
 در دسته اول، نمایشگرهایی با محافظ مخصوص به منظور کاهش تشعشعات الکترومغناطیسی که حساسیت به حملات را کاهش می‌دهند، امروزه تجاری شده‌اند. بهبود و فیلترینگ توان خطوط انتقال قدرت می‌تواند به جلوگری از حملات مانیتورینگ نیرو کمک کند؛ هر چند چنین اقداماتی باید با احتیاط استفاده شوند چرا که حتی همبستگی‌های بسیار کوچک می‌توانند باقی بمانند و امینت را به چالش بکشاند. محفظه‌های فیزیکی می‌توانند خطر نصب پنهانی میکروفون‌ها (برای مقابله با حملات صوتی) و سایر دستگاه‌های مانیتورینگ خیلی کوچک (در مقابله با حمله رسم توان CPU یا حملات تصویربرداری حرارتی) را کاهش دهند.
 یکی دیگر از اقدامات متقابل دسته اول، گمراه سازی کانال منتشر شده با نویز است. به عنوان مثال، یک تأخیر تصادفی می‌تواند برای جلوگیری از حملات زمان‌بندی اضافه شود؛ اگرچه مخالفان می‌توانند میانگین‌گیری از اندازه‌گیری‌های چندگانه این تاخیرها را جبران کنند (یا به‌طور کلی، اندازه‌گیری‌های بیشتری را در تحلیل استفاده کنند). با افزایش مقدار نویز در کانال جانبی، دشمن باید اندازه‌گیری‌های بیشتری را جمع‌آوری کند.
 یکی دیگر از اقدامات متقابل در دسته اول، استفاده از نرم‌افزار آنالیز امنیتی برای شناسایی دسته‌های خاصی از حملات کانال جانبی است که می‌توان در طی مراحل اساسی طراحی سخت‌افزار پیدا شوند. حملات زمانبندی و حملات حافظه نهان هر دو از طریق بعضی نرم‌افزارهای تحلیل امنیتی تجاری که امکان تست آسیب‌پذیری را فراهم می‌کنند، قابل شناسایی هستند. جامع‌ترین روش برای استفاده از این اقدام متقابل، ایجاد یک چرخه عمر توسعه ایمن سخت‌افزاری شامل بهینه‌سازی پلتفرم‌های حلیل امنیتی در دسترس در مراحل مربوط به چرخه توسعه سخت‌افزار می‌باشد. 
 در مورد حملات زمانبندی علیه اهدافی که زمان محاسبه آنها به شمارش کلاک سایکل‌های گسسته تقسیم شده، یک مؤثر، به صورت هم‌زمان می‌باشد. این، حمله به زمانبندی را غیرممکن می‌سازد. چنین اقدامات متقابلی در عمل می‌تواند دشوار باشد؛ زیرا حتی هر دستور العمل می‌تواند در پردازنده‌های گوناگون، زمان اجرای متفاوتی داشته باشد.
 یک راه مقابله نسبی در برابر حملات تحلیل توان ساده (نه تحلیل توان تفاضلی) این است که نرم‌افزاری را طراحی کنیم که program counter آن در امن‌ترین حالت ممکن قرار داشته باشد (PC-Secure). در یک برنامه PC-Secure، مسیر اجرا به مقادیر مخفی بستگی ندارد. به عبارت دیگر، انشعابات شرطی فقط به اطلاعات عمومی بستگی دارند. (این شرایط محدودیت بیشتری نسبت به کد isochronous، و محدودیت کمتری نسبت به کد بدون انشعاب دارد) اگرچه عملیات ضرب در پردازنده‌ها بیشتر از NOP توان مصرف می‌کند، استفاده از یک مسیر اجرای ثابت از بروز این دست اختلافات توان وابسته به عملیات (تفاوت در توان مصرفی بین شاخه‌های مختلف) و در نتییجه نشت هر گونه اطلاعات مخفی جلوگیری می‌کند. 
 دلیل دیگری که یک کد non-isochronous باشد، وجود حافظه پنهان در CPUهای مدرن است؛ دسترسی به اطلاعاتی که ندرتاً استفاده می‌شوند موجب بروز هزینه زمانی زیادی می‌شود و در نتیجه افشای برخی اطلاعات مربوط به دفعات استفاده از بلوک‌های حافظه را در پی دارد. کد رمزنگاری شده طوری طراحی می‌شود که با استفاده روش‌های قابل پیش‌بینی استفاده از حافظه، در مقابل حملات کَش مقاوم باشد (نظیر دسترسی به داده‌های ورودی، خروجی و انجام این کار بر اساس یک الگوی ثابت). به عنوان مثال، از جستجوی جداول جستجوی وابسته به داده باید احتراز کرد زیرا حافظه پنهان ممکن است حاوی بخشی از داده‌های این جداول باشد.
 سایر اقدامات متقابل جزئی سعی در کاهش میزان اطلاعات به دست آمده از تفاضل توان وابسته به داده‌ها دارند. بعضی از عملیات‌ها از توانی استفاده می‌کنند که به تعداد بیت‌های ۱ در داده مخفی وابسته می‌باشد. استفاده از یک کد با وزن ثابت (مانند استفاده از گیت‌های Fredkin یا رمزگذاری دو ریلی) می‌تواند مرتبط با داده مخفی را کاهش دهد؛ اگرچه ارتباطات قابل بهره‌برداری ممکن است باقی بماند مگر اینکه تعادل کامل برقرار باشد. این «طراحی متعادل» می‌تواند به وسیله اثر متقابل داده و مکمل آن بر روی یکدیگر، تقریب زده شود. 
 چندین CPU امن به عنوان ساخته شده‌اند. آن‌ها هیچ مرجع جهانی زمانبندی ای ندارند؛ از آنجا که این پردازنده‌ها برای حملات زمانبندی و توان را دشوار کنند، تحقیقات دریافته اند که تغییرات زمان‌بندی در مدارهای ناهمگام برای حذف سخت‌تر است. 
 نمونه بارز دسته دوم تکنیکی است که با عنوان شناخته می‌شود. در مورد رمزگشایی با نمای مخفی و نمای رمزگذاری مربوطه و مدول ، این روش به شرح زیر صورت می‌پذیرد (برای سادگی، کاهش مدولار از فرمول‌ها حذف شده‌است): قبل از رمزگشایی، یعنی قبل از محاسبه نتیجه برای متن رمز شده ، سیستم یک عدد تصادفی را انتخاب می‌کند و آن را با نمای عمومی رمزگذاری کرده تا بدست آید. سپس رمزگشایی روی انجام می‌شود تا عبارت به دست آید. از آنجا که سیستم رمزگشایی را انتخاب کرده، می‌تواند مدول را محاسبه کند تا فاکتور را در نتیجه حذف نموده و (نتیجه واقعی رمزگشایی) را به دست آورد. برای حمله‌هایی که نیازمند جمع‌آوری اطلاعات کانال جانبی از عملیات‌هایی که مهاجم داده‌های آن را کنترل می‌کند، روش پرده کور یک اقدام متقابل مؤثر است چرا که عملیات واقعی بر روی نسخه تصادفی داده اجرا می‌شود که مهاجم کنترل و دانشی نسبت به آن ندارد.
 یک اقدامات متقابل عمومی تر (که در مقابل همه جملات کانال جانبی مؤثر است) ماسک کردن است. اصل ماسک کردن جلوگیری از هرگونه اثرگذاری مستقیم بر روی داده‌های حساس و در عوض اثرگذاری بر روی به اشتراک گذاشته شدهٔ آن است: مجموعه ای از متغیرها (به نام "سهام") به گونه ای که ( عملیات ). یک مهاجم باید تمام مقادیر به اشتارک گذاشته شده را بازیابی کرده تا بتواند اطلاعات معنی داری بدست آورد. 
 یکی دیگر از اقدامات متقابل اندازه‌گیری سطح کارآمد انرژی در برابر هر دو حمله کانال جانبی، یعنی توان و تشعشعات الکترومغناطیسی، که اثر میرایی بر سخت‌افزار دارند، نشان داده شده در ترکیب با مسیریابی محلی سطح پایین فلز، تا یک میلیارد مقاومند. این تکنیک یک آنالیز جعبه سفید از رمزنگاری IC را انجام می‌دهد و قبل از رسیدن به لایه‌های فلزی سطوح بالاتر که به عنوان آنتن بهتر عمل می‌کنند، اطلاعات حیاتی را در قالب کانال‌های جانبی تشعشعات الکترومغناطیسی به‌طور قابل ملاحظه ای سرکوب می‌کنند.
{"title": "حمله کانال جانبی", "link": "https://fa.wikipedia.org//w/index.php?title=%D8%AD%D9%85%D9%84%D9%87_%DA%A9%D8%A7%D9%86%D8%A7%D9%84_%D8%AC%D8%A7%D9%86%D8%A8%DB%8C&oldid=34201598", "language": "fa"}