DataNetSec-Dousti-07-DigitSign_PKI-v2.pdf

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