Assignment4.pdf

‫به نام خدا‬
‫امنيت داده و شبكه‬
‫تمرين ‪٤‬‬
‫موعد تحويل‪ ١٢) ٨٦/٣/٥ :‬شب(‬
‫!‪Work expands to fill the time required for its completion‬‬
‫‪-- Parkinson’s Law‬‬
‫‪ (١‬ثابت كنيد هر بيت از كليد ‪ DES‬به طور متوسط در ‪ ١٤‬دور از ‪ ١٦‬دور به كار ميرود‪.‬‬
‫‪ (٢‬حملة مﻼقات در ميانه )‪ (Meet In the Middle‬را توضيح دهيد‪.‬‬
‫‪ (٣‬مفاهيم زير را توضيح دهيد‪:‬‬
‫‪.i‬‬
‫براي آنكه بتوان رمز ‪ (Double DES) 2DES‬را مطرح كرد‪ DES ،‬بايد ‪ endomorphic‬باشد‪ .‬اين به‬
‫چه معناست؟ چرا ﻻزم نيست ‪ 3DES‬اين خاصيت را داشته باشد؟‬
‫‪.ii‬‬
‫اگر ‪ DES‬را يك »تبديل« در نظر بگيريم‪ ،‬و ايـن تبـديل بسـته )‪ (closed‬باشـد‪ ،‬شكسـتن‬
‫‪2DES‬‬
‫معادل شكستن ‪ DES‬خواهد بود‪» .‬بسته« بودن به چه معناست؟‬
‫‪.iii‬‬
‫اگر ‪ DES‬يك رمز خالص‬
‫)‪cipher‬‬
‫‪ (pure‬باشد‪ ،‬شكستن ‪ 3DES‬معادل شكستن ‪ DES‬خواهد بود‪.‬‬
‫»خالص« بودن به چه معناست؟‬
‫‪ (٤‬با كدام يك از سبكهاي رمزنگاري )‪ ،CFB ،OFB ،CBC ،ECB‬و ‪ (CTR‬ميتوان ‪ ١MAC‬ساخت؟ )چرا؟(‬
‫‪} (٥‬پارادوكس جشن تولد!{ در يك مجموعه‪ ،‬حداقل چند نفر بايد حضور داشته باشند تـا احتمـال آنكـه‬
‫يكي همزمان با شما جشن تولد بگيرد‪ ،‬بيش از ‪ %٥٠‬باشد؟ )اثبات كنيد(‬
‫•‬
‫توصيه ميشود براي سؤالهاي ‪ ٦‬و‪ ٧‬يك برنامة كامپيوتري بنويسيد‪ .‬تنها به جوابهايي نمره تعلق ميگيرد‬
‫كه كامﻼً صحيح باشند‪.‬‬
‫‪ (٦‬يك عدد تصادفي ‪ ١٢٨‬بيتـي توليـد كنيـد و مـاتريس زيـر كليـدهاي ‪ AES-128‬آن را اسـتخراج نماييـد‬
‫)استخراج ماتريس ‪ ٤×٤‬دور اول كافيست‪ .(٢‬مراحل را مختصراً توضيح دهيد‪.‬‬
‫‪٢‬‬
‫‪Message Authentication Code‬‬
‫يعني ]‪ ،w[6] ،w[5] ،w[4‬و ]‪.w[7‬‬
‫‪1‬‬
‫‪ (٧‬عدد ‪ ١٢٨‬بيتي ‪ 0xFEDCBA98765432100123456789ABCDEF‬را به عنوان متن آشكار ‪ AES-128‬در نظـر‬
‫گرفته و به كمك كليد سؤال قبـل‪ ،‬خروجـي دور نخسـت ‪ AES-128‬را بدسـت آوريـد )شـامل‬
‫‪Initial‬‬
‫‪ ،MixColumns ،ShiftRows ،SubBytes ،AddRoundKey‬و ‪ .(AddRoundKey‬مراحل را مختصـراً توضـيح‬
‫دهيد‪.‬‬
‫‪ (٨‬الگوريتم ‪ Lamport‬براي توليد »گذرواژههاي يكبار مصرف«‬
‫)‪Passwords‬‬
‫‪ (One-Time‬را توضـيح دهيـد‬
‫)اين الگوريتم از توابع درهمساز ]‪ [hash functions‬استفاده ميكند(‪.‬‬
‫‪ (٩‬در هريك از موارد زير‪ ،‬پروتكلي براي سرويس امنيتي خواسته شده ارائه دهيد‪ .‬اگر فرض خاصي مـي‪-‬‬
‫كنيد آن را بنويسيد‪ .‬پروتكلها بايد از نظر زمان محاسبات و تعداد پيامهاي تبادل شده بهينه باشند‪ .٣‬تنهـا‬
‫به پاسخهايي نمره داده مي شود كه كاراترين پروتكل را ارائه كرده باشند؛ بنابراين از گامها يا محاسـبات‬
‫اضافي‪ ٤‬بپرهيزيد‪.‬‬
‫‪.i‬‬
‫‪ A‬و ‪ B‬ميخواهند ارتباط محرمانه داشته باشند‪ .‬هر دو طرف به كليد عمومي يكديگر دسترسـي‬
‫دارند‪ .‬ارتباط بايد در برابر ‪ Replay‬مصون باشد‪.‬‬
‫‪.ii‬‬
‫‪ A‬ميخواهد پيام محرمانة ‪ M‬را به ‪ B‬منتقل كند‪ .‬طرفين يك كليد سري مشترك با ‪ ٥KDC‬دارنـد‪.‬‬
‫ارتباط بايد در برابر ‪ Replay‬مصون باشد‪ KDC .‬قابل اعتماد است‪ ،‬اما نمـيخـواهيم از محتـواي‬
‫پيام ‪ M‬مطلع شود‪.‬‬
‫‪.iii‬‬
‫‪ A‬و ‪ B‬ميخواهند ارتباطي داشته باشند كه حافظ جامعيت پيام باشـد‪ .‬هـر دو طـرف بـه كليـد‬
‫عمومي يكديگر دسترسي دارند‪ .‬ارتباط بايد در برابر ‪ Replay‬مصون باشد‪.‬‬
‫‪.iv‬‬
‫كاربر ‪ U‬ميخواهد به سرور ‪ S‬وارد شود )‪ login‬كند(‪ .‬كاربر و سرور كليد سري مشتركي دارند‪.‬‬
‫ميخواهيم در شروع نشست كاربر براي سرور و سرور براي كاربر احراز هويت شوند )بخـش‬
‫‪ ١-١١‬كتاب درسي را ببينيد(‪.‬‬
‫‪٣‬‬
‫‪٤‬‬
‫اگر ﻻزم شد مصالحه )‪ (tradeoff‬كنيد‪ ،‬كم شدن زمان محاسبات بر كم شدن تعداد پيامها ارجحيت دارد‪.‬‬
‫مثﻼً اگر تنها محرمانگي مد نظر است‪ ،‬به هيچ وجه محاسبات مربوط به جامعيت پيام را انجام ندهيد‪.‬‬
‫‪5‬‬
‫‪Key Distribution Center‬‬
‫‪.v‬‬
‫كاربر ‪ U‬ميخواهد از سرور تجارت الكترونيكي آمازون )‪ (A‬كاﻻيي را بخرد‪ .‬براي ايـن منظـور‬
‫پس از انتخـاب كـاﻻ‪ ،‬كـاربر بايـد شـماره و مشخصـات كـارت اعتبـاري خـود را وارد كنـد‪.‬‬
‫نيازمنديهاي اجراي تراكنش خريد الكترونيكي را ارزيابي كرده و پروتكلـي بـراي ايـن منظـور‬
‫بنويسيد‪ .‬توجه داشته باشيد كه كاربر هيچ گذرواژه يا كليد خاصي ندارد!‬
‫‪ B (١٠‬يك پيام از ‪ A‬دريافت كرده و ‪ A‬ادعا ميكند اين پيام را نفرستاده است‪.‬‬
‫‪.i‬‬
‫در چه صورت ‪ B‬ميتواند ثابت كند كه واقعاً ‪ A‬اين پيام را فرستاده است؟ )پروتكل بين ‪ A‬و‬
‫‪B‬‬
‫چه ويژگيهايي بايد داشته باشد؟(‬
‫‪.ii‬‬
‫كاراترين پروتكلي را طراحي كنيد كه ويژگيهايي قسمت )‪ (i‬را ارضا كند‪.‬‬
‫‪ (١١‬سؤال ‪ ٣‬از بخش ‪ Problems‬فصل ‪ ٧‬را حل كنيد )مراقب باشيد اشتباهي سؤال ديگـري را حـل نكنيـد!‬
‫براي اطمينان‪ ،‬اين سؤال با شكلهاي ‪ ٩-٧‬و ‪ ١٥-٧‬مرتبط است(‪.‬‬
‫‪ (١٢‬براي مقابله با ‪ Replay‬ميتوان از برچسب زماني يا ‪ nonce‬كمك گرفت‪ .‬اين دو روش را مقايسه كنيد‪.‬‬
‫‪ (١٣‬با يك مثال عددي‪ ،‬اجراي الگوريتم امضاي ديجيتال )‪ (٦DSA‬را تشريح كنيد‪ .‬اين الگوريتم را بـا ‪ RSA‬و‬
‫‪ Diffie-Hellman‬مقايسه كنيد )از نظر كاربرد‪ ،‬سرعت‪ ،‬حافظه‪ ،‬و ‪.(...‬‬
‫‪ (١٤‬پروتكل زير چه سرويسهاي امنيتي را تأمين ميكند؟ )توضيح دهيد(‪.‬‬
‫‪IDA || IDB || N1‬‬
‫‪A → KDC :‬‬
‫‪IDKDC || EK A ,KDC  K s || N1 || H  K A, KDC  ‬‬
‫‪KDC → A :‬‬
‫‪IDKDC || EK B ,KDC  K s || N1 || H  K B , KDC  ‬‬
‫‪KDC → B :‬‬
‫‪IDA || EK s  M || N1 || H [ K s ]‬‬
‫‪A→ B:‬‬
‫‪Digital Signature Algorithm‬‬
‫‪6‬‬