DataNetSec-Dousti-07-DigitSign_PKI-v2.pdf

‫دانشگاه صنعتی شریف‬
‫دانشکده مهندسی کامپیوتر‬
‫آزمایشگاه امنیت داده و شبکه‬
‫‪http://dnsl.ce.sharif.edu‬‬
‫درس ‪ :7‬امضای دیجیتال و زیرساخت‬
‫کلید عمومی‬
‫محمد صادق دوستی‬
‫‪1 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فهرست مطالب‬
‫‪ ‬مبانی امضای دیجیتال‬
‫‪ ‬امضای دیجیتال ‪ RSA‬و الجمل‬
‫‪ ‬زیرساخت کلید عمومی (‪)PKI‬‬
‫‪‬مبانی ‪PKI‬‬
‫‪‬گواهی دیجیتال و مدیریت آن‬
‫‪‬مؤلفههای ‪PKI‬‬
‫‪‬معماری ‪ ،PKI‬رویهها و خطمشیها‬
‫‪2 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫امضای دیجیتال‬
‫‪ ‬چرا به امضای دیجیتال نیاز داریم؟ زیرا در صورت استتفاد از رمت‬
‫متقارن‪:‬‬
‫‪‬جعل توسط گیرنده‪ :‬گیرند میتواند یک پیام جعلی را بسازد (با‬
‫استفاد از کلید توافق شد ) و آنرا به فرستند نسبت دهد!‬
‫‪‬انکار توسط فرستنده‪ :‬فرستند میتواند سناریوی فتوق را بهانته‬
‫قرار دهد و پیام فرستاد شد را منکر شود!‬
‫‪3 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫ویژگیهای امضای دیجیتال‬
‫‪ ‬امکان تصدیق هویت فرستتند (و در صتورت نیتاز زمتان و تتاری‬
‫ارسال)‬
‫‪ ‬تضمین عدم تغییر محتویات پیام‬
‫‪ ‬امکان تصدیق توسط طرف سوم (در صورت بروز اختالف)‬
‫‪4 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫نیازمندیهای امضای دیجیتال‬
‫‪ ‬رشته بیتی تولید شد وابسته به پیام اصلی باشد‪.‬‬
‫‪ ‬از اطالعات منحصر به فرستتند استتفاد شتود (جلتوگیری از جعتل و‬
‫انکار)‬
‫‪‬امضای دیجیتال صرفاً بر رم نگتاری نامتقتارن (کلیتد عمتومی) مبتنتی‬
‫است‪ .‬در واقع برای پشتیبانی از سرویس عدم انکتار‪ ،‬فرستتند و گیرنتد‬
‫نمیتوانند از یک کلید مشترک استفاد کنند‪.‬‬
‫‪ ‬به سادگی محاسبه شود و فضای کمی برای ذخیر نیاز داشته باشد‪.‬‬
‫‪ ‬تشخیص و تأیید (‪ )verify‬آن آسان باشد‪.‬‬
‫‪ ‬جعل آن از نظر محاسباتی دست نیافتنی باشد‪.‬‬
‫‪5 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مؤلفههای امضای دیجیتال‬
‫‪ ‬الگوریتم تولید کلید (‪)Key Generation‬‬
‫‪‬به صورت تصادفی یک زوج کلید عمومی تولید میکند‪.‬‬
‫‪ ‬الگوریتم امضا (‪)Sign‬‬
‫‪‬پیام و کلید خصوصی فرستند را به عنوان ورودی میگیرد و امضا‬
‫را تولید میکند‪.‬‬
‫‪ ‬الگوریتم تأیید امضا (‪)Verification‬‬
‫‪‬پیام‪ ،‬امضا و کلید عمومی فرستند را به عنتوان ورودی میگیترد و‬
‫تأیید (‪ )1‬یا عدم تأیید (‪ )0‬امضا را به عنوان خروجی برمیگرداند‪.‬‬
‫‪6 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فهرست مطالب‬
‫‪ ‬مبانی امضای دیجیتال‬
‫‪ ‬امضای دیجیتال ‪ RSA‬و الجمل‬
‫‪ ‬زیرساخت کلید عمومی (‪)PKI‬‬
‫‪‬مبانی ‪PKI‬‬
‫‪‬گواهی دیجیتال و مدیریت آن‬
‫‪‬مؤلفههای ‪PKI‬‬
‫‪‬معماری ‪ ،PKI‬رویهها و خطمشیها‬
‫‪7 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫امضا به روش ‪Textbook RSA‬‬
‫‪ ‬فرض کنیم )‪ (n, e‬کلید عمومی و )‪ (n, d‬کلید خصوصتی ‪RSA‬‬
‫باشد‪.‬‬
‫‪ ‬امضای پیام ‪ m  ℤn‬با کلید خصوصی‪:‬‬
‫𝑛 ‪𝜎 = 𝑚𝑑 mod‬‬
‫‪ ‬وارسی امضا با کلید عمومی‪:‬‬
‫)𝑛 ‪𝑚 =? 𝜎 𝑒 (mod‬‬
‫‪8 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫معایب امضای ‪Textbook RSA‬‬
‫‪ ‬امضای ‪ RSA‬سنتی به سادگی قابل جعل است‪.‬‬
‫‪‬امضای پیام ‪ 0‬هموار ‪ 0‬و امضای پیام ‪ 1‬هموار ‪ 1‬است‪.‬‬
‫‪‬با داشتن امضای ‪ 1‬و ‪ 2‬روی پیامهای ‪ m1‬و ‪ ،m2‬میتوان یتک‬
‫امضای جدید جعل کرد‪:‬‬
‫)𝑛 ‪𝑚 = 𝑚1 × 𝑚2 (mod‬‬
‫)𝑛 ‪𝜎 = 𝜎1 × 𝜎2 (mod‬‬
‫‪‬‬
‫راهکار‪ :‬امضای چکید پیام به جای خود پیام‬
‫‪ ‬چکید باید با یک تابع درهمساز ‪ CR‬محاسبه شود‪( .‬چرا؟)‬
‫‪9 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫امضای ‪ RSA‬با کمک توابع درهمساز‬
‫‪ ‬امضای پیام ‪ m  ℤn‬با کلید خصوصی‪:‬‬
‫𝑛 ‪𝜎 = (𝐻 𝑚 )𝑑 mod‬‬
‫‪ ‬وارسی امضا با کلید عمومی‪:‬‬
‫)𝑛 ‪𝐻(𝑚) =? 𝜎 𝑒 (mod‬‬
‫‪ ‬مشکل‪ :‬طول خروجی توابع درهمساز معمتوًً خیلتی کتوچکتر از‬
‫دامنه تابع ‪ RSA‬است‪.‬‬
‫‪‬راهکار ‪ Pad :1‬کردن خروجی تابع درهمساز‬
‫‪‬راهکار ‪ :2‬استفاد از ‪)FDH( Full-Domain Hash‬‬
‫‪10 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫خطای مهلک امضای ‪RSA‬‬
‫‪ RSA ‬به گونهای است که با یک زوج کلید میتوان هم امضا و هم‬
‫رم نمود‪:‬‬
‫‪‬به کارگیری )‪ (n, e‬برای رم گذاری و )‪ (n, d‬برای رم گشایی‬
‫‪‬به کارگیری )‪ (n, d‬برای امضا و )‪ (n, e‬برای وارسی امضا‬
‫‪ ‬این کار اشتبا است و از لحاظ امنیتی مخاطراتی دارد‪.‬‬
‫‪ ‬باید دو زوج کلید ‪ RSA‬تولید شود‪ :‬یتک زوج بترای رم نگتاری و‬
‫زوج دیگر برای امضا‪.‬‬
‫‪11 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫امضا با روش الجمل – تولید کلید‬
‫‪ ‬انتخاب عدد اول ب رگ ‪p‬‬
‫‪ ‬انتخاب 𝑝∗‪ 𝑔 ∈ ℤ‬به گونهای که 𝑞 =‬
‫𝑝‬
‫𝑔 ‪.‬‬
‫‪ q‬باید اول و ب رگ باشد‪.‬‬
‫‪ ‬انتخاب عدد تصادفی ‪ ‬از ‪ ℤq‬و محاسبه )‪.h = g (mod p‬‬
‫‪ q ،p ‬و ‪ g‬پارامترهای عمومی (همه مقادیر آنها را میدانند)‪.‬‬
‫‪  ‬کلید خصوصی و ‪ h‬کلید عمومی‪.‬‬
‫‪12 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫امضا با روش الجمل – امضای پیام‬
‫‪ ‬امضای پیام 𝑞‪:𝑚 ∈ ℤ‬‬
‫‪‬انتخاب ‪ k‬به تصادف از ∗𝑞‪ ℤ‬و محاسبه‪:‬‬
‫𝑘𝑔 ≡ 𝑟‬
‫)𝑝 ‪(mod‬‬
‫𝑞 ‪mod‬‬
‫‪𝑠 ≡ 𝑚 − 𝛼𝑟 𝑘 −1‬‬
‫‪ ‬امضای پیام ‪ m‬عبارت است از زوج )‪. (r, s‬‬
‫‪13 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫امضا با روش الجمل – وارسی صحت امضا‬
‫‪ ‬وارسی امضا )‪ (r, s‬با داشتن کلید عمومی ‪ h‬و پیام ‪: m‬‬
‫)𝑝 ‪𝑔𝑚 =? ℎ𝑟 𝑟 𝑠 (mod‬‬
‫‪ ‬چرا روش وارسی درست کار میکند؟‬
‫‪‬بر اساس روش تولید امضا داریم‪:‬‬
‫‪ mod q ‬‬
‫‪m  αr  sk‬‬
‫‪‬بنابراین‪:‬‬
‫‪ mod p ‬‬
‫‪14 / 54‬‬
‫‪r s‬‬
‫‪h r‬‬
‫‪k s‬‬
‫‪α r‬‬
‫) ‪) (g‬‬
‫امنیت داده و شبکه‬
‫‪ (g‬‬
‫‪αr  ks‬‬
‫‪g‬‬
‫‪m‬‬
‫‪g‬‬
‫محمد صادق دوستی‬
‫معایب امضای الجمل – ‪1‬‬
‫‪ ‬همانند ‪ ،Textbook RSA‬امضای الجمل نی از توابع درهمساز‬
‫استفاد نمیکند‪.‬‬
‫‪ ‬امکان تولید امضاهای معتبر حتی بدون داشتن کلید خصوصی‪:‬‬
‫‪‬جعل با یک پارامتر‪ :‬مقدار دلخوا ‪ x  ℤq‬را در نظر بگیرید‪.‬‬
‫)𝑝 ‪𝑟 ≡ 𝑔 𝑥 × ℎ (mod‬‬
‫)𝑞 ‪(mod‬‬
‫𝑟‪𝑠 ≡ −‬‬
‫زوج )‪ (r, s‬یک امضای معتبر برای پیام )‪ m  xs (mod q‬است‪.‬‬
‫‪15 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫معایب امضای الجمل – ‪2‬‬
‫‪ ‬امکان تولید امضاهای معتبر حتی بدون داشتن کلید خصوصی‪:‬‬
‫‪‬جعل با دو پارامتر‪ :‬مقادیر دلخوا ‪ x  ℤq‬و 𝑞∗‪ 𝑦 ∈ ℤ‬را در نظر‬
‫بگیرید‪.‬‬
‫)𝑝 ‪(mod‬‬
‫𝑦‪𝑟 ≡ 𝑔𝑥 × ℎ‬‬
‫)𝑞 ‪𝑠 ≡ −𝑟 × 𝑦 −1 (mod‬‬
‫زوج )‪ (r, s‬یک امضای معتبر برای پیام )‪ m  xs (mod q‬است‪.‬‬
‫‪16 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫راهکار‬
‫‪ ‬همانند امضای ‪ ،RSA‬بهترین راهکار این است که به جتای امضتا‬
‫کردن پیام ‪ ،m‬مقدار )‪ H(m‬را امضا کنیم‪.‬‬
‫‪ ‬در اینجا ‪ H‬یک تابع درهمساز ‪ CR‬است‪.‬‬
‫‪ ‬به طور کلی‪ ،‬استفاد از )‪ H(m‬به جای ‪ m‬یک راهکار جتا افتتاد‬
‫در امضای دیجیتال است‪.‬‬
‫‪17 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫خطای مهلک در امضای الجمل‬
‫‪ ‬اگر مقدار ‪ r‬تکراری باشد‪ ،‬میتوان کلید خصوصی الجمل را یافت‪.‬‬
‫‪‬حتی در نسخهای از الجمل که چکید پیام را امضا میکند‪.‬‬
‫‪ ‬پیامهای ‪ m1‬و ‪ m2‬با امضاهای )‪ (r, s1‬و )‪ (r,s2‬که در آن‪:‬‬
‫𝑞 ‪mod‬‬
‫‪𝑠𝑖 ≡ 𝐻(𝑚𝑖 ) − 𝛼𝑟 𝑘 −1‬‬
‫‪ ‬داریم‪:‬‬
‫𝑞 ‪mod‬‬
‫𝑞 ‪mod‬‬
‫‪18 / 54‬‬
‫‪−1‬‬
‫‪𝑠1 − 𝑠2‬‬
‫‪𝑘 ≡ 𝐻 𝑚1 − 𝐻 𝑚2‬‬
‫‪𝛼 ≡ 𝐻 𝑚1 − 𝑘 × 𝑠1 𝑟 −1‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫استانداردهای امضای دیجیتال‬
‫‪Digital Signature Standard‬‬
‫‪ DSS:‬‬
‫‪ ‬استاندارد شد توسط ‪NIST FIPS 186‬‬
‫‪ ‬مبتنی بر امضای الجمل‬
‫‪ :RSA Digital Signature ‬استاندارد شد توسط‬
‫‪ISO 9776‬‬
‫‪ANSI X9.31‬‬
‫‪CCITT X.509‬‬
‫‪19 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فهرست مطالب‬
‫‪ ‬مبانی امضای دیجیتال‬
‫‪ ‬امضای دیجیتال ‪ RSA‬و الجمل‬
‫‪ ‬زیرساخت کلید عمومی (‪)PKI‬‬
‫‪‬مبانی ‪PKI‬‬
‫‪‬گواهی دیجیتال و مدیریت آن‬
‫‪‬مؤلفههای ‪PKI‬‬
‫‪‬معماری ‪ ،PKI‬رویهها و خطمشیها‬
‫‪20 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مبانی ‪PKI‬‬
‫‪ ‬نکته اصلی در رم نگاری نامتقارن‪:‬‬
‫‪«‬هویت صاحب یک کلید عمومی چیست؟»‬
‫‪ ‬به عبارت دیگر‪ ،‬آیا یک کلیتد عمتومی واقعتاً بته فتردی کته ادعتا‬
‫میکند تعلق دارد؟‬
‫‪ ‬برای هر کلید عمومی باید یک گواهی از یک مرجتع معتبتر وجتود‬
‫داشته باشد که متضمن تعلق آن به یک فرد باشد‪.‬‬
‫‪ ‬بنابراین نیاز به زیرساختی برای صدور گتواهی و وارستی آن داریتم‬
‫که زیرساخت کلید عمومی (‪ )PKI‬نام دارد‪.‬‬
‫‪21 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫ در یک نگاه‬PKI
Certification Authority
Validation Authority
4
2
3
Registration
Authority
1
7
6
5
‫محمد صادق دوستی‬
‫امنیت داده و شبکه‬
22 / 54
‫فهرست مطالب‬
‫‪ ‬مبانی امضای دیجیتال‬
‫‪ ‬امضای دیجیتال ‪ RSA‬و الجمل‬
‫‪ ‬زیرساخت کلید عمومی (‪)PKI‬‬
‫‪‬مبانی ‪PKI‬‬
‫‪‬گواهی دیجیتال و مدیریت آن‬
‫‪‬مؤلفههای ‪PKI‬‬
‫‪‬معماری ‪ ،PKI‬رویهها و خطمشیها‬
‫‪23 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫گواهی کلید عمومی‬
‫‪ ‬گواهی (‪ )Certificate‬سندی رسمی است برای تضتمین تعلتق‬
‫کلید عمومی به یک شناسه‪.‬‬
‫‪ ‬گواهی به وسیله یک مرک مطمئن (‪ )CA‬امضا‪ ،‬شد است‪.‬‬
‫‪ ‬کلید عمومی ‪CA‬های مطمئن در سیستم عامل وجود دارد‪.‬‬
‫‪CA‬‬
‫‪Signature‬‬
‫‪24 / 54‬‬
‫‪Alice’s ID‬‬
‫‪Alice’s Public Key‬‬
‫‪Validity Period‬‬
‫‪Other Info‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫گواهی کلید عمومی‬
‫‪ ‬صحت گواهی به راحتی قابل کنترل است‪ .‬هر تغییتری در آن بته‬
‫سادگی کنترل میشود‪.‬‬
‫‪ ‬گواهی به شکل رم نشد ارسال و ذخیر میشود‪.‬‬
‫‪ ‬برای وارسی گواهی به کلید عمومی ‪ CA‬نیاز داریم‪.‬‬
‫‪25 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫نمونه گواهی کلید عمومی در ویندوز‬
‫‪26 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫عدم اعتبار گواهی‬
‫‪ ‬دًیل ابطال گواهی‪:‬‬
‫‪‬تغییر شغل‪،‬‬
‫‪‬گم شدن و یا لو رفتن کلید خصوصی‪،‬‬
‫‪‬عدم تبعیت از سیاستهای مرک صدور گواهی توسط کاربر‪.‬‬
‫‪ ‬نیاز به تغییر کلید عمومی‪ ،‬ضرورت اطمینان از اطالع همته دنیتا از‬
‫این تغییر‪.‬‬
‫‪27 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫دو رویکرد برای بررسی اعتبار گواهی‬
‫‪Certificate Revocation List‬‬
‫‪ CRL:‬‬
‫‪ CA ‬به طور دور ای لیستتی از گواهیهتای باطتل شتد را صتادر‬
‫میکند‪ .‬برای بررسی اعتبار گواهی‪ً ،‬زم استت ‪CRL‬هتای صتادر‬
‫شد وارسی شوند‪.‬‬
‫‪Online Certificate Status Protocol‬‬
‫‪ OCSP:‬‬
‫‪ CA ‬یک سرویس برخط ارائه میکند که میتتوان بته کمتک آن‪،‬‬
‫معتبر بودن یا نبودن یک گواهی را بررسی کرد‪.‬‬
‫‪28 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫عدم اعتبار گواهی ‪CRL -‬‬
‫‪ ‬تاری ابطال‪ ،‬شمار سریال گواهیهای نامعتبر‪ ،‬بته همترا امضتای‬
‫‪ CA‬در لیست گواهی نامعتبر (‪ )CRL‬وجود دارد‪.‬‬
‫‪ ‬انواع ‪:CRL‬‬
‫‪ :Full CRL‬در دور های زمانی مشخص یک ‪ CA‬لیست کامتل‬
‫گواهیهای نامعتبر را منتشر میکند‪.‬‬
‫‪ :Delta CRL‬اختالف اخیرترین بروز رسانی و ‪ CRL‬جدید‪.‬‬
‫‪29 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫عدم اعتبار گواهی ‪CRL -‬‬
‫‪30 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫عدم اعتبار گواهی ‪OCSP -‬‬
‫‪ ‬بته کتارگ ار ‪ ،OCSP‬اصتطالحاً ‪ OCSP Responder‬گفتته‬
‫میشود‪.‬‬
‫‪ ‬مزیت نسبت به ‪ :CRL‬به دلیل برخط بودن اطمینان بیشتری را‬
‫از وضعیت فعلی گواهی فراهم مینماید‪.‬‬
‫‪ ‬عیب نسبت به ‪ :CRL‬کارگ ار ‪ OCSP‬میتواند از گواهیهتایی‬
‫که یک فرد استفاد مینماید اطالع یابد‪ .‬لذا حریم خصوصتی فترد‬
‫خدشهدار میشود‪.‬‬
‫‪31 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫نسخهبرداری و بازیابی کلید‬
‫‪ ‬کلید خصوصی ممکن است گم شود‪ ،‬که در این صتورت داد هتای‬
‫رم شد غیر قابل دسترس میشوند‪.‬‬
‫‪ ‬سایر دًیل از دست رفتن کلید خصوصی‪:‬‬
‫‪‬فراموشی کلمه رم کلید خصوصی‬
‫‪‬گم شدن‪ ،‬دزدید شدن‪ ،‬و یا خرابی رسانهای کته کلیتدها روی آن‬
‫ذخیر شد است‪.‬‬
‫‪ ‬باید مرک ی برای بازیابی کلید وجود داشته باشد‪.‬‬
‫‪32 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫گواهی های هر کاربر‬
‫‪ ‬در صورتی که کلید خصوصتی متورد استتفاد در امضتا در اختیتار‬
‫مرک بازیابی کلید قرار بگیرد‪ ،‬انکارناپذیری خدشهدار میشود‪.‬‬
‫‪ ‬بنابراین به لحاظ نظری بهتر استت دو زوج کلیتد بترای هتر کتاربر‬
‫وجود داشته باشد‪:‬‬
‫‪‬زوج کلید امضا‪ :‬عدم نیاز به پشتتیبان‪ .‬در صتورت از بتین رفتتن‬
‫کلید خصوصی‪ ،‬میتوان زوج کلید جدیدی تولید کرد‪.‬‬
‫‪‬زوج کلید رمزنگاری‪ :‬نیازمند پشتیبانگیری‬
‫‪33 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مدیریت سابقه کلیدها‬
‫‪ ‬نباید کلیدها ابدی باشند‪ .‬پس باید‪:‬‬
‫‪‬کلیدها در دور های زمانی مشخصی بهروز شوند‪.‬‬
‫‪‬بهروز رسانی کلید باید قبل از انقضا صورت پذیرد‪.‬‬
‫‪‬سابقه زوج کلیدهای (رم نگاری) قبلی را نگه داشتت تتا داد هتای‬
‫رم شد با زوج قبلتی قابتل رم بترداری باشتند‪ .‬ایتن کتار توستط‬
‫نرماف ار طرف کارفرما انجام میشود‪.‬‬
‫‪‬در نقطه مقابل برای بهروز رسانی کلیدهای امضا باید کتامالً کلیتد‬
‫فعلی را نابود کرد!‬
‫‪34 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فهرست مطالب‬
‫‪ ‬مبانی امضای دیجیتال‬
‫‪ ‬امضای دیجیتال ‪ RSA‬و الجمل‬
‫‪ ‬زیرساخت کلید عمومی (‪)PKI‬‬
‫‪‬مبانی ‪PKI‬‬
‫‪‬گواهی دیجیتال و مدیریت آن‬
‫‪‬مؤلفههای ‪PKI‬‬
‫‪‬معماری ‪ ،PKI‬رویهها و خطمشیها‬
‫‪35 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مؤلفههای ‪PKI‬‬
‫‪ ‬کاربران یا دارندگان گواهی‪ :‬کاربران انسانی‪ ،‬تجهی ات و هر آنچه کته‬
‫میتواند از گواهی استفاد نماید‪.‬‬
‫‪ ‬مرکز گواهی (‪ :)CA‬مسئول تولید‪ ،‬مدیریت‪ ،‬و ابطال گواهی‪.‬‬
‫‪ ‬مرکز ثبت نام (‪ :)RA‬مستئول دریافتت درخواستت گتواهی و کنتترل‬
‫محتوای گواهی و اطمینان از هویت متقاضی‪.‬‬
‫‪ ‬انباره (‪ :)Repository‬توزیع گواهیها و ‪CRL‬ها (حداکثر کارآیی و‬
‫دسترس پذیری را ًزم دارد)‪.‬‬
‫‪ ‬بایگانی (‪ :)Archive‬انبار طوًنیمدت و امن برای بایگانی اطالعات‪.‬‬
‫‪36 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مرکز گواهی ‪CA‬‬
‫‪ ‬به عنوان نمایند مورد اعتماد در ‪ PKI‬است و لتذا شتخص االت‬
‫معتمد (‪ )Trusted Third Party‬نامید میشود‪.‬‬
‫‪ ‬مجموعهای از سخت اف ار‪ ،‬نرم اف ار‪ ،‬و اپراتورها‪.‬‬
‫‪ ‬با دو صفت شناخته میشود‪ :‬نام و کلید عمومی‪.‬‬
‫‪37 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫وظایف ‪CA‬‬
‫‪ ‬صدور گواهی کاربران و یا دیگر ‪CA‬ها (تولید و امضا)‪.‬‬
‫‪ ‬نگهداری وضعیت گواهیها و صدور ‪.CRL‬‬
‫‪ ‬انتشار گواهیها و ‪ CRL‬موجود‪.‬‬
‫‪ ‬نگهداری بایگانی اطالعات وضعیتی از گواهیهای صادر منقضی یا‬
‫ابطال شد ‪ ،‬به منظور تعیین اعتبار گواهیها پس از انقضا‪.‬‬
‫‪38 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫صدور گواهی‬
‫‪ ‬تأیید اینکه یک موجودیت (دارند گواهی) کلید خصوصی متنتارر‬
‫با کلید عمومی موجود در گواهی را دارد‪.‬‬
‫‪ ‬اگر کلید خصوصی ‪ CA‬لو بترود‪ ،‬همته گواهیهتای صتادر اش در‬
‫معرض شک است‪.‬‬
‫‪ ‬پس اولین وریفه ‪ CA‬حفارت از کلید خصوصتی ختودش استت‪،‬‬
‫حتی وقتی درحال پردازش است‪.‬‬
‫‪ ‬وریفه دیگر ‪ CA‬اطمینتان از درستتی گتواهی و درستتی ادعتای‬
‫درخواستکنند گواهی است‪.‬‬
‫‪39 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مرکز ثبت نام ‪RA‬‬
‫‪‬‬
‫‪ RA‬قبل از ارائه در خواست به ‪ CA‬اطالعات ًزم را جمتعآوری‬
‫و کنترل میکند‪ :‬مراجعه شخص‪ ،‬تصدیق هویت‪.‬‬
‫‪ ‬اگر قبالً زوج کلید تولید کرد باشد کته همتان را بته ‪ CA‬ارستال‬
‫میشود‪.‬‬
‫‪ ‬در غیر این صورت ‪ RA‬و (یا ‪ )CA‬می تواند زوج کلید ًزم را در‬
‫حضور متقاضی تولید نمایند‪.‬‬
‫‪ ‬ممکن است زوج کلید توسط خود متقاضی تولید شد و فقط کلید‬
‫عمومی در اختیار ‪ RA‬و ‪ CA‬قرار بگیرد‪.‬‬
‫‪40 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫‪X.509‬‬
‫‪‬‬
‫استاندارد ‪ ITU-T‬برای ‪PKI‬‬
‫‪‬بخشی از توصیههای سری ‪X.500‬‬
‫‪ ‬گتتواهی ‪ X.509‬در ‪ S/MIME ،IPsec ،SSL/TLS‬و ‪SET‬‬
‫استفاد شد است‪.‬‬
‫‪‬‬
‫>> ‪ CA << A‬به معنای گواهی صادر ‪ CA‬بترای کتاربر ‪A‬‬
‫است‪.‬‬
‫‪ ‬همه کاربران در محدود یک ‪ :CA‬وجود اعتماد مشترک و امکتان‬
‫وارسی گواهی صادر ‪.‬‬
‫‪41 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫ساختار گواهی دیجیتال ‪X.509‬‬
‫‪42 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫ساختار ‪ CRL‬در ‪X.509‬‬
‫‪43 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫فهرست مطالب‬
‫‪ ‬مبانی امضای دیجیتال‬
‫‪ ‬امضای دیجیتال ‪ RSA‬و الجمل‬
‫‪ ‬زیرساخت کلید عمومی (‪)PKI‬‬
‫‪‬مبانی ‪PKI‬‬
‫‪‬گواهی دیجیتال و مدیریت آن‬
‫‪‬مؤلفههای ‪PKI‬‬
‫‪‬معماری ‪ ،PKI‬رویهها و خطمشیها‬
‫‪44 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫معماری ‪PKI‬‬
‫‪ ‬مادام که دارندگان گواهی از یک ‪ CA‬گواهی گرفته باشند مستأله‬
‫ساد است‪.‬‬
‫‪ ‬معماری ساد ‪PKI‬‬
‫‪‬تنها یک ‪CA‬؛ ایجاد ‪Single Point of Failure‬‬
‫‪‬هرگونه اشکال منجر به لطمه دیدن اعتماد و احتماًً صدور مجتدد‬
‫گواهیها‪.‬‬
‫‪ ‬وقتی که دارندگان گواهی از ‪CA‬های مختلف گواهی گرفته باشند‬
‫چگونه به هم اعتماد کنند؟‬
‫‪45 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫گواهی ضربدری (‪)Cross-Certificate‬‬
‫‪ ‬گواهی ضربدری‪ ،‬گواهیای است کته یتک ‪ CA‬بترای ‪ CA‬دیگتر‬
‫صادر میکند تا گواهیهای صادر توسط ‪ CA‬دوم توسط کاربران‬
‫‪ CA‬اول معتبر شناخته شوند‪.‬‬
‫‪ ‬با فرض صدور گتواهی ‪ A‬و ‪ B‬توستط دو ‪ CA‬مختلتف ‪ CA1‬و‬
‫‪CA2‬‬
‫>>‪CA2 <<B‬‬
‫>>‪CA1 <<A‬‬
‫‪CA1 <<CA2>>,‬‬
‫‪CA2 <<CA1>>,‬‬
‫‪CA2‬‬
‫‪B‬‬
‫‪46 / 54‬‬
‫امنیت داده و شبکه‬
‫‪CA1‬‬
‫‪A‬‬
‫محمد صادق دوستی‬
‫‪Enterprise PKI‬‬
‫‪ ‬سه معماری مختلف برای ‪ PKI‬ب رگ‬
‫‪‬سلسله مراتبی‪ :‬در یک ساختار درختی‬
‫‪‬توری (‪ :)Mesh‬ارتباط کامل ضربدری ‪CA‬ها با یکدیگر‬
‫‪‬ترکیبی از دو مدل فوق‪ :‬چند سلسله مراتب از ‪CA‬ها که ریشته‬
‫آنها با یکدیگر ارتباط ضربدری دارند‪.‬‬
‫‪47 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مدل سلسله مراتبی‬
‫‪ ‬ساختار درختی از ‪CA‬ها‬
‫خود امضا‬
‫)‪(Self-Signed‬‬
‫‪Root CA‬‬
‫‪ CA ‬ریشه و مجموعهای ‪ CA‬میانی‬
‫‪CA2‬‬
‫‪ ‬م ایا‪:‬‬
‫‪‬توزیع کار و کاهش ریسک‬
‫‪B‬‬
‫‪‬کاهش ه ینه برقراری امنیت فی یکی‬
‫• صرفاً برای ریشه امنیت باً نیاز است‪.‬‬
‫‪CA1‬‬
‫‪CA12‬‬
‫‪A‬‬
‫‪F‬‬
‫‪E‬‬
‫‪CA11‬‬
‫‪D‬‬
‫‪C‬‬
‫‪ ‬معایب‪:‬‬
‫‪‬همه ‪CA‬ها را نمی توان در یک سلسله مراتب جای داد‪.‬‬
‫‪48 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫مدل سلسله مراتبی‬
Root’s Cert
P-Key:
4074334256
Sign: Root
CA2’s Cert
P-Key:
4074334256
Sign: Root
CA3’s Cert
User’s Cert
P-Key:
9886543592
P-Key:
67150498376
Sign: CA2
Sign: CA3
‫محمد صادق دوستی‬
‫امنیت داده و شبکه‬
49 / 54
‫مدل توری‬
‫‪ ‬هر دو ‪ CA‬موجود در سیستم برای یکدیگر گواهی ضربدری صادر‬
‫کنند‪.‬‬
‫‪ ‬م ایا‪:‬‬
‫‪G‬‬
‫‪H‬‬
‫‪‬استقالل ‪CA‬ها از یکدیگر‬
‫‪B‬‬
‫‪CA4‬‬
‫‪A‬‬
‫‪CA1‬‬
‫‪ ‬معایب‪:‬‬
‫‪CA3‬‬
‫‪‬نیاز به صرف منابع و ه ینه زیاد‬
‫‪F‬‬
‫‪50 / 54‬‬
‫امنیت داده و شبکه‬
‫‪CA2‬‬
‫‪E‬‬
‫‪D‬‬
‫‪C‬‬
‫محمد صادق دوستی‬
‫مدل ترکیبی‬
‫‪ ‬ساختار درختی برای هر بخش‬
‫‪ ‬ارتباط درختها با یکدیگر از طریق گواهی ضربدری در سطح ریشه‬
‫‪Root CA1‬‬
‫‪Root CA2‬‬
‫‪CA12‬‬
‫‪CA21‬‬
‫‪H‬‬
‫‪CA11‬‬
‫‪G‬‬
‫‪B‬‬
‫‪CA112‬‬
‫‪A‬‬
‫‪F‬‬
‫‪51 / 54‬‬
‫امنیت داده و شبکه‬
‫‪CA111‬‬
‫‪E‬‬
‫‪D‬‬
‫‪C‬‬
‫محمد صادق دوستی‬
‫رویهها و خطمشیها ‪1 -‬‬
‫‪ ‬برای داشتن ‪ ،PKI‬وجود دو مستند ضروری است‪:‬‬
‫‪‬سیاست نامه گواهی دیجیتال‬
‫‪CP: Certificate Policy‬‬
‫‪‬آیین نامه اجرایی گواهی دیجیتال‬
‫‪CPS: Certificate Practice Statement‬‬
‫‪ ‬استاندارد فعلی برای این دو مستند ‪ RFC 3647‬است‪.‬‬
‫‪52 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫رویهها و خطمشیها ‪2 -‬‬
‫‪ CP ‬یک مستند سطح باً است که مؤلفههای درگیر در یک ‪PKI‬‬
‫مشخص‪ ،‬و نقش و وریفه هر مؤلفه را تشریح میکند‪.‬‬
‫‪ ‬با مطالعه ‪ CP‬هر ‪ CA‬میتوان می ان اعتماد به گواهیهای صادر‬
‫توسط آن ‪ CA‬را تعیین نمود‪.‬‬
‫‪ CPS ‬مستندی است که مطابق با ‪ CP‬یک مرکت تتدوین شتد و‬
‫نحو اجرایی شدن ‪ CP‬را بیان میکند‪.‬‬
‫‪‬رویههای اجرایی صدور‪ ،‬انتشار‪ ،‬بایگانی‪ ،‬ابطال و صدور مجدد‬
‫‪53 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬
‫پایان‬
‫صفحه درس‪:‬‬
‫‪http://ce.sharif.edu/courses/94-95/1/ce442-1/‬‬
‫مراجعه حضوری جهت رفع اشکال‪ :‬شنبهها ‪ 15‬الی ‪16‬‬
‫(طبقه پنجم دانشکد ‪ ،‬درب شیشهای جنب آسانسور)‬
‫یا در زمانهای دیگر با قرار قبلی‬
‫یا به وسیله رایانامه‪dousti@ce :‬‬
‫‪54 / 54‬‬
‫امنیت داده و شبکه‬
‫محمد صادق دوستی‬