دانلود پایان نامه رشته کامپیوتر

بررسی استاندارد رمزنگاری پیشرفته در كارتهای هوشمند

 
 
 
 
 
 
 
 
چکیده:
از حدود چهاردهه قبل، اولین کارت های هوشمند به بازار عرضه شدند و به دلیل کاربردهای گسترده آنها با سرعت فزاینده ای در کشورهای مختلف مورد استفاده قرار گرفتند. یک کارت هوشمند عبارت است از جسم فیزیکی کارت که یک تراشه رایانه ای برروی آن نصب شده باشد. ظرفیت حافظه این کارت ها بین 1 الی 64 کیلو بایت قابل تغییر است. از طرفی، قابلیت ذخیره سازی و پردازش اطلاعات و نیز ، کاربرد این کارت ها را در کلیه عرصه های زندگی انسان از جمله: حمل و نقل؛ گردشگری؛ فرهنگی – رفاهی؛ پرداخت های روزمره شهروندان و خدمات نیروی انسانی گسترش داده شده است. در این پروژه ضمن معرفی کارت-های هوشمند و اشاره ای به تاریخچه ظهور و رشد آنها، به روش هایی با امنیت بالا جهت مراقبت از اطلاعات ذخیره شده در این كارت ها مانند استفاده از الگوریتم AES پرداخته شده است.
 
 
 
مقدمه
استاندارد رمزنگاری پیشرفته (Advanced Encryption Standard) یا به اختصار AES مشخصه‌ای برای رمزنگاری داده‌های دیجیتال است که در سال ۲۰۰۱ توسط مؤسسه ملی فناوری و استانداردهای ایالات متحده ایجاد گردید.[۱] این رمز که در ابتدا ریندال(به انگلیسی: Rijndael) نامیده می‌شد و توسط دو رمزنگار بلژیکی به نام‌های ژوآن دیمن (به انگلیسی: Joan Daemen) و وینسنت رینمن (به انگلیسی: Vincent Rijmen) توسعه داده شد.[۲]
استاندارد رمزنگاری پیشرفته توسط دولت ایالات متحده پذیرفته شده و اکنون در سراسر جهان استفاده می‌گردد. این الگوریتم رمزنگاری به جای استاندارد رمزنگاری داده‌ها (DES) که در سال ۱۹۷۷ منتشر شده،[۳] جایگزین گردیده‌است. الگوریتم AES یک الگوریتم کلید متقارن است، بدین معنی که از یک کلید یکسان برای رمزنگاری و رمزگشایی استفاده می‌شود.
 
در ایالات متحده، AES توسط مؤسسه ملی استانداردها و تکنولوژی به عنوان FIPS PUB 197 در نوامبر ۲۰۰۱ اعلان گردید.[۱] این اعلان بعد از یک فرایند استانداردسازی پنج ساله بود که در این فرایند ۱۵ طرح، تا قبل از معرفی رمز Rijndael به عنوان گزینه مناسب، ارائه و ارزیابی کردید. این رمزنگاری به عنوان استاندارد دولت فدرال در ماه می ۲۰۰۲ بعد از تأیید توسط وزارت بازرگانی آمریکا به کار گرفته شد. AES در استاندارد ISO/IEC 18033-3 قرار گرفته‌است. AES در بسته‌های رمزنگاری متفاوتی در دسترس بوده و نخستین سایفر باز و در دسترس عموم است که توسط آژانس امنیت ملی ایالات متحده آمریکا (NSA)، بعد از بکارگیری در یک ماژول رمزنگاری تأیید شده NSA، برای اطلاعات خیلی محرمانه تصدیق شده‌است(امنیت AES مطالعه گردد).
 
نام ریندال (تلفظ هلندی: [ˈrɛindaːl]) ترکیبی از نام‌های دو مخترع است. اگر بخواهیم دقیق شویم، استاندارد AES گونه‌ای از ریندال است که اندازه بلاک آن ۱۲۸ بیتی است.
 
 
استاندارد رمزنگاری پیشرفته بر اساس یک قاعده طراحی به نام substitution-permutation network است و به هر دو صورت سخت‌افزاری و نرم‌افزاری سریع است.[۴] برخلاف DES، استاندارد رمزنگاری پیشرفته از رمزنگاری فیستل استفاده نمی‌کند. استاندارد رمزنگاری پیشرفته گونه‌ای از Rijndael است که اندازه بلاک ثابت ۱۲۸ بیتی و اندازه کلید ۱۲۸، ۱۹۲ و ۲۵۶ بیتی دارد. در مقابل، مشخصه per se الگوریتم Rijndael با اندازه کلید و اندازه بلاکی تعیین می‌شود که می‌تواند هر ضریبی از ۳۲ بیت، با حداقل ۱۲۸ و حداکثر ۲۵۶ بیت باشد.
 
استاندارد رمزنگاری پیشرفته روی ماتریسی ۴*۴ از بایت‌ها با ترتیب ستونی، که state نامیده می‌شود، عمل می‌کند، اگرچه برخی نسخه‌های Rijndael اندازه بلاک بزرگتر و ستونهای بیشتری در state دارند. بیشترین محاسبات AES در یک finite field خاص انجام می‌گیرد.
 
اندازه کلید استفاده شده در رمز AES، تعداد تکرارهای چرخه‌های تبدیل (transformation) را تعیین می‌کند که ورودی، با نام متن عادی (plaintext) را به خروجی نهایی با نام متن رمز شده (ciphertext) تبدیل می‌نماید. تعداد چرخه‌های تکرار به صورت زیر است:
 
۱۰ چرخه تکرار برای کلیدهای ۱۲۸ بیتی.
۱۲ چرخه تکرار برای کلیدهای ۱۹۲ بیتی.
۱۴ چرخه تکرار برای کلیدهای ۲۵۶ بیتی.
هر تکرار شامل چندین مرحله پردازشی است، که یک مرحله بستگی به کلید رمزنگاری دارد. مجموعه‌ای از چرخه‌های معکوس برای تبدیل متن رمز شده به متن اصلی با استفاده از همان کلید رمزنگاری بکار گرفته می‌شود.
 
شرح کلی الگوریتم
 
بسط کلید (KeyExpansion) - کلیدهای چرخه از کلید رمز با استفاده از زمانبندی کلید Rijndael مشتق می‌شود.
چرخه اولیه
AddRoundKey - هر بایت از state با کلید چرخه توسط xor بیت به بیت ترکیب می‌شود.
 
چرخه‌ها
SubBytes- مرحله جانشین سازی (substitution) غیر خطی که هر بایت با بایت دیگری بر اساس یک جدول جستجو (lookup table) جایگزین می‌شود.
ShiftRows- مرحله جابجاسازی (transposition) که هر سطر از state به صورت تکراری در چند مرحله معین شیفت می‌یابد.
MixColumns- فرایند در هم ریختن (mixing) ستون‌ها که روی ستون‌های state عمل می‌نماید و چهار بایت از هر ستون را ترکیب می‌نماید.
AddRoundKey
 
مرحله آخر
SubBytes
ShiftRows
AddRoundKey
 
 
 
فهرست مطالب
------------------------------------------------------------------------------------------ 
الف-چکیده 8
ب-مقدمه 9
ج-تاریخچه کارت های هوشمند 11

د-فصل اول : مشخصات کارت هوشمند 17

.11 مشخصات فیزیکی کارت هوشمند 17
1.2 دسته بندی های کارت هوشمند 18
2.1. 1دسته بندی بر اساس سطح تماسی 18
2.2.1كارت‌های هوشمند تماسی(Contact Smart Card) 18
3.2.1كارت‌های هوشمند غیرتماسی(Contactless Smart Card) 19
4.2.1كارت‌های هوشمند تركیبی(Dual-Interface Smart Card) 19
1.2. .5دسته بندی بر اساس نوع تراشه 20
6.2.1انواع تراشه های کارت هوشمند 20
7.2.1تراشه های دارای حافظه 20
8.2.1مدارهای مجتمع خاص منظوره 20
9.2.1تراشه های دارای ریز پردازنده 21
3.1. افزایش کارایی و سرعت تعامل 22
4.1. استانداردهای کارت هوشمند 22
1.4.1استانداردهای بین المللی کارت هوشمند 22
ISO/7816 2.4.1(استاندارد کارتهای هوشمند تماسی) 23
3.4.1 استانداردهای کارت هوشمند غیر تماسی 24
 

ه-فصل دوم : اجزاء کارت هوشمند 27

1.2 اجزای اصلی کارت 28
1.1.2 چاپ و برچسب گذاری 28
2.1.2 برجسته سازی 28
3.1.2 تصویر سه بعدی 29
4.1.2 قاب نشانگر 29
5.1.2 اجزای لمسی 30
6.1.2 علامت مغناطیسی 30
7.1.2 پیمانه تراشه 30
8.1.2 انتن 31
22. ریز کنترل کننده های کارت هوشمند 31
1.2.2 پردازشگر 35
2.2.2 حافظه 36
1.2.2.2 ROM 37
2.2.2.2 SRAM 38
3.2.2.2 DRAM 38
.24.2.2EPROM 39
5.2.2.2 Flash & EEPROM 40
3.2 سخت افزار تکمیلی 40
 

و-فصل سوم : شناخت انواع حملات رایج كارت های هوشمند 43

1.3 حملات رایج بر کارت های هوشمند 44
1.1.3 مقدمه برای طبقه بندی حملات 44
2.1.3 طبقه بندی حمله کنندگان 45
1.2.1.3 حملات از طریق خروجی به دارنده کارت و مالک کارت 45
2.2.1.3 حملات از طریق دارنده کارت به خروجی 46
3.2.1.3 حملات از طریق دارنده کارت به مالک اطلاعات 46
4.2.1.3 حملات از طرف صادر کننده علیه دارنده کارت 48
5.2.1.3 حملات از طریق تولید کننده علیه صاحب اطلاعات 48
2.3 طراحی اصولی پردازشگرهای کارت هوشمند مقاوم در برابر دستکاری 49
1.2.3 حملات هجومی 50
1.1.2.3 باز کردن بسته بندی کارت هوشمند 50
2.12.3 بازسازی طرح 50
4.1.2.3 ریزیابشگری دستی 51
5.1.2.3 تکنیکهای بازخوانی حافظه 51
6.1.2.3 تکنیکهای پرتوی ذره 52
2.2.3 حملات غیر هجومی 52
3و2و3 چاره جویی ها 54
1.3.2.3 سیگنال حالتی تصادفی 54
2.3.2.3 چند شیاره کردن تصادفی 55
3.3.2.3 حسگرهای فرکانس پایین قوی 56
4.3.2.3 نابودی مدار بندی تست 57
5.3.2.3 شمارشگر برنامه محدود شده 58
6.3.2.3 شبکه های حسگر لایه بالا 59
 

ر- فصل چهارم: اجرای سریع الگوریتم های رمزی AES در کارت های هوشمند 61

1.2.3 روش ترکیب شده ی AES 64
1.1.2.3 الگوریتم انتخابی AES 64
2.2.3 برنامه ریزی حافظه ی COS 69
1.2.2.3 روش CSOD 71
3.2.3 مرحله اجرا 72
 

ز-فصل پنجم : طراحی کارت هوشمند 74

1.5طراحی و آزمایش تراشه کارت هوشمند با استفاده از شبکه 75
2.5 طـراحــی و ازمــایش تــراشه کارت هوشمنــد با استفــاده از شبکــه بـــر اساس تــراشه خودکار چرخه ای 75
1.2.5 تراشه کارت هوشمند کار رکن 3 76
2.2.5 ساختار زنجیره 77
1.2.2.5 پروتکل پیوند خودزمان 77
2.2.2.5 انجام قابل سنجش 78
3.2.2.5 تعویض پکت اطلاعاتی 79
3.2.5 ترکیب و مجتمع کردن تراشه کارت هوشمند با استفاده از زنجیره 80
1.3.2.5 ساختار شبکه 80
2.3.2.4 ادابپتور (مبدل برق) رابط شبکه 82
ط-نتیجه 83
ی-منابع 84
 
 
 
شکل(1-1): نمونه کارت هوشمند تماسی…………………………………………………………………………….18
شکل(1-2): قسمتهای موجود درکتاکتهای فلزی…………………………………………………………………18
شکل(1-3): نمونه کارت مترو……………………………………………………………………………………………..19
شکل(2-1): انتقال ارتباطی یک مدل کارت هوشمند……………………………………………………………31
شکل(2-2): نمودارقالب یک تراشه حافظه برای یک کارت هوشمند با یک رابط تماسی…………33
شکل(2-3): نمودارقالب یک ریزکنترل کننده برای یک کارت هوشمند با یک رابط تماسی………34
شکل(2-4): نمودارقالب یک ریزکنترل کننده کارت هوشمندباگزینش اجزای رایج امروزی…….41
شکل(4-1): زیرساخت ………………………………………………………………………………NEXCARD63
شکل(4-2): رمزگذاری اطلاعات ………..…………………………………………………… AES65
شکل(4-3): نتایج فرآیند اصلی……………………………………………………………………………………….67
 شکل(4-4): کلید رمز………………………………………………………………………………………………………67
شکل(4-5): کلید رمز………………………………………………………………………………………………………68
شکل(4-6): متد CSOD……………………………………………………………………………………………………71
شکل(4-7): مقایسه راندمان طول کلیدها AES…………………………………………………………………72
فهرست اشکال
شکل(5-1): ساختار سیستم کارت هوشمند…………………………………………………………………..77
شکل(5-2): پیوند زنجیره ای ……………………………………………………………………………………….78
شکل(5-3): طول سرعت چرخه پیوند زنجیره ای ………………………………………………………….79
شکل(5-4): فرمت وشکل پکت ……………………………………………………………………………………80
شکل(5-5): ترکیب وساختار شبکه ………………………………………………………………………………81
شکل(5-6): آداپتور رابط شبکه آغازگر ………………………………………………………………………..82