HomeWork 1.pdf

‫به نام خدا‬
‫دانشگاه صنعتی شریف‬
‫نیمسال اول ‪49-49‬‬
‫نام درس‬
‫استاد درس‬
‫امنیت داده و شبکه‬
‫دکتر امینی‬
‫تاریخ تعریف تمرین‬
‫مهلت تحویل‬
‫‪33/8/3‬‬
‫‪33/8/51‬‬
‫لطفا فایل پاسخ خود را در قالب ‪ PDF‬و کد و سایر ملحقات را به صورت یک فایل فشرده درآورده و آنرا به آدرس‬
‫‪ [email protected]‬ارسال نمایید‪ .‬عنوان نامه و نام فایل بایستی به صورت ‪HW1-DNS-93-1-Student Number‬‬
‫باشد‪.‬‬
‫بخش اول (مرور درس)‬
‫‪.5‬‬
‫محرمانگی و حریم خصوصی را تعریف کرده و تفاوت آن ها را بیان کنید‪.‬‬
‫‪ .2‬بیان کنید که هر کدام از موارد زیر‪ ،‬نقض کدامیک از اصول محرمانگی‪ ،‬جامعیت و دسترس پذیری است؟ ( در هر مورد‬
‫ممکن است چندین مورد نقض شود)‬
‫ حمید تمرین حسن را کپی می کند‪.‬‬‫ حمید باعث از کار افتادن سیستم محمود می شود‪.‬‬‫ سینا امضای فرزاد را جعل می کند‪.‬‬‫ مسعود دامنه ی ‪ sharif.ir‬را خریداری کرده و مانع استفاده ی دانشگاه شریف از آن دامنه می شود‪.‬‬‫ سامان شماره ی دانشجویی و کد ملی (رمز) سعید را فهمیده و رمز او را در سیستم آموزش و تغذیه تغییر می دهد‪.‬‬‫ وحید مبلغ نوشته شده در چک علی را از ‪ 511‬هزار تومان به ‪ 5‬میلیون تومان تغییر می دهد‪.‬‬‫‪ .3‬مفهوم "امنیت از طریق ابهام‪ "5‬را شرح داده و با ذکر مثالی بیان کنید که آیا این مفهوم میتواند باعث بهبود امنیت شود؟‬
‫‪Security Through Obscurity‬‬
‫‪1‬‬
‫بخش دوم (خالقیت و حل مساله)‬
‫‪.4‬‬
‫یک درخت حمله‪ ،‬یک درخت شامل گره های ‪ AND-OR‬میباشد‪ .‬در این درخت هر گره با یک هدف امنیتی نام گذاری شده است‪.‬‬
‫ریشه نشانگر هرف نهایی مهاجم است (نقض یکی از اهداف امنیتی محرمانگی‪ ،‬صحت و دسترس پذیری)‪ .‬بچه های هر گره زیر اهدافی‬
‫را مشخص میکنند که مهاجم از طریق آنها میتواند به هدف پدر دست یابد‪ .‬اگر پدر یک گره ‪ OR‬باشد رسیدن به یکی از اهداف فرزند‬
‫برای دستیابی به هدف پدر کافی است‪ .‬اگر گره پدر یک گره ‪ AND‬باشد برای رسیدن به یک گره پدر باید به همه ی اهداف فرزند‬
‫رسیده باشید‪ .‬ارتفاع درخت تا حدی پیش میرود که به یک هدف قابل قبول در برگ ها برسیم‪ .‬هدف قابل قبول‪ ،‬یک هدف ساده است‬
‫که سختی دست یابی به آن قابل محاسبه باشد‪.‬‬
‫برای اطالعات بیشتر درمورد درخت حمله میتوانید به لینک زیر مراجعه کنید‪:‬‬
‫‪https://www.schneier.com/paper-attacktrees-ddj-ft.html‬‬
‫الف‪ .‬هدف نهایی شما ارسال یک ایمیل جعلی برای باب از سوی آلیس است‪ ،‬بطوری که آلیس از ارسال ایمیل بی خبر باشد‪ .‬فرض‬
‫کنید میل سروری که آلیس و باب استفاده میکنند از پروتکل ‪ DES‬با طول کلید ‪ 15‬بیتی برای رمزگذاری ایمیل ها استفاده میکند‪.‬‬
‫درخت این حمله را رسم کنید‪ .‬بر ای هریک از اهداف اصلی‪ ،‬زیر اهداف مشخص و قابل قبول طراحی کنید‪ .‬بطور مثال یک راه برای‬
‫ارسال ایمیل از سوی آلیس‪ ،‬زیرنظر گرفتن او و به خاطر سپردن رمز عبور او در هنگام ورود به میل سرور است‪.‬‬
‫ب‪ .‬به هر گره یک هزینه تقریبی مطابق با فرمول ‪ t/1-p‬اختصاص دهید‪ .‬در این فرمول ‪ T‬زمان الزم برای رسیدن به هدف و ‪p‬‬
‫احتمال موفقیت است‪ .‬هزینه کلی ارسال ایمیل از سوی آلیس برای باب (البته بدون اطالع آلیس) را محاسبه کنید‪ .‬برای مثال زمان‬
‫الزم برای زیر نظر گرفتن آلیس ‪ 8‬ساعت است و احتمال موفقیت در تشخیص رمز او مثال ‪ %11‬است‪ .‬در این صورت هزینه رسیدن به‬
‫این هدف ‪ 55‬است‪.‬‬
‫ج‪ .‬یک پیشنهاد سازنده برای امن تر کردن تبادالت ایمیل بین آلیس و باب ارائه کنید‪.‬‬
‫د‪ .‬براساس تغییر پیشنهادی خودتان‪ ،‬درخت حمله جدیدی را رسم کنید و بر اساس آن مقدار افزایش امنیت را که تغییر پیشنهادی‬
‫شما ایجاد میکند‪ ،‬محاسبه کنید‪.‬‬
‫بخش سوم (تحقیق بیشتر)‬
‫‪ .1‬روش ‪ DES‬دارای تعدادی کلید ضعیف می باشد‪ .‬این کلید ها را بیان کرده و عیب استفاده از آن ها را بیان کنید‪.‬‬
‫‪ .5‬منظور از حمالت کانال جانبی‪ 2‬چیست؟ مثالی بیان کنید‪.‬‬
‫بخش چهارم (تمرین عملی)‬
‫‪.7‬‬
‫یک متن طوالنی فارسی) حداقل ‪ 1111‬کلمه (را مورد بررسی قرار دهید ‪.‬تعداد و نسبت فراوانی حروف را بدست آورید‪) .‬‬
‫فایل متن مورد بررسی و احتماال کد برنامه به همراه تکلیف ارسال شود‪(.‬‬
‫‪Side Channel Attack‬‬
‫‪2‬‬
‫‪ .8‬متن فارسی زیر را رمزگشایی کنید‪.‬‬
‫ضثظتژمضا صمتعا مفو زب یب یضضفا پ عتمگو مخپس پ ضپع بما متوجمس ام طگاضب‬
‫مچسمذمو یب خپضو مثت )کوا مژض ثفاض متوجمس مچسمذمو پ زمتمس بما مضویمچا ام‬
‫ثکس طگاضب مچسمذمو تممثت یمعتص( ثا نضصمظص‪.‬ضثظتژمضا مفورمصب مظ وزتازبما ضامدا‪،‬‬
‫یضما یضجضمضا مثتاو مچسمذمو مفو‪ .‬صضمخس ضثظتژمضا صمتع وشااض صمصت ثوت نامث ام‬
‫مچسمذمو یب زثز زساص ضثظ پ یم مفورمصب مظ از مسژپضاوث ضثظ مفو‪ ،‬یب خپضوا زب‬
‫وتبم عگخا زب مظ زساص پ مسژپضاوث ثچسذ مفو جمصض یب مفوگضمق مچسمذمو مخسا مظ‬
‫مچسمذمو ضثظ عصب یمعص پ عگخا زب مظ ازا ام بض صپا مت بم مچسمذ تصمضص‪ ،‬توپمتص‬
‫یب مچسمذمو صفوضفا ناصم زتص‪ .‬صمتع ضثظتژمضا یض نماب ثجصثمو یفامضا مظ جیاس وئپضا‬
‫مچسمذمو‪ ،‬تحضاب مذصمص پ مثمض یتم عصب مفو پ مثضپظب یب چپض گمخ صض ذسث‬
‫ثگمیضمو ثپضص یضضفا پ مفورمصب جضمض ثاژاضص‪.‬‬
‫‪ .3‬هدف از این تمرین آشنایی با نرم افزار ‪ CrypTool‬می باشد‪ .‬این نرم افزار را از اینترنت دانلود کرده و به سواالت زیر‬
‫پاسخ دهید‪:‬‬
‫ نام خود را با روش سزار رمز کنید‪ .‬کلید مورد استفاده‪ ،‬حرف اول نام خانوادگی شما است‪.‬‬‫ نام خانوادگی خود را با کلید ‪ security‬توسط روش ‪ Vigenere‬رمز کنید‪.‬‬‫ متن زیر را با روش جایگشتی‪ 3‬رمز کنید‪ .‬کلید مورد استفاده‪ ،‬نام شما است‪.‬‬‫‪In cryptography, a transposition cipher is a method of encryption by which the positions held‬‬
‫‪by units of plaintext (which are commonly characters or groups of characters) are shifted‬‬
‫‪according to a regular system, so that the ciphertext constitutes a permutation of the‬‬
‫‪plaintext‬‬
‫‪Transposition‬‬
‫‪3‬‬
‫سوال تشویقی‪:‬‬
‫‪ .51‬فرض کنید که یک روش رمزنگاری بلوکی داریم که بلوک های ‪ 528‬بیتی متن آشکار‪ 4‬را به متن رمز شده‪ 1‬تبدیل می‬
‫کند‪ .‬تابع رمزنگاری را به صورت )‪ Encrypt(K , m‬نشان می دهیم که ‪ K‬همان کلید رمزنگاری و ‪ m‬نیز متن آشکار‬
‫است‪ .‬این تابع دارای ویژگی زیر است‪:‬‬
‫به ازای همه ی الگوهای ‪ 528‬بیتی ‪ m1‬و ‪ m2‬داریم‪ ( :‬طول کلید ‪ k‬مهم نیست)‬
‫)‪Encrypt( k , [m1 ⨁ m2 ])= Encrypt( k , m1) ⨁ Encrypt(k , m2‬‬
‫توضیح دهید که حمله کننده چگونه می تواند با داشتن ‪ 528‬متن رمز شده ی انتخابی‪ 5‬و بدون دانستن کلید ‪ ، k‬هر متن‬
‫رمز شده ای را رمز گشایی کند‪ ( .‬منظور از متن رمز شده ی انتخابی این است که حمله کننده می تواند متن رمز شده ای‬
‫را انتخاب کرده و متن آشکار متناظر آنرا بدست آورد‪ .‬به بیان ساده تر‪ ،‬حمله کننده می تواند ‪ 528‬زوج متن رمز شده‪/‬‬
‫متن آشکار را در ابتدا داشته باشد و سپس با استفاده از آن ها حمله ی خود را انجام دهد‪).‬‬
‫‪ .55‬در پروتکل توزیع فایل‪ ، BitTorrent P2P‬هسته فایل اصلی را به تعدادی بلوک تقسیم میکند و این بلوکها را نظیرها‬
‫بین خود بدون هیچ محافظتی توزیع میکنند‪ .‬در این سناریو‪ ،‬حمله کننده میتواند به آسانی بوسیلهی جا زدن خود به‬
‫عنوان یک نظیر مشروع و فرستادن بلوکهای ساختگی به دیگر نظیرها‪ ،‬در روند توزیع و استفاده از آن فایل ‪Torrent‬‬
‫اختالل ایجاد کند‪ .‬دلیل اصلی این مساله این است که در این شبکهها‪ ،‬نظیرهای دیگر روندی برای بررسی و احراز صحت‬
‫بلوکهای دریافتی ندارند و خود بعد از دریافت این بلوکها آنها را دوباره به نظیری دیگر میفرستند و اینگونه بخشی از‬
‫شبکه ‪ Peer-to-Peer‬آلوده میشود‪ .‬به همین علت وجود ساختاری برای احراز اصالت و صحت بلوکهای دریافتی در‬
‫شبکههای نظیر به نظیر به منظور جلوگیری از این سبک توزیعهای بلوکهای ساختگی‪ ،‬بسیار مهم و حیاتی است‪ .‬با فرض‬
‫اینکه شما یک گره در یک شبکهی نظیر به نظیر هستید و یک بلوک از یک منبع قابل اطمینان دریافت کردهاید‪ ،‬ساختاری‬
‫طراحی کنید که این بلوک را بصورت امن توزیع کرده و هم دیگر گرهها بتوانند از صحت آن بلوک اطمینان حاصل کنند‪.‬‬
‫‪4‬‬
‫‪PlainText‬‬
‫‪CipherText‬‬
‫‪6‬‬
‫‪Chosen ChiperText‬‬
‫‪5‬‬
‫نکات‪:‬‬
‫لطفا پاسخ خود (مستندات و کد منبع ) را به آدرس ‪ [email protected]‬ایمیل کنید‪.‬‬
‫تاخیر در ارسال پاسخ‪ ،‬مشمول کسر نمره خواهد بود‪.‬‬
‫در صورت استفاده از منبع خاصی برای پاسخ به سوال‪ ،‬لطفا اسم آن منبع ذکر گردد‪.‬‬
‫پاسخ ها فقط می توانند به زبان فارسی باشند‪.‬‬
‫حداکثر تعداد صفحات بایستی ‪ 02‬صفحه باشد‪.‬‬
‫در صورت مشاهده ی تقلب‪ ،‬بر اساس مقررات آموزشی با آن برخورد خواهد شد‪.‬‬
‫در صورت بروز ابهام در مورد سواالت‪ ،‬می توانید سواالت خود را به آدرس ‪ [email protected]‬بفرستید‪.‬‬
‫موفق باشید‪.‬‬