DNS-932 HW3- Answer.pdf

‫‪3.1 ‬‬
‫در این سوال‪ CA ،‬با نام ‪ Root‬کمی گمراه کننده است‪ .‬در واقع‪ ،‬در این سوال‪ ،‬هیچ فرضی در مورد‬
‫اعتماد کاربران به سایر ‪ CA‬ها (از جمله ‪ )Root‬وجود ندارد (به بیان دقیقتر‪ ،‬کلید عمومی سایر ‪ CA‬ها‬
‫هنوز به طور امن در اختیار کاربر قرار نگرفته و در نتیجه گواهیهای صادره توسط آنها‪ ،‬برای او بیاستفاده‬
‫است)‪ .‬هر کاربر فقط به ‪ CA‬ای که گواهی او را صادر کرده اعتماد دارد (یعنی کلید عمومی آن ‪ CA‬به‬
‫طور امن در اختیار او قرار گرفته است) و به گواهیهای سایر کاربران در صورتی اعتماد دارد که ‪ CA‬او به‬
‫‪ CA‬دیگر مستقیما گواهی داده و یا زنجیرهای از گواهینامهها از ‪ CA‬او به ‪ CA‬مقصد وجود داشته باشد‪.‬‬
‫در اینصورت او میتواند از کلید عمومی ‪ CA‬مقصد اطمینان حاصل کرده و گواهینامههای آن را تایید‬
‫کند‪ .‬برای مثال‪ ،‬باب میتواند از طریق زنجیرة زیر‪ ،‬گواهی آلیس را تایید کند‪:‬‬
‫>>‪E<<C>> C<<A>> A<<D>> D<<Alice‬‬
‫باب کلید عمومی ‪ CA‬خودش (یعنی ‪ )E‬را میداند و با استفاده از زنجیره گواهیها میتواند از کلید عمومی‬
‫‪ D‬باخبر شود و در نتیجه گواهی آلیس را تایید کند‪ .‬اما آلیس نمی تواند گواهی باب را تایید کند زیرا ‪CA‬‬
‫آلیس (یعنی ‪ ،)D‬به ‪ A‬گواهی صادر نکرده و آلیس نمیتواند از کلید عمومی ‪ A‬اطمینان حاصل کند و در‬
‫نهایت نمیتواند به کلید عمومی ‪ C‬و ‪ E‬اطمینان کند و گواهی باب را تایید کند‪ .‬در مورد بقیه موارد نیز‬
‫میتوان دالیل مشابهی را بیان کرد‪.‬‬
‫برای توضیحات بیشتر‪ ،‬می توانید به فصل ‪ 14‬کتاب (‪ )Stallings, 2011‬مراجعه کنید که مثالی را به‬
‫طور مشروح توضیح داده است‪.‬‬
‫بنابراین‪ ،‬پاسخ این سوال به صورت زیر است‪:‬‬
‫‪ .1.1.1‬آیا ‪ Bob‬میتواند اصالت گواهینامهی ‪ Alice‬را تصدیق کند؟ چرا؟ بله‬
‫‪ .1.1.2‬آیا ‪ Alice‬میتواند اصالت گواهینامهی ‪ Bob‬را تصدیق کند؟ چرا؟ نه‬
‫‪ .1.1.3‬آیا ‪ Bob‬میتواند اصالت گواهینامهی ‪ John‬را تصدیق کند؟ چرا؟ بله‬
‫‪ .1.1.4‬آیا ‪ John‬میتواند اصالت گواهینامهی ‪ Bob‬را تصدیق کند؟ چرا؟ نه‬
‫‪ .1.1.5‬آیا ‪ Bob‬میتواند اصالت گواهینامهی ‪ Jane‬را تصدیق کند؟ چرا؟ بله‬
‫‪ .1.1.6‬آیا ‪ Jane‬میتواند اصالت گواهینامهی ‪ Bob‬را تصدیق کند؟ چرا؟ بله‬
‫‪ .1.1.7‬آیا ‪ Alice‬میتواند اصالت گواهینامهی ‪ John‬را تصدیق کند؟ چرا؟ نه‬
‫‪ .1.1.8‬آیا ‪ John‬میتواند اصالت گواهینامهی ‪ Alice‬را تصدیق کند؟ چرا؟ نه‬
‫‪ .1.1.9‬آیا ‪ Alice‬میتواند اصالت گواهینامهی ‪ Jane‬را تصدیق کند؟ چرا؟ نه‬
‫‪ .1.1.10‬آیا ‪ Jane‬میتواند اصالت گواهینامهی ‪ Alice‬را تصدیق کند؟ چرا؟ بله‬
‫‪ .1.1.11‬آیا ‪ John‬میتواند اصالت گواهینامهی ‪ Jane‬را تصدیق کند؟ چرا؟ نه‬
‫‪ .1.1.12‬آیا ‪ Jane‬میتواند اصالت گواهینامهی ‪ John‬را تصدیق کند؟ چرا؟ بله‬
‫‪3.2.1 ‬‬
‫خیر امن نیست‪ .‬مهاجم با شنیدن یک دور اجرای پروتکل می تواند به شکل زیر به پیام رمز ‪ S‬دست می یابد‪:‬‬
‫𝑆 = )𝑆 ⊕ 𝑅( ⊕ 𝑅‬
‫‪3.2.2 ‬‬
‫از آنجا که تنها شخص ‪ B‬از رمز ‪ S‬آگاه است‪ ،‬شخص ‪ A‬پاسخ دریافتی از ‪ B‬را با مقدار تصادفی ارسالی ‪،R‬‬
‫‪ xor‬می کند تا مطمئن شود که طرف مقابل از رمز ‪ S‬استفاده کرده است‪:‬‬
‫𝑅 ‪𝐴 → 𝐵:‬‬
‫𝐶 ‪𝐵 → 𝐴:‬‬
‫𝑆 = 𝐶 ⊕ 𝑅 ‪𝐴:‬‬
‫‪3.3.1 ‬‬
‫پیام های دریافتی شخص ‪: Y‬‬
‫‪𝑆⨁𝑁𝑥 ,‬‬
‫𝑦𝑁⨁𝑆 = 𝑥𝑁⨁ 𝑦𝑁⨁ 𝑥𝑁⨁𝑆‬
‫𝑆 = 𝑦𝑁⨁ 𝑦𝑁⨁𝑆 ∶ 𝑌‬
‫‪3.3.2 ‬‬
‫مهاجم می تواند با ‪ xor‬کردن پیام های ‪ A‬و ‪ B‬به مقدار ‪ Ny‬دست یافته و همانند وی به مقدار رمز ‪ S‬پی‬
‫ببرد‪.‬‬
‫منبع‪:‬‬
‫‪.Stallings, W. (2011). Cryptography and network security : principles and practice. Boston: Prentice Hall‬‬