توابع درهم ساز

Download Report

Transcript توابع درهم ساز

‫فهرست مطالب‬
‫• مفاهيم اوليه‬
‫• رمزگذاری پیام و کدهای تشخیص خطا‬
‫• کد هاي احراز اصالت پيام‬
‫• اصول توابع درهم ساز‬
‫• توابع درهم ساز مهم‬
‫• ‪HMAC‬‬
‫مفهوم احراز اصالت پيام‬
‫• اطمينان از‪:‬‬
‫– صحت پيام؛ يعني پيام دريافتي دستکاري نشده است‪:‬‬
‫• بدون تغيير‪،‬‬
‫• بدون درج‪،‬‬
‫• بدون حذف‬
‫• بدون تكرار و تغيير توالي‬
‫‪Data Integrity‬‬
‫– اين كه پيام از جانب فرستنده ادعا شده ارسال شده است‬
‫‪Data Origin Authentication‬‬
‫اهميت اصالت پيام‬
‫در بسياري از کاربرد ها مانند‪:‬‬
‫ تراکنشهاي مالي‬‫ ثبت احوال و اسناد‬‫‪ -‬بانكهاي اطالعاتي‬
‫ممكن است ارائه سرويس محرمانگي اهميت زيادي نداشته باشد ولي‬
‫اينکه محتواي اطالعات قابل اعتماد باشند از اهميت بسيار باالتري‬
‫برخوردار است‪.‬‬
‫راهکارهای احراز اصالت پیام‬
‫فهرست مطالب‬
‫• مفاهيم اوليه‬
‫• رمزگذاری پیام و کدهای تشخیص خطا‬
‫• کد هاي احراز اصالت پيام‬
‫• اصول توابع درهم ساز‬
‫• توابع درهم ساز مهم‬
‫• ‪HMAC‬‬
‫رمزگذاری پیام برای احراز اصالت پیام‬
‫کاربرد رمزگذاری پیام‬
‫مشکالت رمزنگاری‬
‫انواع کدهای تشخیص خطا‬
‫دو مدل اضافه کردن کد تشخیص خطا (اولی مناسب تر است)‬
‫تابع ‪ F‬کد تشخیص خطا‬
‫ناامن بودن کدهای تشخیص خطا‬
‫• کدهاي تشخيص خطا مانند ‪ CRC‬براي تشخيص خطاي‬
‫حاصل از نويز در کاربردهاي مخابراتي طراحي شده اند‪.‬‬
‫– نويز‪:‬‬
‫• تغييرات غير هوشمندانه و غير عمدي‬
‫– دشمن‪:‬‬
‫• تغييرات هوشمندانه و عمدي‬
‫• حمالت موفقي به الگوريتمهايي که از کدهاي تشخيص خطا‬
‫استفاده ميکردند‪ ،‬صورت پذيرفته است‪.‬‬
‫– مثال‪ :‬پروتکل ‪802.11‬‬
‫ناامن بودن کدهای تشخیص خطا‬
‫• کد تشخیص خطا نمی تواند در حالت کلی از دستکاری بسته‬
‫ها جلوگيری کند‬
‫• راه حل ‪ :‬استفاده از کدهای احراز اصالت پیام‬
‫فهرست مطالب‬
‫• مفاهيم اوليه‬
‫• رويكردهاي ممكن‬
‫• کد هاي احراز اصالت پيام‬
‫• اصول توابع درهم ساز‬
‫• توابع درهم ساز مهم‬
‫• ‪HMAC‬‬
‫کد هاي احراز اصالت پيام‬
‫•‬
‫توليد يک برچسب با طول ثابت‪:‬‬
‫–‬
‫وابسته به پيام‬
‫ً‬
‫لزوما برگشت پذير نيست‬
‫–‬
‫نيازمند يک کليد مخفي مشترک بين طرفين‬
‫–‬
‫•‬
‫آنرا به اختصار ‪ MAC‬مينامند‪ .‬نام ديگر‪:‬‬
‫“‪”Cryptographic Checksum‬‬
‫•‬
‫اين برچسب را به پيام اضافه ميکنند‪.‬‬
‫•‬
‫گيرنده خود برچسب پيام را محاسبه نموده و با برچسب ارسالي مقايسه ميکند‪.‬‬
‫•‬
‫از اصالت پيام (يا اصالت فرستنده آن) اطمينان حاصل ميشود‪.‬‬
‫کد هاي احراز اصالت پيام‬
‫سرويس صحت‪:‬‬
‫پيام‬
‫برچسب‬
‫‪MAC‬‬
‫‪Nonce‬‬
‫‪Kmac‬‬
‫‪Nonce‬‬
‫پيام‬
‫کد هاي احراز اصالت پيام‬
‫سرويس محرمانگي و صحت‪:‬‬
‫متن رمز شده‬
‫برچسب‬
‫‪Nonce‬‬
‫‪MAC‬‬
‫‪Kmac‬‬
‫رمزنگاري‬
‫پيام‬
‫‪Nonce‬‬
‫‪Kenc‬‬
‫• ويژگيها‪:‬‬
‫– هزينه کل » ( هزينه رمز نگاري) ‪( +‬هزينه تهيه ‪)MAC‬‬
‫– نياز به دو کليد‬
‫کداحراز اصالت پيام ‪DAA‬‬
‫)‪• DAA (Data Authentication Algorithm‬‬
‫• استاندارد ‪ NIST‬و ‪ANSI X9.17‬‬
‫• بر اساس رمز قالبي ‪ DES‬و مد کاري ‪CBC‬‬
‫• همانند رمز نگاري ‪ ،CBC‬پيام را پردازش کرده و تنها آخرين‬
‫قالب را به عنوان برچسب استفاده ميکنيم‪.‬‬
DAA
)‫متن واضح (تقسيم شده به قالبها‬
K
P1
P2
P3
+
+
+
DES
K
DES
K
DES
PN
…
…
K
+
DES
MAC
‫فهرست مطالب‬
‫• مفاهيم اوليه‬
‫• رويكردهاي ممكن‬
‫• کد هاي احراز اصالت پيام‬
‫• اصول توابع درهم ساز‬
‫• توابع درهم ساز مهم‬
‫• ‪HMAC‬‬
‫توابع درهم ساز‬
‫• تابع يكطرفه‪،‬‬
‫• طول ورودي متغير‬
‫• طول خروجي ثابت (نگاشت از فضاي بزرگتر به فضاي‬
‫كوچكتر) به گونه اي كه‪:‬‬
‫– یافتن پیامهای متفاوتی که به یک رشته یکسان نگاشته شوند دشوار‬
‫باشد‪.‬‬
‫– به این رشته عصاره یا چکیده پیام )‪ (Digest‬میگوییم‪.‬‬
‫• در حالت کلي‪ ،‬کليدي در کار نيست!‬
‫امنيت توابع درهم ساز‬
‫توابع درهم ساز و رمز نگاري متقارن‬
‫سرويس صحت‪:‬‬
‫توابع درهم ساز و رمز نگاري متقارن‬
‫سرويس محرمانگي و صحت‪:‬‬
‫توابع درهم ساز و رمز نگاري نا متقارن‬
‫سرويس امضاء‪:‬‬
‫روشهاي ديگر احراز اصالت پيام‬
‫• طرفين راز ‪ s‬را مخفيانه به اشتراک گذاشته اند‪.‬‬
‫• بدون استفاده از رمز‬
‫• کاربرد عملي زياد‬
‫مقايسه رمزنگاري و توابع درهمساز‬
‫• رمزهاي قالبي‪:‬‬
‫– پياده سازي نرم افزاري توابع درهم ساز متداول سريعتر از رمزهاي قالبي‬
‫قابل اجرا است‪.‬‬
‫– داراي هزينه سخت افزاري بيشتر‬
‫– كارايي كمتر براي داده هاي حجيم‬
‫– داراي محدوديتهاي صادارتي (‪)Export Control‬‬
‫ساختار دروني تابع درهم ساز‬
‫پيام‬
‫• پيام به قطعات ‪ Yi‬تقسيم شده است‪.‬‬
‫• ‪ IV‬يک رشته ثابت ميباشد‪.‬‬
‫‪CV0=IV‬‬
‫)‪CVi= f(CVi-1,Yi-1‬‬
‫‪Hash = CVL‬‬
‫فهرست مطالب‬
‫• مفاهيم اوليه‬
‫• رويكردهاي ممكن‬
‫• کد هاي احراز اصالت پيام‬
‫• اصول توابع درهم ساز‬
‫• توابع درهم ساز مهم‬
‫• ‪HMAC‬‬
‫توابع درهم ساز مهم‪MD5 :‬‬
‫• ‪MD5: Message Digest 5‬‬
‫– طراحي ‪ 1992‬توسط ‪ ،Rivest‬يکي از سه طراح ‪RSA‬‬
‫• استفاده گسترده در گذشته‪ ،‬اما از کاربرد آن کاسته شده است‪.‬‬
‫• ويژگيها‪:‬‬
‫– پيام به قطعات ‪ 512‬بيتي تقسيم مي شود‬
‫– خروجي ‪ 128‬بيتي‬
‫امنيت ‪MD5‬‬
‫• حمالت کارگر به اين الگوريتم يافت شده اند‪:‬‬
‫– ‪ Berson‬سال ‪ :1992‬حمله تفاضلي به يک دور الگوريتم‬
‫– ‪ Boer‬و‪ Bosselaers‬سال ‪ :93‬يافتن تصادم هاي مجازي‬
‫– ‪ Dobbertin‬سال ‪ :96‬تصادم در تابع فشرده ساز‬
‫توابع درهم ساز مهم‪SHA-1 :‬‬
‫• ‪SHA-1: Secure Hash Algorithm – 1‬‬
‫– استاندارد ‪1995 ،NIST‬‬
‫– طول ورودي < ‪ 264‬بيت‬
‫– طول خروجي ‪ 160‬بيت‬
‫– استفاده شده در استاندارد امضاي ديجيتال ‪DSS‬‬
‫• امنيت‪:‬‬
‫– در برابر حمالت شناخته شده مقاومت بااليي دارد‬
‫گونه هاي ‪SHA-1‬‬
‫فهرست مطالب‬
‫• مفاهيم اوليه‬
‫• رويكردهاي ممكن‬
‫• کد هاي احراز اصالت پيام‬
‫• اصول توابع درهم ساز‬
‫• توابع درهم ساز مهم‬
‫• ‪HMAC‬‬
‫‪HMAC‬‬
‫• ‪ HMAC‬يک الگوريتم احراز اصالت پيام است‬
‫ً‬
‫• ‪ HMAC‬اساسا روش ي براي ترکيب کردن کليد مخفي با الگوريتمهاي‬
‫درهم ساز فعلي مي باشد‪.‬‬
‫• برای توليد چکيده پیغام‪ ،‬از توابع درهم استفاده شده است‬
‫– در مقابل استفاده از رمزهای قطعه ای‬
‫– بدليل مزايای عملی توابع درهم ساز‬
‫‪HMAC‬‬
‫‪( M‬پيام)‬
‫• ‪ :H‬تابع درهم ساز به کار گرفته شده‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫‪ :M‬پيام ورودي‬
‫‪ :K‬کليد مخفي‬
‫‪ :K+‬کليد مخفي که يک دنباله صفر‬
‫به آن اضافه شده است‬
‫‪ : ipad‬تکرار رشته ‪00110110‬‬
‫‪ :opad‬تکرار رشته ‪01011010‬‬
‫]] ‪HMACK = H[(K+  opad) || H[(K+  ipad) || M‬‬
Exhaustive Search
Tag
Packet
Compression
One way Function
‫آزمون جامع‬
‫برچسب‬
‫بسته‬
‫تابع فشرده ساز‬
‫تابع يكطرفه‬
Transaction
‫تراکنش‬
Collision
‫تصادم‬
Pseudo Collision
Modification
Integrity
Hash Function
Delete
‫تصادم هاي مجازي‬
‫تغيير‬
)‫صحت (تماميت‬
‫تابع درهم ساز‬
‫حذف‬
Differential Attack
‫حمله تفاضلي‬
Birthday Attack
‫حمله روز تولد‬
Linear
Insert
Frame Check Sequence
Round
Block Cipher
Decryption
Conventional Encryption
Collision Free
Non-repudiation
Unauthorized
‫دنباله بررس ي قالب‬
‫رمز قالبي‬
‫رمز گشايي‬
‫رمزنگاري مرسوم‬
‫عاري از تصادم‬
‫انکارناپذيري‬
‫غير مجاز‬
Plain text
‫متن واضح‬
Confidentiality
‫محرمانگي‬
Operation Mode
Valid
Infeasible
‫خطي‬
‫درج‬
‫دور‬
MAC
Error Detection Code
‫نحوه بكارگيري‬
‫معتبر‬
‫ناممکن‬
‫کدهاي احراز اصالت پيام‬
‫کدهاي تشخيص خطا‬