بخشی از مقاله

خلاصه

وابستگیهای بین دورهای مختلف الگوریتمهای رمز که توسط طرح کلید ایجاد میشوند، حملههای مختلفی را امکانپذیر میسازد. به همین دلیل، جدیدترین رمزها مانند PRINCE هیچ طرح کلیدی ندارند. در این مقاله یک روش تحلیل خطای تفاضلی که ترکیب حملههای خطا و تحلیل رمز تفاضلی است، برای رمزهای بلوکی که زیرکلیدهای مستقل داشته باشند، معرفی میشود. همچنین یک الگوریتم که این تکنیک را پیادهسازی میکند، توصیف میشود. علاوه بر این، نشان داده میشود که با کاربرد الگوریتم فوق روی رمز بلوکی سبک وزن PRINCEتقریباً، 4 تزریق خطا کافی است تا کلید 128 بیتی کامل بازسازی شود.

کلمات کلیدی: تحلیل رمز، تحلیل خطای تفاضلی، PRINCE، رمز بلوکی سبک وزن، حملهی خطای چند مرحلهای.

.1 مقدمه

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

پیشرو تحولات اخیر، سیر تکاملی رمزهای بلوکی سبکوزن[1] بوده است. رمزنگاری سبکوزن با احساس نیاز در کاربردهایی مانند فناوریهای شناسایی بسامد رادیویی، شبکههای حسگر و کارتهای هوشمند بهوجود آمد. اگرچه این فناوریها در زمانهای قبل هم وجود داشته ولی امروزه در کاربردهای زیادی استفاده میشود که همین دلیل باعث رشد اینفناوری و کاهش قیمت آن شده است. در دهه اخیر تحقیق درباره رمزنگاری سبکوزن آغاز شده و چندین الگوریتم رمز، مانند >2@ PRESENT ،>3@ LED و بسیاری دیگر، ارائه شده است.دلیل اصلی که باعث میشود ما به سمت رمزنگاری سبکوزن کشیده شویم، این است که اگر یک مکانیزم امنیتی گسترشیافته از تمام تواناییاش استفاده نکند، باعث به هدر رفتن منابع میشود. پس ما نباید بیش از حد مورد نیاز، برای بهدست آوردن امنیت، هزینه کنیم. بنابراین احساس نیاز به یک طراحی ابتدایی بوده که برای ابزار کوچک با منابع محدود، مناسب باشد و در همین حال امنیت کافی را برای کاربر فراهم نماید.

در هر رمزگذاری یک کلید الگوریتم وجود دارد که تنها در اختیار خود رمزگذار میباشد. از این کلید برای معکوس کردن عمل رمزنگاری و اصطلاحا رمزگشایی استفاده میشود. در علم رمزنگاری هرگاه کسی تلاش کند بدون جستجو و آزمون کل فضای کلید و بر اساس ویژگیهای آماری متن رمزشده و ساختار - منطقی/ریاضی - الگوریتم، کلید رمز را حدس بزند یا متنی را از رمز خارج کند، به این تلاش رمزشکنی یا تحلیل رمز گفته میشود. در واقع رمزشکنی فرایند شکستن تمامی تلاش بهکار رفته یا قسمتی از آن برای رمزگونهسازی اطلاعات است. بدین معنی که متن اصلی بدون دانستن کلید مناسب بازیابی شود.حمله به رمز تلاش عمدی و هوشمندانهای است که با هدف رخنه در یک سیستم امنیتی یا نقض سیاستهای امنیتی آن سیستم صورت میگیرد.

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

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

حمله تزریق خطا>4@ توسط بونه و همکارانش در سال 1996 ابداع شد و یک روش قدرتمند رمزشکنی است که با ایجاد مشکل یا تزریق خطاهای تعمدی در الگوریتم رمزکننده به این امید است که محاسبات با وجود خطا باعث نشت اطلاعات کلید یا دیگر اطلاعات مهم شود.بهطور کلی، روش تحلیل تفاضلی بر این اصل استوار است که تغییرات بین دو بلوک از متن اصلی - حتی به اندازه یک بیت - چگونه بر روی خروجی رمز شده تاثیر میگذارد و نتیجهی رمز شدهی این دو بلوک به چه اندازه با یکدیگر اختلاف دارند. برای هر رمز خاص، اختلاف ورودی باید به دقت برای حمله انتخاب شود تا یک حمله موفق باشد. در مورد یک رمز بلوکی، تحلیل تفاضلی به یک مجموعه از تکنیکها برای ردیابی تغییرات از طریق شبکهای از تحولات، یافتن مکانهایی که رمز رفتار غیر تصادفی نشان میدهد و بهرهبرداری از چنین خواصی، به منظور بازیابی کلید مخفی، اشاره دارد.

تحلیل خطای تفاضلی [5] که ترکیب حملههای خطا [6] با تحلیل رمز تفاضلی [7] است؛ به طور خاص عامل موثری است و برای حملههای موفق بر روی انواع رمزها، از جمله [8] LED-64، [9] AES و [10] Trivium به کار گرفته شده است.رمزهای متقارن اطلاعات را با استفاده از یک کلید مخفی k رمز میکنند. رمزهای کلاسیک، مانند [14] AES، یک طرح کلید را بهکار میبرند که تعدادی از زیرکلیدها از k را با استفاده از تبدیلات خاص تولید میکند. زیرکلیدها برای مراحل تک یا دورهای الگوریتم رمزنگاری مورد استفاده قرار میگیرند. جدیدترین رمزها هیچ طرح کلیدی ندارند؛ زیرکلیدهای آنها قسمتهای مستقل از k هستند.برای مثال [11] PRINCE یک کلید 128 بیتی k=k0||k1 را استفاده میکند که متشکل از دو زیرکلید 64 بیتی k0 و k1 است که در طول رمزنگاری استفاده میشوند. یک دلیل برای اجتناب از طرح کلید، هزینه پایینتر اجرا و پیادهسازیهای سخت افزاری است.

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

توجه داشته باشید که حمله به این رمز خاص به عنوان تصویری از روش کلی به کار گرفته میشود.ساختار کلی این مقاله بدین شرح است: در بخش دوم به معرفی حمله خطای چند مرحلهای به رمزهای بلوکی سبکوزن پرداخته خواهد شد. الگوریتم حمله خطای چند مرحلهای در شکل کلیاش را متناسب با حمله به رمزهای بلوکی با استفاده از زیرکلیدهای مستقل، معرفی خواهیم کرد، به عنوان مثال رمزهای بلوکی که هیچ طرح کلیدی ندارند؛ که در حین تولید تعدادی از کاندیدهای کلید، تعداد تزریقهای خطای ضروری را به حداقل میرساند. در بخش سوم الگوریتم رمز PRINCE که از رمزهای بلوکی سبکوزن [1] است، معرفی میشود. در بخش چهارم نشان خواهیم داد که چگونه PRINCE با استفاده از تحلیل خطای تفاضلی تحلیل رمز میشود، و برخی از نتایج تجربی در این حمله ارائه میشود. بخش پنجم نتیجهگیری و ارائه یک چشم انداز برای کارهای آینده است.

.2 چارچوب حمله خطای چند مرحلهای

فرض کنید F یک رمز بلوکی با اندازه بلوک 2n باشد . - n ∈ N - فرض میکنیم که کلید مخفی k به صورت یک الحاقاز زیرکلیدهای مستقل    k=k0 || k1  نوشته شده باشد به طوری که هر زیرکلید دارای اندازه 2n باشد. علاوه براین فرض میکنیم که الگوریتم رمزنگاری در بخشهای به اندازه 2m بیتی کار میکند؛ - برای m=2 آنها نیبل - nibble - نامیده میشوند - . برای رمز PRINCE دو زیرکلید استفاده میشود و داریم n=6، s=2 و .m=2 هدف حملهی خطای چند مرحلهای، یک حمله متن ساده معلوم است که در s مرحله اجرا میشود - یک مرحله برای هر زیرکلید - . حمله با رمزنگاری یک متن ساده p در غیاب خطاها و با ثبت متن رمزی بدست آمدهی c شروع میشود. فرض بر این است که k روی دستگاهذخیره شده است و مهاجم هیچ دسترسی به آن ندارد. هر مرحلهی i ∈ {0, 1, … , s − 1}    از حمله شامل یک یا چندین تزریق

در متن اصلی مقاله به هم ریختگی وجود ندارد. برای مطالعه بیشتر مقاله آن را خریداری کنید