****** ****** ** ***** ****** ***** ******* ** ***** ********* ISO/IEC

Download Report

Transcript ****** ****** ** ***** ****** ***** ******* ** ***** ********* ISO/IEC

‫اصول و استانداردهای رمزنگاری‬
‫نشست تخصص ی گواهی الكترونیكی در صنعت نفت‬
‫احمد قبیتی‬
‫‪1‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫مقدمه‬
‫• "‪ :"Cryptography‬از زبان يوناني گرفته‬
‫شدهاست و وقتيكه واژه به واژه (تحتاللفظي)‬
‫ترجمه شود‪" ،‬نوشتن محرمانه" معني ميدهد‪.‬‬
‫• ‪ : Cryptography‬رمزنگاري علم محرمانه‬
‫نگاهداشتن داده ها است‪.‬‬
‫‪2‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫مقدمه‬
‫• پياماصلي ‪ plaintext‬يا ‪ cleartext‬ناميده ميشود‪.‬‬
‫• رمزکردن محتويات پيام به نحوي كه محتواي آن را از بيگانگان‬
‫مخفي كند ‪ ،‬رمزنگاری(‪ )Encryption‬ناميده ميشود‪.‬‬
‫• پيامپنهانشده (رمزشده) ‪ ciphertext‬ناميده ميشود‪ .‬به‬
‫فرآيند بازيابي ‪ plaintext‬از ‪ ،ciphertext‬آشكارسازي‬
‫‪ Decryption‬گفته ميشود‪.‬‬
‫• در فرآيندهاي پنهان سازي و آشكار سازي به طور معمول از‬
‫كليد استفاده ميشود و روش رمزنگاري بهگونهاي است كه‬
‫آشكارسازي تنها با دانستن كليد مناسب ميتواند انجام شود‪.‬‬
‫‪3‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫مقدمه‬
‫• ‪ :Cryptanalysis‬علم شكستن رمز ميباشد؛‬
‫بدين معني كه ‪ plaintext‬بدون دانستن كليد‬
‫مناسب بازيابي شود‪.‬‬
‫• ‪cryptanalyst‬ها وظيفه ‪ cryptanalysis‬را‬
‫عهده دار ميباشند‪.‬‬
‫‪4‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫مقدمه‬
‫• ‪ Cryptology‬یک شاخه از ریاضیات است که‬
‫پایه های ریاض ی رمزنگاری را بررس ی می کند‬
‫• رمز نگاري با تمام جنبههاي پيغامرساني امن‪،‬‬
‫احراز هویت ‪ ،‬امضاهاي ديجيتالي‪ ،‬پول الكترونيكي‬
‫وديگر كاربردها سر وكار دارد‪.‬‬
‫‪5‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫الگوریتم های رمز نگاری کالسیک‬
‫• اولین الگوریتم های رمز نگاری‬
‫• حروف متن اصلی با حروف دیگر یا اعداد یا‬
‫سمبل های دیگری جایگزین می شود‪.‬‬
‫• اگر متن اصلی به صورت ترتیبی از بیت ها ظاهر‬
‫شود‪ ،‬ترتیب بیت ها در متن اصلی با ترتیب بیت‬
‫های رمز شده جایگزین می شود‪.‬‬
‫‪6‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫الگوریتم رمزنگاری ‪Caesar‬‬
‫• حروف متن اصلی با حروف دیگر یا اعداد یا سمبل های دیگری‬
‫جایگزین می شود‪.‬‬
‫• در ‪ Caesar‬هر حرف از حروف الفبا با سه حرف جلوتر در حروف‬
‫الفبا جایگزین می شود‪ .‬برای مثال‪:‬‬
‫‪i j k l m n o p q r s‬‬
‫‪z‬‬
‫‪l m n o p q r s t u v‬‬
‫‪c‬‬
‫‪toga‬‬
‫‪the‬‬
‫‪after‬‬
‫‪diwhu wkh wrjd‬‬
‫‪7‬‬
‫‪me‬‬
‫‪ph‬‬
‫‪e f g h‬‬
‫‪w x y‬‬
‫‪h i j k‬‬
‫‪z a b‬‬
‫‪meet‬‬
‫‪phhw‬‬
‫‪a b c d‬‬
‫‪t u v‬‬
‫‪d e f g‬‬
‫‪w x y‬‬
‫‪:‬پیام اصلی‬
‫‪party‬‬
‫‪:‬متن رمز شده‬
‫‪sduwb‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫طبقه‌بندي الگوريتم‌هاي رمز‌نگاري‌‬
‫• الگوریتم های بدون کلید (توابع در هم سازی)‬
‫• الگوریتم های بر پایه کلید‬
‫کاربرد الگوریتمهای بدون کلید ‪:‬‬
‫• اطمینان از جامعیت داده‬
‫• در برخی موارد جهت محرمانگی‬
‫‪8‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫الگوریتم های بدون کلید‬
‫الگوریتم های درهم سازی‪:‬‬
‫‪DMDC‬‬
‫‪Advanced DMDC‬‬
‫‪MD5‬‬
‫‪SHA-1‬‬
‫‪9‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫•‬
‫•‬
‫•‬
‫•‬
‫الگوریتم های درهم سازی‬
‫از متن رمز شده نمی توان متن اصلی را استخراج نمود‬
‫استخراج متن اصلی از متن رمز شده غیر ممکن است‬
‫‪10‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫کاربرد الگوریتم های درهم سازی‬
‫کاربرد توابع درهم سازی در ذخیره سازی کلمه عبور‬
‫‪11‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫کاربرد الگوریتم های درهم سازی‬
‫کاربرد توابع درهم سازی در مکانیزم احراز هویت‬
‫‪12‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫کاربرد الگوریتم های درهم سازی‬
‫کاربرد توابع درهم سازی در احراز هویت بین مسیر یابها‬
‫‪13‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫الگوریتم های بر پایه کلید‬
‫• متقارن‬
‫• غیر متقارن‬
‫• متقارن‬
‫– جریانی‬
‫– بلوکی‬
‫‪14‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫رمز کننده های جریانی‬
‫• "رمزكنندههاي جرياني" يك دستة مهم از‬
‫الگوريتمهاي رمزنگاري متقارن ميباشند كه روي‬
‫يك بيت‪ ،‬بايت و يا كلمة (كامپيوتر) از پيام‬
‫‪ plaintext‬در يك زمان عمل ميكنند و به اين‬
‫دليل در كاربردهايي كه با يك جريان داده روبرو‬
‫هستند مناسب ميباشند‪.‬‬
‫• عمل رمزكردن با ‪ XOR‬كردن جريانكليد و پيام‬
‫‪plaintext‬انجام می شود‬
‫‪15‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫رمز کننده های جریانی‬
‫مهمترین الگوریتم جریانی الگوریتم ‪ RC4‬است که در‬
‫شبکه های بی سیم و در ‪ WEP‬استفاده می شود ‪.‬‬
‫‪16‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫رمزكنندههاي بلوكي‬
‫يك دستة بسيار مهم از الگوريتمهاي رمزنگاري‪،‬‬
‫"رمزكنندههاي بلوكي" ‪Block Ciphers‬ميباشند‪ .‬اين‬
‫ً‬
‫رمزكنندهها در هر زمان‪ ،‬تعدادي بيت ميگیرند (نوعا ‪ 64‬بيت‬
‫در رمزكنندههاي پيشرفته) وآنها را به عنوان يك واحد‬
‫مستقل رمز ميكنند‪.‬‬
‫‪17‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫رمزنگاری متقارن‬
‫فرستنده و گیرنده جهت رمزگذاری و رمز گشائی از یک‬
‫کلید استفاده می کنند‪.‬‬
‫‪18‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫مزايای رمزنگاري كليد متقارن‬
‫• سريع ميباشند‪.‬‬
‫• به سادگي در سخت افزار‬
‫پيادهسازي ميشوند‪.‬‬
‫• به طور گسترده استفاده ميشوند‪.‬‬
‫‪19‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫رمزنگاری نامتقارن‬
‫فرستنده و گیرنده جهت رمزنگاری و رمز گشائی از دو‬
‫کلید متفاوت استفاده می کنند‪.‬‬
‫‪20‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫رمزنگاری نامتقارن‬
‫رمزنگاری نامتقارن چگونه کار می کند؟‬
‫• دريافت کليد عمومی افرادی که قصد ارسال اطالعات رمز‬
‫شده برای آنان را داريم ‪ .‬در صورت انتخاب کليد عمومی‬
‫از يک حلقه کليد عمومی ‪ ،‬می بايست به منظور تائيد‬
‫اثرانگشت صاحب کليد با وی تماس گرفته شود ‪.‬‬
‫• با استفاده از کليدعمومی دريافت کننده پيام ‪ ،‬می بايست‬
‫اطالعات را رمز نمود‪.‬‬
‫• دريافت کننده يک پيام رمز شده با استفاده از کليد‬
‫خصوص ی خود اقدام به رمزگشائی پيام می نمايد ‪.‬‬
‫‪21‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫محل قرارگیری تجهیزات رمزنگاری‬
‫در راستای استفاده از رمزنگاری باید بدانیم چه‬
‫چیزی رمز می شود و پروسه رمزنگاری در کجا‬
‫اتفاق می افتد‪ .‬دو راه حل وجود دارد‪:‬‬
‫•‬
‫‪ .1‬رمزنگاری روی لینک‬
‫‪ .2‬رمزنگاری انتها به انتها‬
‫‪22‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫رمزنگاری روی لینک‬
‫رمزنگاری بین دو نقطه ارتباطی صورت می گیرد‬
crypto isakmp enable outside crypto isakmp policy 10
authentication pre-share encryption des hash sha group 1
crypto isakmp
Hash sha-1
encryption aes
authentication pre-share
encryption aes hash sha-1 group 1
© 2012 Ahmad Ghobeiti
23
‫رمزنگاری انتها تا انتها‬
‫رمزنگاری بین ترمینال فرستنده و دستگاه گیرنده انجام می شود‬
‫‪24‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫امضاء دیجیتال‬
‫آیا استفاده از الگوریتم های نامتقارن و کلیدهای‬
‫عمومی و خصوص ی امنیت را بر روی کانال انتقال‬
‫بطور کامل برای ما فراهم می کند ؟‬
‫خیر ‪ ،‬هر کس ی در مسیر کانال انتقال داده ها می‬
‫تواند کلید عمومی اصلی را خارج نماید و کلید‬
‫عمومی خود را جایگزین نماید ‪ ،‬لذا نیاز به‬
‫مکانیزمی جهت احراز هویت و جود دارد ‪.‬‬
‫‪25‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫امضاء دیجیتال‬
© 2012 Ahmad Ghobeiti
26
‫گواهی دیجیتال‬
‫گواهي ديجيتال‪ ،‬يك كليد عمومي را به مجموعهاي از اطالعات‬
‫شناسايي يك موجوديت پيوند ميدهد‪ .‬اين كليد عمومي با يك‬
‫كليد خصوص ي مرتبط ميباشد‪ .‬طرف متكي به صحت كليد‬
‫عمومي موجود در گواهي اعتماد ميكند‪ .‬میزان اعتماد طرف‬
‫متكي به يك گواهي به عوامل متفاوتي بستگي دارد‪ .‬اين عوامل‬
‫شامل روال تاييد هويت درخواستكننده گواهي‪ ،‬روالهاي اجرايي‬
‫مركز صدور گواهي‪ ،‬كنترلهاي امنيتي‪ ،‬تعهدات صاحب امضا‬
‫(مانند حفاظت از كليد خصوص ي) و تعهدات مركز صدور گواهي‬
‫(مانند ضمانتها و رفع مسئوليتها) ميباشد‪.‬‬
‫‪27‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫الگوریتم های ایجاد امضاء‬
‫‪‬الگوريتم برای ايجاد کليد‬
‫‪‬الگوريتم برای ايجاد امضا‬
‫‪‬الگوريتم برای تأييد امضا‬
‫‪28‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫امنیت امضای دیجیتال‬
‫‪‬امنيت الگوريتم رمزنگاری کليد عمومی‬
‫‪‬امنيت توابع درهم سازی‬
‫‪‬امنيت کليد خصوص ی‬
‫‪29‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫استاندارد ‪X.509‬‬
‫• بر طبق اين استاندارد اطالعاتی که در گواهینامه ديجيتال صادر‬
‫میشود شامل موارد زير میباشد‪:‬‬
‫• نسخه گواهینامه‬
‫• شماره سريال‬
‫• الگوريتم مورد استفاده‬
‫• صادر کننده گواهی‬
‫• بازه زمانی اعتبار‬
‫• کليد عمومی فردی که گواهینامه برای او صادر شده است‪.‬‬
‫• امضای صادر کننده گواهینامه‬
‫• هويت فردی که گواهینامه برای او صادر شده است‪.‬‬
‫‪ ‬مشخصاتی که در اين قسمت ثبت میشود متفاوت بوده و‬
‫وابسته به نوع گواهینامه میباشد‪.‬‬
‫‪30‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫کارکرد گواهی دیجیتال‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫‪‬‬
‫فرستنده يك كليد متقارن توليد ميكند‪.‬‬
‫دادهها را بوسيله کليد متقارن به رمز درميآيند‪.‬‬
‫فرستنده از كليد عمومي گیرنده استفاده ميكند‪.‬‬
‫كليد متقارن را به حالت رمز درمی آورد‪.‬‬
‫به همراه متن رمزنگاري شده براي گیرنده ارسال مينمايد‪.‬‬
‫گیرنده از كليد خصوص ي خود استفاده كرده‪.‬‬
‫كليد متقارن را از حالت رمز خارج ميسازد‪.‬‬
‫گیرنده با استفاده از كليد متقارن پيغام را رمزگشايي ميكند‬
‫‪31‬‬
‫‪© 2012 Ahmad Ghobeiti‬‬
‫سوال و جواب‬
© 2012 Ahmad Ghobeiti
32