زیرساخت کلید عمومی
زیرساخت کلید عمومی (PKI) سیستمی متشکل از مراجع صدور گواهی، گواهیهای دیجیتال و سیاستهایی است که کلیدهای عمومی را به هویتهای تأیید شده پیوند میدهد و به طرفهایی که هرگز یکدیگر را ملاقات نکردهاند اجازه میدهد به کلیدهای یکدیگر اعتماد کنند.
Definition
زیرساخت کلید عمومی مجموعهای از نقشها، سیاستها، سختافزار و نرمافزار مورد نیاز برای ایجاد، توزیع، ذخیره، اعتبارسنجی و ابطال گواهیهای دیجیتال است که کلیدهای عمومی را به هویتها پیوند میدهند.
Scope
این موضوع به اجزا و عملکرد PKI میپردازد: گواهیهای X.509، مراجع صدور گواهی و زنجیرههای اعتماد، صدور و اعتبارسنجی گواهی، ابطال (CRLs، OCSP) و مکانیزمهای شفافیت. مدل اعتمادی که زیربنای PKI وب و جایگزینهای آن (شبکه اعتماد) است را مورد بررسی قرار میدهد. الگوریتمهای امضای دیجیتال که گواهیها از آنها استفاده میکنند و پروتکلهای کانال امن (TLS) که گواهیها را مصرف میکنند، هر دو به طور جداگانه بررسی میشوند و از این بحث مستثنی هستند.
Core questions
- چگونه یک طرف متکی اطمینان حاصل میکند که یک کلید عمومی متعلق به یک هویت خاص است؟
- چگونه زنجیرههای گواهی و مراجع ریشه، اعتماد سلسلهمراتبی را برقرار میکنند؟
- گواهیها چگونه اعتبارسنجی میشوند و در صورت به خطر افتادن کلیدها، ابطال چگونه انجام میشود؟
- چه حالتهای شکست (مصالحه CA، صدور اشتباه) مدل اعتماد را تهدید میکنند؟
- مکانیزمهایی مانند شفافیت گواهی چگونه پاسخگویی را بهبود میبخشند؟
Key concepts
- گواهی X.509
- مرجع صدور گواهی (CA)
- زنجیره اعتماد و مخزن ریشه
- درخواست امضای گواهی
- ابطال گواهی (CRL، OCSP)
- شفافیت گواهی
- شبکه اعتماد
- مصالحه CA و صدور اشتباه
- پین کردن گواهی
Key theories
- زنجیره اعتماد سلسلهمراتبی
- اعتماد در مجموعهای کوچک از مراجع صدور گواهی ریشه خودامضا که از قبل در کلاینتها نصب شدهاند، ریشه دارد؛ این مراجع، CAهای میانی را امضا میکنند که گواهیهای موجودیت نهایی را امضا میکنند، بنابراین یک کلاینت میتواند هر گواهی را با اعتبارسنجی زنجیره تا یک ریشه مورد اعتماد تأیید کند.
- ابطال و شفافیت
- از آنجایی که کلیدها ممکن است به خطر بیفتند یا گواهیها به اشتباه صادر شوند، PKI ابطال (لیستهای ابطال گواهی و OCSP) و به طور فزایندهای، گزارشهای حسابرسی عمومی (شفافیت گواهی) را فراهم میکند تا گواهیهای اشتباه صادر شده قابل شناسایی و بیاعتبار شوند.
Mechanisms
متقاضی یک جفت کلید تولید میکند و درخواست امضای گواهی را ارسال میکند؛ مرجع صدور گواهی (CA) هویت یا کنترل دامنه متقاضی را تأیید میکند و یک گواهی X.509 صادر میکند که کلید عمومی را به آن هویت پیوند میدهد و با کلید خصوصی CA امضا میشود. یک طرف متکی (relying party) با بررسی زنجیره امضا به یک ریشه مورد اعتماد، دوره اعتبار، نام و وضعیت ابطال (از طریق CRL یا OCSP) یک گواهی را تأیید میکند. شفافیت گواهی (Certificate Transparency) تمام گواهیهای صادر شده را به صورت عمومی ثبت میکند تا صاحبان دامنه بتوانند صدور غیرمجاز را شناسایی کنند.
Clinical relevance
PKI وب همان چیزی است که قفل در مرورگرها را معنیدار میکند: هر اتصال HTTPS برای احراز هویت سرور به یک گواهی صادر شده توسط CA متکی است. صدور خودکار و رایگان (Let's Encrypt) منجر به پذیرش تقریباً جهانی HTTPS شد. PKI همچنین زیربنای امضای کد، ایمیل امن، امضای اسناد و هویت دستگاههای سازمانی است. شکستهای CA (مانند نقض DigiNotar در سال ۲۰۱۱) تأثیر جهانی دارند، به همین دلیل شفافیت و ابطال اهمیت دارند.
Evidence & guidelines
گواهیهای X.509 و ابطال در RFC 5280؛ شفافیت گواهی در RFC 6962؛ OCSP در RFC 6960 تشریح شدهاند. الزامات پایه انجمن CA/Browser بر CAهای مورد اعتماد عمومی حاکم است. پروتکل ACME (RFC 8555) صدور را خودکار میکند. بهترین روشها به سمت گواهیهای کوتاهمدت، تمدید خودکار و اتکا به نظارت شفافیت گواهی تمایل دارند.
History
مفهوم گواهی در پایاننامه لورن کونفلدر در MIT در سال ۱۹۷۸ پیشنهاد شد. X.509 از تلاشهای دایرکتوری X.500 در اواخر دهه ۱۹۸۰ پدید آمد و با گسترش SSL/TLS در دهه ۱۹۹۰، اساس PKI وب شد. مصالحههای مکرر CA و صدور اشتباه (Comodo و DigiNotar در سال ۲۰۱۱) شکنندگی اعتماد بیقید و شرط به CA را آشکار کرد و منجر به شفافیت گواهی و حاکمیت سختگیرانهتر CA شد، در حالی که Let's Encrypt (۲۰۱۵) صدور گواهی را دموکراتیک کرد.
Key figures
- Loren Kohnfelder
- Whitfield Diffie
- Ross Anderson
- Ben Laurie
Related topics
Seminal works
- stallings2017
- rfc5280
- anderson2020
Frequently asked questions
- یک مرجع صدور گواهی در واقع چه چیزی را تأیید میکند؟
- برای گواهیهای رایج تأیید دامنه، CA فقط تأیید میکند که متقاضی دامنه را کنترل میکند (مثلاً با پاسخ به یک چالش). این به معنای تأیید مشروعیت سازمان نیست. گواهیهای با اطمینان بالاتر شامل بررسیهای هویتی بیشتری هستند، اما بیشتر گواهیهای وب فقط کنترل دامنه را تأیید میکنند.
- اگر یک مرجع صدور گواهی به خطر بیفتد چه اتفاقی میافتد؟
- یک مهاجم میتواند گواهیهای جعلی برای هر سایتی صادر کند و امکان جعل هویت را فراهم آورد. دفاعیات شامل ابطال و بیاعتبار کردن CA، گزارشهای شفافیت گواهی که گواهیهای غیرمجاز را آشکار میکنند، و عمر کوتاه گواهیها که پنجره سوءاستفاده را محدود میکند، هستند.