محافظت و ایجاد امنیت تجهیزات الکترونیکی و اویونیک نظامی در مقابل تهدیدهایی مانند نفوذ، مهندسی معکوس و رمزگشایی از عوامل مهم در موفقیت یک عملیات است. درحالی که در سال‌های اخیر جنگ سایبری و فناوری‌های مورد استفاده در آن بسیار پیچیده شده است، اما همچنان رو‌ش‌هایی ساده و کم هزینه برای نفوذ در سیستم‌های الکترونیکی وجود دارد. حملات کانال جانبی(SCA[1]) یکی از این روش‌ها است که می‌تواند با هزینه کمتر از 5 هزار دلار برای خرید تجهیزات عادی آزمایشگاه‌های الکترونیک اجرا شود. این حملات در واقع توسط اطلاعات نشتی از ساختار فیزیکی یک سیستم رمزنگار انجام می‌شود. این اطلاعات از قبیل توان مصرفی، تشعشعات الکترومغناطیسی، اطلاعات زمانی یا حتی صوت هستند. این نوع حملات به دلیل سادگی اجرا و موثر بودن از اهمیت زیادی در حوزه رمزنگاری برخوردارند.

از جمله مهم‌ترین حملات کانال جانبی می‌توان به تحلیل ساده توان ([2]SPA) و تحلیل تفاضلی توان ([3]DPA) اشاره کرد. این روش‌های غیرتهاجمی از تحلیل توان مصرفی یک دستگاه که در حال اجرای عملیات‌های معمول خود شامل الگوریتم‌ها و کلید‌های رمزنگاری است، استفاده می‌کنند. راهکارهای ساده‌ روش موثری برای مقابله با چنین تهدیدهایی نیستند و دستگاه نیازمند یک رویکرد لایه‌ای مقاوم است که داخل خود سیستم ادغام شده باشد.

تاریخچه حملات کانال جانبی

اولین گزارش رسمی در رابطه با حمله SCA به سال 1965 میلادی بر می‌گردد. آقای رایت (یکی از دانشمندان وقت ستاد ارتباطات دولت بریتانیا) سال‌ها بعد گزارش داد که سازمان اطلاعات داخلی انگلستان (MI5) در تلاش برای کشف کدهای یک دستگاه رمزنگار به کار گرفته شده در سفارت مصر بوده است. این دستگاه از نوع سایفر مکانیکی بوده و به دلیل محدودیت‌ در توان محاسباتی برای کشف رمز، انجام آن با مانع مواجه شد. آقای رایت در ادامه پیشنهاد کرد یک میکروفن در کنار این دستگاه مکانیکی قرار دهند تا از طریق صدای کلیک تولید شده از سوی دستگاه بخشی از رمز آن کشف شود. با گوش دادن به صدای کلیک‌های دستگاه، MI5 با موفقیت موقعیت اصلی 2 یا 3 روتور این ماشین مکانیکی را کشف کرد. از طریق این اطلاعات توان محاسباتی مورد نیاز برای شکستن رمز دستگاه به شدت کاهش یافت و MI5 توانست برای سال‌ها ارتباطات این سفارت را جاسوسی کند.

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

اهمیت SCA

حفظ اطلاعات و سعی در کسب اطلاعات دشمن از مهمترین کارهایی است که در یک جنگ بایستی صورت بگیرد. برتری اطلاعاتی گاه برتری نظامی را به چالش می‌کشد و کاملا بی اثر می‌کند. برای مثال در جنگ ۱۹۶۷ خاورمیانه بین کشورهای عربی و رژیم اشغال‌گر قدس میزان قوای نظامی اعراب به مراتب بیش از رژیم اشغال‌گر قدس بود و با توجه به اینکه اعراب حمایت شوروی را پشت سر خود داشتند چندان ترسی از حامیان بین‌المللی رژیم رژیم اشغال‌گر قدس نداشتند. اما برتری اطلاعاتی رژیم اشغال‌گر قدس و حمله ناگهانی او و نابودی نیروی هوایی اعراب سبب شکست اعراب در جنگ شد.

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

بنابراین تجهیزاتی که از رمزنگاری برای محافظت از انتقال اطلاعات حساس و امنیتی استفاده می‌کنند باید در برابر انواع مختلف حملات کانال جانبی از جمله DPA و SPA مقاوم باشند. شاید جای تعجب نباشد که تراشه‌های سیلیکونی با کاربرد عمومی همچون FPGAها و ASICها به دلیل سهولت در دسترسی، بیشتر از همه مورد توجه مهاجمان SCA هستند.

حملات تحلیل توان

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

تحلیل ساده توان

در تکنیک SPA اطلاعات جمع‌آوری شده از توان مصرفی دستگاه هدف در حین رمزنگاری مستقیما تفسیر می‌شود. به عبارت دیگر مهاجم سعی دارد با تعداد محدودی داده‌های اثر توان، تا حدودی به کلید یا اطلاعاتی پیرامون الگوریتم رمزنگاری سیستم دست یابد. هرچند این روش در اجرا ساده است، اما نیازمند داشتن اطلاعاتی از جزئیات پیاده‌سازی دستگاه مورد حمله است. روش SPA زمانی مفید است که تنها یک یا تعداد محدودی از نمونه‌های تغییرات توان مصرفی دستگاه برای مجموعه ثابتی از داده‌های ورودی در دسترس است.

کشف کلید الگوریتم رمزنگاری RSA با استفاده از تحلیل توان. پیک سمت چپ نشان دهنده‌ تغییرات توان CPU در حین اجرای گامی از الگوریتم بدون انجام عملیات ضرب و پیک سمت راست نشان‌دهنده توان مصرفی با انجام عملیات ضرب است که مقایسه‌ این دو مقادیر صفر و یک کلید را مشخص می‌کند.

اگر چه این روش قادر به استخراج کلید رمزنگاری در محیط‌های پر نویز نیست، اما روشی کارآمد و موثر برای بدست آوردن داده‌های لازم به منظور کشف کلید‌ها است. تکنیک SPA به راحتی می‌تواند شاخه‌های شرطی را در یک نرم‌افزار رمزنگار تشخیص دهد. برای پیش‌گیری از چنین حمله‌ای باید اطمینان حاصل کرد که اثری از مقادیر رمز و کلید در شاخه‌های شرطی نرم‌افزار وجود نداشته باشد.

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

تحلیل تفاضلی توان

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

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

یک بلوک دیاگرام ساده از آنالیز تفاضلی توان

در حال حاضر استاندارد رمزنگاری پیشرفته ([4]AES) برای کاربردهای صنعتی و نظامی وجود دارد. طراحان در بسیاری از سیستم‌های نظامی برای مخفی کردن اطلاعات تبادلی بین مبدا و مقصد از AES استفاده می‌کنند. اگر چه از طریق این استاندارد مهاجمان امکان شکستن کلید را با استفاده از روش‌های مرسوم ندارند، اما به شدت مستعد حملات DPA هستند. بنابراین طراحان باید اقدامات لازم برای مقابله با چنین تهدیدهایی را انجام دهند.

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

علاوه بر این برخی از شرکت‌ها مانند Rambus ماژول‌هایی تحت عنوان «ضد اندازه گیری DPA» ارائه می‌دهند که با استفاده از آن‌ها در طراحی سخت‌افزاری دستگاه، می‌توان از حملات تحلیل توان جلوگیری کرد.

نتیجه‌گیری

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

[1] Side-Channel Attacks

[2] Simple Power Analysis

[3] Differential Power Analysis

[4] Advanced Encryption Standard