مبانی امنیت شبکه
اسلاید 1: مبانی امنیت شبکهحميد رضا قاسمي زرگر
اسلاید 2: محتوای مجموعه ی اسلایدها برگرفته ازکتاب های زیر می باشد: William Stallings, Network Security Essentialsقمي، مباني امنيت شبكهملكيان، امنيت داده ها
اسلاید 3: فصل اول: يادآوري
اسلاید 4: نگاهی به پشته پروتکلTCP/IP ApplicationPresentationSessionTransportNetworkData LinkPhysicalApplicationTransportInternetNetwork InterfaceEthernet, 802.3, 802.5, ATM, FDDI, and so onIP Conceptual LayersOSI Reference Model
اسلاید 5: نگاهی به لایه IP ApplicationTransportNetwork InterfaceIP DatagramIP LayerInternetVERSHLENType of ServiceTotal LengthIDFlagsFrag OffsetTTLProtocolHeader ChecksumSrc IP AddressDst IP AddressIP OptionsDataInternet Control Message Protocol (ICMP)Internet Protocol (IP)Address Resolution Protocol (ARP)Reverse Address Resolution Protocol (RARP)
اسلاید 6: نگاهی به لایه حملTransmission Control Protocol (TCP)User Datagram Protocol (UDP)Src PortDst PortSeq #Ack #HLENReservedCode BitsWindowTCP Segment FormatTransport LayerCheck SumUrgent PtrOptionDataSrc PortDst PortLengthUDP Segment FormatCheck SumDataApplicationNetwork InterfaceInternetTransport
اسلاید 7: TransportNetwork InterfaceInternetنگاهی به لایه کاربردWeb Browsing (HTTP, SSL)File Transfer (FTP, TFTP, NFS, File Sharing)E-Mail (SMTP, POP2, POP3)Remote Login (Telnet, rlogin)Name Management (DNS)Microsoft Networking ServicesApplication LayerApplication
اسلاید 8: تعریف امنیت دادهاگر رخدادهای ناخوشایند و خطرناک را در یکی از رده های دسترسی غیرمجاز به داده هانشت اطلاعات محرمانهاز دسترس خارج شدن خدمات یک سرویس دهندهتغییر مخفیانه در داده هاسرقت داده هانابود شدن داده هاجعل داده هااختلال در عملکرد صحیح ماشین کاربرانو هر نوع تعرض به حریم داده های یک ماشین را تلقی کنیم؛ امنیت داده ها عبارت است از ...
اسلاید 9: تعریف امنیت دادهامنیت داده ها عبارت است از مجموعه تمهیدات و روشها که در یکی از بند های زیر قرار بگیرد:الف) تمهیداتی که اطمینان می دهد رخدادهای ناخوشایند، هرگز اتفاق نمی افتد.ب) تمهیداتی که احتمال وقوع رخدادهای خطرناک را کاهش می دهد.ج) تمهیداتی که نقاط حساس به خرابی و استراتژیک را در سطح شبکه توزیع نماید.د) تمهیداتی که اجازه می دهد به محض وقوع رخدادهای خطرناک، شرایط در اصرع وقت و با کمترین هزینه به شکل عادی برگردد و کمترین خسارت را به جای بگذارد. بنابراین تعریف می کنیم امنیت عبارت است از: مکانیزم های پیشگیری یا کاهش احتمال وقوع رخدادهای خطرناک و جلوگیری از تمرکز قدرت در هر نقطه از شبکه، در حین وقوع رخدادهای ناخوشایند.
اسلاید 10: تهدید امنیتی (Threat)هر عاملی که به طور بلقوه بتواند منجر به وقوع رخدادی خطرناک بشود، یک تهدید امنیتی به شمار می آید. تهدیدهای امنیتی از عوامل زیر ناشی می شود:1- تهدیدهای طبیعی:این تهدیدها از عواملی مثل: زلزله، سیل، گردباد، رعد و برق، آتشفشان، آتش سوزی و نظایر آن از قوه به فعل می رسند.2- تهدیدات غیر عمدی:این تهدیدات از اشتباهات سهوی و ناخوداگاه عوامل انسانی مثل: مدیر شبکه، کارکنان و کاربران ناشی می شود. این تهدید می تواند منجر به افشا یا نابودی اطلاعات و یا اختلال در خدمات معمول شبکه بشود.بعضی از این تهدیدات غیر عمد را در زیر نام می بریم:- طراحی ناصحیح زیرساخت شبکه یا عدم وجود افزودگی در تجهیزات شبکه- عدم تهیه نسخه های پشتیبانی از داده های حیاتی- سهل انگاری در وظایف روزمره مثل بررسی مستمر سیستم ها از لحاظ آلودگی به ویروسناآگاهی کاربران از ماهیت عملیات خطرناک(ریسک)3- تهدیدات عمدی:هرگونه اقدام برنامه ریزی شده جهت افشا، نابودی و یا تغییر در داده های حیاتی و یا ایجاد اختلال در خدمات معمول سرویس دهنده ها را تهدید عمدی می گوییم.
اسلاید 11: نكتهحمله: هرگاه تهدیدی از قوه به فعل درآید اصطلاحاً یک حمله رخداده است؛ خواه آن حمله موجب خسارت به منابع بشود نه. به عبارت ديگر هر فعاليتي كه امنيت اطلاعات يك سازمان را به خطر بياندازد.در متون، واژه هاي تهديد و حمله معمولا به يك معنا به كار ميرود.
اسلاید 12: معماري امنيت OSIحمله امنيتي: هر فعاليتي كه امنيت اطلاعات را به خطر بياندازد.راهكار (مکانیزم) امنیتی: راهكاري كه طراحي شده برای تشخیص یا پیشگیری از وقوع حمله یا برگشت به وضعیت معمولی پس از وقوع حمله. خدمات (سرويسهاي) امنیتی: سرويسي كه طراحي شده براي بالا بردن امنيت داده هاي پردازش كننده يا سيستم ارتباطي. يك سرويس امنيتي ساخته شده از يك يا چند راهكار امنیتی.
اسلاید 13: چند اصطلاحتخریب یا خسارت: حمله ای که در اثر آن منابع شبکه از بین برود یا دستکاری شود و از خدمات معمول شبکه سوءاستفاده شود، اصطلاحاً حمله به مرحله تخريب رسیده است.آسیب پذیری: هرگونه ضعف یا اشکال یک مولفه از شبکه در مقابل تهدیدات احتمالی که بتواند منجر به حمله شود.میزان خطر(ریسک): تخمینی از احتمال وقوع یک حمله و همچنین پیش بینی خسارت هایی که متعاقب آن حمله به بار می آید.
اسلاید 14: حملات امنیتی (تهديدات عمدي)دسته بندي حملات توسط X.800 و RFC 2828 عبارتند از: (تعريف هر يك لازم است)حملات غير فعال (Passive Threats): تاثيري بر منابع سيستم ندارد.افشاي محتواي پيامتحليل ترافيك منبع هدفحملات فعال(Active Threats) : منابع سيستم را تغيير ميدهد.نقاب زنيتكرارتغييرانكار سرويس
اسلاید 15: حملات غير فعال
اسلاید 16: حملات فعال
اسلاید 17: خدمات امنیتیمحرمانه ماندن اطلاعات((Confidentiality: به مجموعه مکانیزم هایی که تضمین می کند داده ها و اطلاعات مهم کاربران از دسترس افراد بیگانه و غیرمجاز دور نگه داشته شود را محرمانگی اطلاعات گویند. مهمترین روش تحقق محرمانگی استفاده از الگوریتم های رمزنگاری است.احراز هویت(Authentication): مجموعه مکانیزم هایی که این امکان را فراهم می کند که بتوان مبدا واقعی یک پیام، سند یا تراکنش را بدون ذره ای تردید یا ابهام مشخص کرد را احراز هویت گویند.احراز هویت نهاد همتا: نهادهايي كه پروتكلهاي يكساني را پياده سازي ميكنند. مثل دو قطعه TCPاحراز هویت منبع داده: براي اثبات منبع واحد داده. مثل ايميل
اسلاید 18: تضمین صحت اطلاعات یا جامعیت(Integrity):مجموعه مکانیزم هایی که از هر گونه تحریف، تکرار، دستکاری، حذف و آلوده کردن داده ها پیش گیری کند و یا حداقل باعث کشف چنین اقداماتی می شود را تضمین صحت اطلاعات می گویند.غیرقابل انکار ساختن پیام(Non-Repudiation):به مجموعه مکانیزم هایی که به پیام ها و تراکنش ها پشتوانه حقوقی می بخشد و اجازه نمی دهد که فرستنده به هر طریق ارسال پیام خود را انکار کند و یا گیرنده منکر دریافت پیام شود را غیر قابل انکار ساختن پیام گویند.کنترل دسترسی(Access Control):مکانیزم هایی که دسترسی به کوچکترین منابع اشتراکی شبکه را تحت کنترل در آورده و هر منبع را براساس سطح مجوز کاربران و پروسه ها در اختیار آن ها قرار می دهد.در دسترس بودن(Availability):مجموعه مکانیزم هایی که این امکان را برای کاربران شبکه فراهم می کند تا در هر زمان و با توجه به کنترل ها و محدودیت های موجود در شبکه، قدرت استفاده از شبکه را داشته باشد.
اسلاید 19: تهدیدها در شبکه به چهار دسته زیر تقسیم می شوند:1- استراق سمع یا شنود(Interception):هرگاه یک شخص غیرمجاز به هر نحو بتواند نسخه ای از داده های در حال جریان بین مبدا و مقصد را به نفع خود شنود کند را حمله استراق سمع گویند.2- دستکاری(Manipulation):هرگاه داده ای در حال جریان بین مبدا و مقصد توسط شخص غیرمجاز، به هر نحو دستکاری یا تحریف شود را حمله دستکاری می گویند.3- جعل(Fabrication):هرگاه یک شخص غیرمجاز اقدام به تولید پیام های ساختگی کرده وآن ها را به شخص مجاز دیگری نسبت بدهد، حمله جعل و ارسال داده های ساختگی به وقوع پیوسته است.4- وقفه(Interruption): هرگاه کسی بتواند سیستم یا سرویس را در شبکه از کار بیندازد، حمله وقفه رخداده است.
اسلاید 20: * استراق سمع تهدیدی علیه محرمانه ماندن اطلاعات است.* دستکاری تهدیدی علیه صحت اطلاعات است.* جعل تهدیدی علیه احراز هویت اطلاعات است.* وقفه تهدیدی علیه در دسترس بودن اطلاعات است.
اسلاید 21: راهكار (تمهید) هاي امنیتیتمهیدات امنیتی در هر شبکه باید در سه مورد زیر مشخص شده باشد:تمهیدات پیشگیری از وقوع حملهتمهیدات کشف حمله در صورت وقوعتمهیدات بازیابی و خروج از بحران پس از وقوع حملهراهكارهايي مانند رمزنگاري، امضاي ديحيتال، كنترل دستيابي، تماميت داده ها، افزودن ترافيك و ... كه در فصول آتي توضيح داده خواهد شد.
اسلاید 22: راهكارهاي امنيتي X.800
اسلاید 23: رابطه بين سرويسها و راهكارهاي امنيتي
اسلاید 24: رابطه بين سرويسها و حمله امنيتي
اسلاید 25: اصول ششگانه كركهف
اسلاید 26: مدلي براي امنيت شبكه
اسلاید 27: مدلي براي امنيت شبكه
اسلاید 28: سازمانهاي اينترنت و انتشار RFCسازمانهاي مسئول توليد استانداردها و انتشار آنها:IAB (Internet Architecture Board) مسئول توصيف معماري كلي اينترنت كه جهت گيريها را براي IETF مشخص ميكند. IETF (Internet Engineering Task Force) نيروي كار و مهندسي اينترنت: IETF مسئول انتشار RFC ها ميباشد. (Request For Comments) IESG (Internet Engineering Steering Group ) گروه هدايت و مهندسي اينترنتIETF مسئول توزيع استانداردهايي است كه مورد توافق IESG قرار گرفته است
اسلاید 29: سازمانهاي اينترنت و انتشار RFCبطور کلي RFCها به سه گروه استاندارد تقسيم بندي ميشوند : 1- استاندارها ( Standards) 2- استاندارهاي پيش نويس ( Draft Standards) 3- استاندارهاي پيشنهادي (Proposed Standards) اصولاً روال تکاملي اين RFC از پيشنهاد (Propose) شروع ميشود. شخص يا اشخاصي سعي در ارائه يک استاندارد پيشنهاد ميکنند. سپس بعد از بررسي هاي مختلف توسط IETF به عنوان يک استاندارد پيش نويس ( و نه کاملاً استاندارد) ارائه ميگردد. پس از انجام آزمايشهاي متعدد در سازمانهاي مختلف و از آن جمله IETF، اين پيش نويس به عنوان يک استاندارد مطرح شده و در دنياي اينترنت از آن استفاده خواهد شد.
اسلاید 30: بخش دوم: رمزنگاری
اسلاید 31: تعاریف اولیه رمزنگاریCryptography: از زبان يوناني گرفته شدهاست و وقتيكه واژه به واژه (تحتاللفظي) ترجمه شود، نوشتن محرمانه معني ميدهد. پياماصلي plaintext يا cleartext ناميده ميشود. رمزنگاری محتويات پيام به نحوي كه محتواي آن را از بيگانگان مخفي كند، پنهانكردن (Encryption) ناميده ميشود. پيامپنهانشده (رمزشده) ciphertext ناميده ميشود. به فرآيند بازيابي plaintext از ciphertext، آشكارسازي Decryption گفته ميشود. در فرآيندهاي پنهان سازي و آشكار سازي به طور معمول از كليد استفاده ميشود و روش رمزنگاري بهگونهاي است كه آشكارسازي تنها با دانستن كليد مناسب ميتواند انجام شود.
اسلاید 32: تعاریف اولیه رمزنگاریCryptanalysis : تحليل رمز. شكستن رمز Breaking هنر شكستن رمز كنندهها ميباشد؛ بدين معني كه plaintext بدون دانستن كليد مناسب بازيابي شود. رمز نگاري با تمام جنبههاي پيغامرساني امن، تصديق Authentication ، امضاهاي ديجيتالي، پول الكترونيكي وديگر كاربردها سر وكار دارد. Cryptology يك شاخه از رياضيات است كه پايههاي رياضي روشهاي پنهان سازي (رمز نگاري) را مطالعه و بررسي ميكند.
اسلاید 33: استدلال اصل اساسیاین که جزئیات الگوریتم را پنهای نکنیم و اساساً پنهان کردن چاره نفوذ نکردن بر آن سیستم نیست را کرکهف به صورت زیر استدلال می کند:هرگاه کلید در اثر خیانت یا سهل انگاری یا هر دو عامل و یا هر عامل دیگر لو برود، با تغییر کلید رمز جلوی ضرر گرفته می شود ولی افشای جزئیات یک سیستم و نفوذ در آن، هیچ چیزی در آن باقی نمی گذارد و تنها راه، تغییر سریع سیستم رمزنگاری است. البته این تغییر هرگز در زمان کوتاه و به راحتی امکان پذیر نمی باشد.هرگاه روشی برای سال ها در معرض افکار پژوهشگران و متخصصان این فن باشد، با روش های علمی و عملی به چالش کشیده شود و هیچ تلاشی در شکستن آن به ثمر نرسد، می توان فقط احتمال داد که روش به قدر کافی محکم و امن بوده است.
اسلاید 34: رمزنگاريسيستمهاي رمزنگاري داراي سه بخش هستند:نوع عمليات براي تبديل متن ساده به رمزجانشينيجابجاييتعداد كليدهاي مورد استفاده: الگوريتمهاي متقارن Symmetric از يك كليد استفاده ميكنند در حاليكه الگوريتمهاي نامتقارن از كليدهاي متفاوت استفاده ميكنند.روش پردازش متن: الگوريتم ميتوانند به دو دسته رمزكنندههاي جرياني Stream cipher و رمزكنندههاي بلوكيblock cipher تقسيم شوند. رمز كنندههاي جرياني ميتوانند در هر زمان يك بيت از plaintext را رمزكنند، در حاليكه رمزكنندههاي بلوكي تعدادي بيت ميگيرند (نوعاً 64 بيت در رمزكنندههاي پيشرفته) وآنها را به عنوان يك واحد جدا رمز ميكنند.
اسلاید 35: ذخیره و بازیابی در C++#include<iostream.h>#include<fstream.h>main()}fstream f1;f1.open(d:aaa.txt,ios::out);f1<<Ali Reza”;{
اسلاید 36: ذخیره و بازیابی در C++#include<iostream.h>#include<fstream.h>main(){fstream f1;f1.open(d:aaa.txt,ios::app);f1<<Ali Reza<<endl;}
اسلاید 37: ذخیره و بازیابی در C++#include<iostream.h>#include<fstream.h>main(){fstream f1;f1.open(d:aaa.txt,ios::out);f1<<Ali Reza<<endl;f1<<Hamid;}
اسلاید 38: ذخیره و بازیابی در C++#include<iostream.h>#include<fstream.h>main(){fstream f1;char c;f1.open(d:aaa.txt,ios::in);f1>>c;cout<<c;}
اسلاید 39: ذخیره و بازیابی در C++#include<iostream.h>#include<fstream.h>main(){fstream f1;char a[5];f1.open(d:aaa.txt,ios::in);f1>>a;cout<<a;}
اسلاید 40: ذخیره و بازیابی در C++#include<iostream.h>#include<fstream.h>main(){fstream f1;char a;f1.open(d:aaa.txt,ios::in);f1>>a;cout<<a;f1>>a;cout<<a;f1>>a;cout<<a;f1>>a;cout<<a;f1>>a;cout<<a;}
اسلاید 41: ذخیره و بازیابی در C++#include<iostream.h>#include<fstream.h>main(){fstream f1;char a;f1.open(d:aaa.txt,ios::in);f1.unsetf(ios::skipws);f1>>a;cout<<a;f1>>a;cout<<a;f1>>a;cout<<a;f1>>a;cout<<a;f1>>a;cout<<a;}
اسلاید 42: ذخیره و بازیابی در C++#include<iostream.h>#include<fstream.h>main(){fstream f1;char a;f1.open(d:aaa.txt,ios::in);f1.unsetf(ios::skipws);for(int c=0;c<=20;c++){f1>>a;cout<<a;}}
اسلاید 43: ذخیره و بازیابی در C++#include<iostream.h>#include<fstream.h>main(){fstream f1;char a;f1.open(d:aaa.txt,ios::in);f1.unsetf(ios::skipws);for(int c=0;c<=20;c++){f1>>a;cout<<a;cout<<f1.eof();}}
اسلاید 44: ذخیره و بازیابی در C++#include<iostream.h>#include<fstream.h>main(){fstream f1;char a;f1.open(d:aaa.txt,ios::in);f1.unsetf(ios::skipws);while(!f1.eof()){f1>>a;cout<<a;}}
اسلاید 45: ذخیره و بازیابی در C++main(){fstream f1,f2;char a,b;f1.open(d:aaa.txt,ios::in);f2.open(d:bbb.txt,ios::out);f1.unsetf(ios::skipws);while(!f1.eof()){f1>>a;if(f1.eof())break;f1>>b;if(f1.eof())f2<<a;elsef2<<b<<a;}f1.close();f2.close();}
اسلاید 46: ذخیره و بازیابی در C++main(){fstream f1,f2;char a;f1.open(d:aaa.txt,ios::in);f2.open(d:bbb.txt,ios::out);f1.unsetf(ios::skipws);while(1){f1>>a;if(f1.eof())break;++a%256;f2<<a;}f1.close();f2.close();}
اسلاید 47: فصل دوم: رمزنگاري متقارن و محرمانگي پيام
اسلاید 48: اصول رمزگذاري متقارن
اسلاید 49: اصول رمزگذاري متقارن
اسلاید 50: تحليل رمز (رمزشكني)حملات عليه سيستمهاي رمزنگاري، روشهايي هستند كه رمزشكن ممكن است به كار ببرد تا امنيت يك رمزكننده را بشكند يا به آن نفوذ كند. در حال حاضر، حملات در درجة اول با ميزان اطلاعات در دسترس حملهكننده يا محدوديتهاي روي حمله و سپس با استراتژيهايي كه از اطلاعات در دسترس استفاده ميكنند، دستهبندي ميشوند. حمله Ciphertext-onlyوضعيتي است كه حملهكننده چيزي دربارة محتويات پيام نميداند و بايد فقط از Ciphertext به آن پي ببرد. در عمل، ممكن است كه دربارة Plaintext بتوان حدسهايي زد، چرا كه انواع زيادي از پيامها داراي سرآيند با شكل ثابتي هستند. هنوز هم نامههاي معمولي و اسناد به طريق قابل پيشبيني شروع ميشوند. يك حمله ممكن تحت اين شرايط ميتواند جست و جوي جامع (Brute Force خشونت حيواني) باشد كه براي امتحان كردن همه كليدهاست.
اسلاید 51: حمله Brute Forceتست کردن همه کلید های ممکن تا زمانی که تبدیل درست متن اصلی شده به متن رمز شده بدست آید.یک حمله پایه ای وابسته به طول کلید است.فرض می شود که متن اصلی را در اختیار دارد.
اسلاید 52:
اسلاید 53: حملة Known-Plaintextدر اين وضعيت، حملهكننده ميداند يا ميتواند Plaintext را براي بعضي بخشهاي Ciphertext حدس بزند. كار رمزگشايي باقيماندة بلوكهايCiphertext با استفاده از اين اطلاعات صورت ميگيرد. اين کار ممكن است به وسيله تشخيص كليد مورد استفاده براي رمزكردن داده، يا از طريق تعدادي ميانبر انجام شود. يكي از بهترين حملات شناختهشدة مدرن Known-plaintext رمزشكني خطي عليه رمزكنندههاي بلوكي ميباشد.حملة Chosen-Plaintextدر اين حالت، حملهكننده قادر به داشتن رمزشدة هر متن دلخواه با كليد ناشناخته ميباشد. عمل لازم، مشخصكردن كليد استفاده شده براي رمزكردن ميباشد. يك مثال از اين حمله رمزشكني تفاضلي Differential Cryptanalysis است كه ميتواند عليه رمزكنندههاي بلوكي به كار گرفته شود (و در بعضي حالات عليه توابع درهمسازي نيز استفاده ميشود). بعضي سيستمهاي رمزنگاري، بهطورمشخص RSA، نسبت به حملات Chosen-Plaintext آسيبپذير هستند.
اسلاید 54: حملةMan-in-the-middle اين حمله مربوط به ارتباطات رمزنگاري و قراردادهاي مبادلة كليد ميباشد. ايده اين است كه هنگاميكه دو طرف A و B در حال مبادلة كليد براي ارتباط امن ميباشند (مثلاً با استفاده از Diffie-Hellman)؛ دشمن خودش را روي خط ارتباطي بين A و B قرار ميدهد. دشمن سپس سيگنالهايي را كه A و B به يكديگر ميفرستند قطع ميكند و يك مبادلة كليد به صورت جداگانه با A و B انجام ميدهد.A و B به كار خود خاتمه ميدهند در حاليكه از دو كليد متفاوت استفاده ميكنند كه هر كدام نزد دشمن شناخته شدهاست. دشمن سپس ميتواند هر ارتباطي از A را با كليدي كه با A مشترك است رمزگشايي كند و مكاتبه را با رمزكردن آن با كليدي كه با B به اشتراك گذاشته است، به B بفرستد. هر دوي A و B فكر خواهند كرد كه آنها به صورت امن در حال مكاتبه هستند، اما درحقيقت دشمن همه چيز را در كنترل خود آورده است.راه معمول براي جلوگيري از حملة Man-in-the-middle، استفاده از يك سيستم رمزنگاري كليد عمومي با توانايي ارائه امضاهاي ديجيتالي ميباشد.
اسلاید 55: 5. حمله عليه سختافزار زير لايهدر چند سال اخير از آنجاييكهوسايل رمزنگاري متحرك Mobile crypto devices كوچك و كوچكتر، مورد استفادة وسيع قرار گرفتهاند، يك دستة جديد از حملات ظهور پيدا كردهاند كه مستقيماً پيادهسازي سختافزاري سيستم رمزنگاري را هدفگيري ميكنند. حملات از دادههايي كه از اندازهگيريهاي خيلي ظريف از وسيلة مزبور در زمانهاي مشخص، مثلاً در زمان رمزكردن بدست ميآيد استفاده ميكنند و اطلاعات كليد را از اين اندازهگيريها محاسبه ميكنند. 6. نقص و خرابی در سيستمهاي رمزنگاري Faults in cryptosystemsنقص در سيستمهاي رمزنگاري ميتواند منجر به رمزشكني و حتي افشاي كليد محرمانه گردند. اين مساله روشن شده است كه بعضي الگوريتمها با ايجاد نقصهاي كوچك در محاسبات داخلي بد رفتار ميكنند. به عنوان مثال، در پيادهسازي معمول RSA، اعمال مربوط به كليد خصوصي، در برابر اين دسته از حملات آسيبپذير ميباشد. نشان داده شدهاست كه با ايجاد يك بيت خطا در مكان مناسب ميتوان تجزية پيمانه را کشف كرد (بدينوسيله كليد خصوصي هم آشكار ميشود).
اسلاید 56: عموماً همه رمزکننده های بلوکی دارای ساختاری هستند که اولین بار توسط H. Feistel از IBM در سال 1973 مطرح شدپارامترهاسایز بلوک: هرچه سایز بلوک بزرگ تر باشد(بقیه پارامترها ثابت هستند) امنیت بیشتر می شود، اما سرعت رمزگشایی و رمزنگاری کاهش پیدا می کند. سایز بلوک 64 بیتی، سایز منطقی است.سایز کلید: هرچه سایز کلید بزرگ تر باشد، امنیت بیشتر می شود، اما ممکن است سرعت رمزنگاری و رمزگشایی کاهش پیدا کند. طول کلید معمول در الگوریتم مدرن 128 بیت است.تعداد دورها: ایده اصلی در رمزنگاری Feistel این است که یک دور الگوریتم امنیت کافی بوجود نمی آورد، اما استفاده از چندین دور امنیت را افزایش می دهد. تعدا دور متداول 16 دور است.ساختار الگوریتم رمزنگاری Feistel
اسلاید 57:
اسلاید 58: (+)(+)(+)
اسلاید 59: الگوریتم تولید زیرکلید: پیچیدگی بیشتر در این الگوریتم، شکستن رمز را مشکل تر می کند.پروسه رمزگشایی: متن رمزشده به عنوان وردی به الگوریتم وارد می شود. اما زیرکلید ها با ترتیب معکوس استفاده می شوند به این صورت که Kn در مرحله اول و درمرحله دوم و در پایان در آخرین دور استفاده می شود.ساختار الگوریتم رمزنگاری Feistel
اسلاید 60: ساختار رمزهای فیستلمعمولا الگوریتمهای رمزنگاری از ساختاری تبعیت می کنند که توسط فیستل در سال 1973 در IBM پیشنهاد شد.رمزهای فیستل به انتخاب پارامترهای زیر بستگی دارند
اسلاید 61: ساختار رمزهای فیستلطول قطعه (بلوک)طول کلیدتعداد دورهاالگوریتم تولید زیرکلیدهاهر چه پیچیده تر باشد، تحلیل هم سخت تر می شود.سرعت رمزنگاری/رمزگشاییتابع دور (Round function)سادگی تحلیل
اسلاید 62: الگوريتمهاي رمزگذاري بلوكي متقارن
اسلاید 63: استاندارد رمزگذاري دادهDES B=64K=56R=16براي هر دور از يك كليد استفاده ميشود
اسلاید 64: قدرت DES
اسلاید 65: DES سه گانه
اسلاید 66: DES سه گانه
اسلاید 67: استاندارد رمزگذاري پيشرفتهAES
اسلاید 68: استاندارد رمزگذاري پيشرفتهAES
اسلاید 69: AES#define LENGTH 16#define NROWS 4#define NCOLS 4#define ROUNDS 10typedef unsignes char byte;rijndael(byte plaintext[LENGTH],byte ciphertext[LENGTH],byte key[LENGTH]){byte state[NROWS][NCOLS];struct{byte k[NROWS][NCOLS];}rk[ROUNDS+1];expand-key(key,rk);copy-plaintext-to-state(state,plaintext);xor-roundkey-into-state(state,rk[0]);for(int r=1;r<=ROUNDS;r++){substitute(state);rotate-rows(state);if(r<ROUNDS)mix-columns(state);xor-roundkey-into-state(state,rk[r]);}copy-state-to-ciphertext(ciphertext,state);}
اسلاید 70: AES
اسلاید 71: جانشيني بايتها substitute(state)
اسلاید 72: جانشيني بايتها
اسلاید 73: چرخش سطرها rotate_rows(state)
اسلاید 74: تلفيق ستونها mix_columns(state)
اسلاید 75: تلفيق ستونها mix_columns(state)فراموش نشود كه در دور آخر تلفيق صورت نميگيرد تا انجام عمل عكس راحت تر صورت گيرد.
اسلاید 76: افزودن كليد دور xor_roundkey_into_state(state,rk[c])
اسلاید 77: توليد زير كليد از كليد اصلي
اسلاید 78: توليد زير كليد از كليد اصلي
نقد و بررسی ها
هیچ نظری برای این پاورپوینت نوشته نشده است.