موضوع مقاله: تحلیل توان | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # تحلیل توان | مقدمه: این رفتار اجازهٔ تمایز بیتِ نما را می‌دهد و توسط آن می‌توان به ۱ یا ۰ بودن بیتِ پُرارزش کلید خصوصی پی برد. | ## بخش 1: تحلیل توان | در علم رمزنگاری، تجزیه و تحلیل توان نوعی حمله کانال جانبی است که در آن مهاجم میزان مصرف توان از یک دستگاه رمزنگاری سخت‌افزاری (مانند کارت هوشمند، «جعبه سیاه مقاوم در برابر حمله» یا مدار مجتمع) را مورد مطالعه قرار می‌دهد. در این حمله مهاجم می‌تواند به‌طور غیر تهاجمی کلیدهای رمزنگاری و سایر اطلاعات مخفی را از دستگاه استخراج کند. آثار توانی با استفاده از دادن ورودی‌های متفاوت به دستگاه و بررسی شکل موج مصرف توان از یکی از پایه‌های دستگاه بدست می‌آیند. تجزیه و تحلیل توان تفاضلی (DPA) یک شکل پیشرفته تر از تجزیه و تحلیل توان است که می‌تواند به یک مهاجم اجازه دهد مقادیر میانی و خاصی را در الگوریتم رمزگذاری و در محاسبات آن از طریق تجزیه و تحلیل آماری داده‌های جمع‌آوری شده از چندین عملیات رمزنگاری محاسبه کرده و بدست آورد. SPA و DPA در سال ۱۹۹۸ توسط پل کوچر، جوشوا جافه و بنجامین جون به جامعه رمزنگاری آزاد معرفی شدند.P. تجزیه و تحلیل توان ساده (SPA) تجزیه و تحلیل توان ساده (SPA) یک حمله کانال جانبی است که شامل بررسی بصری نمودارهای جریان مصرفی مورد استفاده یک وسیله در طول زمان است. هنگامی که دستگاه یک عملیات مختلفی (مانند ضرب یا توان رسانی پیمانه ای در الگوریتم‌های رمز گذاری) را انجام می‌دهد، تغییرات در مصرف توان رخ می‌دهد. به عنوان مثال، دستورالعمل‌های مختلفی که توسط یک ریز پردازنده انجام می‌شود، مشخصه‌های مصرف توان متفاوتی دارند. به‌طور مشابه، عملیات توان رسانی و ضرب در پیاده‌سازی‌های RSA غالباً قابل تفکیک است و یک مهاجم را قادر به محاسبه کلید مخفی می‌کند. حتی اگر میزان تغییرات در مصرف توان اندک باشد، موج نگارهای دیجیتالی استاندارد می‌توانند تغییرات ناشی از داده را به راحتی نشان دهند. فیلترهای فرکانس و توابع میانگین گیر (مانند نمونه‌هایی که در داخل موج نگارها تعبیه شده‌اند) اغلب برای فیلتر کردن ادوات با فرکانس بالا استفاده می‌شوند. تجزیه و تحلیل توان تفاضلی (DPA) تجزیه و تحلیل توان تفاضلی (DPA) یک حمله کانال جانبی است که شامل تجزیه و تحلیل آماری اندازه‌گیری‌های مصرف توان از یک سیستم رمزنگاری است. این حمله رفتار مصرف توان در یک لحظه خاص از آثار توانی مختلف را بر اساس یک مقدار میانی (یک بیت فرضی در الگوریتم رمز که جریان الگوریتم را تغییر می‌دهد) را در دسته‌بندی‌های مجزا صورت داده و سپس الگوی مصرف توان ریزپردازنده‌ها یا سایر سخت‌افزارها را هنگام انجام عملیات با استفاده از کلیدهای مخفی به‌صورت میانگین‌گیری آماری و سپس تفاضل این مقادیر، افشا می‌کند. حملات DPA دارای ویژگی‌هایی از جمله پردازش سیگنال و تصحیح خطا می‌باشند که می‌توانند اطلاعات مخفی از اندازه‌گیری‌هایی که حاوی نویز بیش از حد هستند را برای استخراج بهره‌برداری نمایند. این در حالی است که در حمله تجزیه و تحلیل توان ساده، اطلاعات مخفی با نویز زیاد، قابلیت استخراج را نخواهد داشت. | ## بخش 2: تحلیل توان | با استفاده از DPA، یک مهاجم می‌تواند با تجزیه و تحلیل اندازه‌گیری مصرف توان، کلیدهای مخفی ناشی از چندین عملیات رمزنگاری که توسط یک دستگاه یا کارت هوشمند آسیب‌پذیر صورت گرفته را بدست آورد. در نوع تک بیتی آثار توانی اندازه‌گیری شده از دستگاه قربانی (کارت هوشمند یا دیگر ادوات) بر اساس یک مقدار میانی یک بیتی در الگوریتم رمزگذاری دسته‌بندی می‌شوند. هر کدام از این آثار توانی بر اساس تک بیت فرضی مقدار میانی در دستهٔ صفرها یا یک‌ها قرار می‌گیرند. سپس در مرحله آخر از هرکدام از این آثار توانی دسته‌بندی شده، میانگین گرفته شده سپس از همدیگر تفاضل خواهند شد. اگر در اثر توانی نهایی یک مقدار ناهنجاری(Spike) در شکل موج مشاهده شود بیت فرضی (مقدار میانی) حدس زده شده درست بوده در غیر این صورت بیت فرضی اشتباه مد نظر قرار گرفته‌است. در حمله چند بیتی به جای یک بیت فرضی میانی، یک بایت (و یا چند بیت) به عنوان مقدار میانی در نظر گرفته شده و بر اساس فاصله همینگ دسته‌بندی صورت می‌گیرد. HO-DPA باعث می‌شود چندین منبع داده و در مدت زمانی مختلف در تجزیه و تحلیل گنجانیده شوند. در بسیاری از پیاده‌سازی‌های الگوریتم فوق، بیت کم ارزش (LSB) بررسی می‌شود و بر اساس ۰ یا ۱ بودن آن تصمیمات متناسب ادامه الگوریتم اتخاذ می‌گردد. همان‌طور که در قسمت‌های قبل ذکر گردید مقدار بیتی که بتواند جریان الگوریتم رمز را تغییر دهد نقطه عطفی برای نفوذ خواهد بود. اگر بیت LSB مذکور ۱ باشد مقدار ثبات یک بیت به سمت راست می‌چرخد و مقدار ۱ در پر ارزش‌ترین مکان ثبات(MSB) قرار می‌گیرد و اگر این بیت ۰ باید ثبات یک بیت به سمت راست شیفت داده شده و مقدار ۰ در پر ارزش‌ترین مکان ثبات(MSB) قرار می‌گیرد. تجزیه و تحلیل توان می‌تواند بین این فرایندها تمایز قائل شده و یک مهاجم را قادر می‌سازد تا بیت کلید مخفی را حدس زده و تعیین کند. پیاده‌سازی الگوریتم‌هایی مانند AES و DES سه‌گانه -که اعتقاد بر این است که از لحاظ ریاضی قوی هستند- ممکن است با استفاده از حملات تجزیه و تحلیل توان، به شکلی ناچیزی قابلیت شکست داشته باشند (هر چند حمله‌های توانی بسیار موفقی به الگوریتم AES در آزمایشگاه سامانه‌های امن و هوشمند دانشکده مهندسی کامپیوتر دانشگاه شریف ثبت شده‌اند). در نتیجه، حملات تجزیه و تحلیل توان، ضعفِ در عناصر رمزنگاری الگوریتمی و امنیت پیاده‌سازی را با هم ترکیب می‌کنند. استانداردها و نگرانی‌های امنیت عَمَلی برای کاربردهایی که ممکن است وسایل و ادوات در اختیار مهاجمین قرار بگیرند، محافظت در برابر حملات تجزیه و تحلیل توان به‌طور کلی یک نیاز اصلی و مبرم برای طراحی خواهد گردید. طبق گزارش‌ها، از حملات تحلیل توانی در برابر ماژول‌های دسترسی مشروط (مانند ماژول‌های دسترسی به شبکه‌های ماهواره ای که نیاز به پرداخت هزینه برای تماشا دارند) نیز استفاده شده‌است. | ## بخش 3: تحلیل توان | به عنوان مثال، بیشتر موج نگارهای دیجیتال، ذخیره‌سازی و قابلیت جمع‌آوری داده‌های لازم را فراهم می‌کنند و تجزیه و تحلیل داده‌ها معمولاً با استفاده از رایانه‌های شخصی معمولی انجام می‌شود. همچنین ابزارها و محصولات تجاری طراحی شده برای آزمایشگاه‌ها (مانند بُردهای SASEBO-G) نیز موجود است. جلوگیری از حملات تجزیه و تحلیل توانی ساده و تفاضلی حملات تجزیه و تحلیل توان به‌طور کلی توسط یک دستگاه قابل شناسایی نیست زیرا نظارت، تحلیل و ارزیابی مهاجم به‌طور عادی یک حرکت منفعل محسوب می‌گردد. در نتیجه راهبردهای محافظتی همچون، سِپَر و پوشش ساختاری، قابلیت‌های ممیزی و آشکارسازهای حمله بی اثر هستند. درعوض، مهندسان رمزنگاری باید از این حیث اطمینان حاصل نمایند که تغییرات توانی دستگاه‌ها، اطلاعات قابل استفاده ای برای مهاجمان را نشر نمی‌دهد. چرا که یک دستگاه بسته به اینکه پرش شرطی گرفته انجام بپذیرد یا خیر می‌توان کارهای مختلفی را انجام دهد (مصرف توان متفاوت در صورت پرش یا عدم پرش ایجاد می‌گردد). به همین دلیل، باید مراقب بود تا مقادیر پنهانی و اطلاعات رمزی در پرش‌های شرطی حین اجرای الگوریتم و نرم‌افزارهای رمزنگاری تأثیر نگذارند. یکی از راهکارهای محافظت در برابر حمله SPA در الگوریتم AES این است که هر دو عملیات توان رسانی و ضرب پیمانه ای صورت بگیرد و توان مصرف بنماید ولی بر اساس مقدار صحیح یا غلط بودن شرط، حاصل این عملیات به ثبات انتقال داده شود. به عبارتی در این روش محافظی عملیات انتقال بسیار کمتر از عملیات ضرب و توان رسانی توان مصرف می‌نماید و یک مهاجم نمی‌تواند آنالیز صحیحی از مصرف توان صورت دهد. پیشگیری از حمله تجزیه و تحلیل توان تفاضلی دشوارتر است زیرا حتی بایاس‌های ناچیز (Spikeهای توانی کوچک) در مصرف توان می‌تواند به نقاط ضعف قابل استفاده منجر شود. چرا که این بایاس‌ها در نهایت به‌صورت برآیندی از هزاران نمونه از اثر توانی نشان داده خواهند شد. پاره ای از اقدامات متقابل شامل تغییرات در الگوریتم را به گونه ای که عملیات رمزنگاری روی داده‌هایی واقعی اتفاق بیفتد، انجام می‌دهند؛ که اینکار توسط برخی از روابط ریاضی مشتق شده از عملیات رمزنگاری حاصل می‌شود. یک رویکرد این است که پارامترهای کورکننده برای تصادفی کردن مقادیر آنها استفاده شود. در حالی که سیستم‌های مبتنی بر کلید عمومی مانند RSA معمولاً با بهره‌برداری از خواص ساختارهای جبری زیرین محافظت می‌شوند (به عنوان نمونه خاصیت همومورفیک بودن عملیات ضرب در الگوریتم RSA)، ساختارهای دارای کلید متقارن مانند رمزکننده‌های بلوکی به روش‌های متفاوتی (به عنوان مثال روش "نقاب گذاری") احتیاج دارند. | ## جمع‌بندی | برخی از شرکت‌ها، مانند RamBus، ادعاهای مالکیت معنوی (اختراع) در خصوص برخی مکانیزم‌های دفاعی در برابر حمله DPA را دارند.