زیرساخت کلید عمومی

زیرساخت کلید عمومی (PKI) مجموعه‌ای متشکل از سخت‌افزار، نرم‌افزار، افراد، سیاست‌ها و دستورالعمل‌های مورد نیاز برای مدیریت، توزیع، استفاده، ذخیره و ابطال گواهی‌های دیجیتال می‌باشد.

در رمزنگاری، PKI مقدمه‌ای است برای الصاق کلید عمومی به هویت کاربر، که با استفاده از یک مرکز صدور گواهی (CA) انجام می‌گیرد. هویت کاربر باید برای هر CA یکتا باشد. نسبت دادن کلید عمومی به هویت افراد مطابق با یک روند ثبت و صدور انجام می‌شود، که بر اساس سطح تضمین لازم ممکن است توسط یک نرم‌افزار در CA انجام شود یا با نظارت انسان باشد. مسئولیت تضمین درستی در PKI بر عهدهٔ مرکز ثبت نام (RA) است. مرکز ثبت نام، اطمینان می‌دهد که کلید عمومی به گونه ای به فرد مورد نظر الصاق شده‌است که عدم انکار را تضمین می‌کند.

بررسی اجمالی 
رمزنگاری کلید عمومی تکنیک پنهانی است، تا کاربران را قادر به ارتباط امن بر روی یک شبکهٔ عمومی ناامن سازد و به‌طور قابل اعتماد، هویت کاربر را با استفاده از امضای دیجیتال بررسی کند.

زیرساخت کلید عمومی (PKI)، یک سیستم برای ایجاد، ذخیره‌سازی و توزیع امضاهای دیجیتال می‌باشد که به منظور بررسی یک کلید عمومی منحصربه‌فرد متعلق به نهاد خاص مورد استفاده قرار می‌گیرد. زیرساخت کلید عمومی، گواهی‌های دیجیتال را که حاصل نگاشت کلیدهای عمومی به هویت افراد است، ایجاد کرده و این گواهی‌ها را در یک مخزن مرکزی، به‌طور امن نگهداری می‌کند و اگر لازم باشد، آنها را باطل می‌کند.

زیرساخت کلید عمومی از موارد زیر تشکیل شده‌است:
 مرکز صدور گواهی (CA) که هر دو، گواهی ¬های دیجیتال را صادر و تأیید می‌کنند.
 مرکز ثبت نام گواهی که هویت کاربرانی متقاضی اطلاعات از CA را بررسی می‌کند.
 راهنمای مرکزی. به‌طور مثال، مکانی امن برای ذخیره و نمایه سازی کلیدها
 سیستم مدیریت گواهی

روش‌های تأیید گواهی 
به‌طور کلی، سه رویکرد برای جلب اعتماد وجود دارد: مراکز صدور گواهی (CAها)، وب سایت‌های مورد اعتماد (WoT) و زیرساخت کلید عمومی ساده (SPKI).

مراکز صدور گواهی 
وظیفهٔ اصلی مرکز صدور گواهی امضای دیجیتالی کلید عمومی مربوط به هر کاربر و انتشار آن است. این کار با استفاده از کلید خصوصی مرکز صدور گواهی انجام می‌شود بنابراین اعتماد به کلید کاربر، متکی به اعتماد به درستی کلید مرکز صدور گواهی است. ساز و کاری که کلیدها را به کاربران الصاق می‌کند، مرکز ثبت نام¬ (RA) نامیده می‌شود که ممکن است از CA جدا باشد یا نباشد. الصاق کلید به کاربر بسته به سطح اطمینان لازم در آن، توسط نرم‌افزار یا تحت نظارت انسان صورت می‌پذیرد.

ممکن است برای مرکز صدور گواهی (CA) عبارت طرف سوم قابل اعتماد (TTP) نیز بکار رود. علاوه بر این، زیرساخت کلید عمومی اغلب خود به عنوان مترادف برای پیاده‌سازی مرکز صدور گواهی استفاده می‌شود.

گواهی‌های موقت و شناسایی یگانه 
این نگرش شامل سروری است که به عنوان یک مرکز صدور گواهی آنلاین، درون یک سیستم شناسایی یگانه عمل می‌کند. یک سرور شناسایی یگانه، گواهی‌های دیجیتال را برای کاربران سیستم صادر خواهد کرد، اگرچه هرگز آنها را ذخیره نخواهد کرد. کاربران می‌توانند برنامه‌ها و غیره را با گواهی‌های موقت اجرا کنند. استفاده از این راهکار به‌طور متنوع در گواهی‌های مبتنی بر x.509 متداول است.

وب (شبکه) اعتماد 
مقالهٔ اصلی: Web of trust

رویکرد جایگزین برای مسألهٔ احراز هویت عمومی اطلاعات کلید عمومی، طرح وب اعتماد است که این طرح از گواهی‌های امضا شده و تصدیق شخص سوم استفاده می‌کند. «وب اعتماد» یا Web of Trust (WoT) را نباید با مفهوم رایج وبگاه یا وب سایت اشتباه کرد. وب اعتماد در حقیقت شبکه معنائی در هم تنیده‌ای است از افراد مختلفی که هرکدام به نسبتهای مختلف به سایر افراد موجود در این شبکه و اصالت کلید عمومی‌اشان اعتماد دارد و آن را با استفاده از امضای دیجیتال خود بر روی کلید عمومی آنها نشان می‌دهد. کلید عمومی که توسط یک نفر از اعضای وب اعتماد امضا شده‌است را اصطلاحاً «گواهی» یا Certificate می‌نامند. واژهٔ منحصربه‌فرد «وب اعتماد» دلالت بر وجود یک وب اعتماد منحصربه‌فرد، یا نقطهٔ مشترک اطمینان ندارد، بلکه منظور یک وب اعتماد از شمار زیادی وب اعتماد گسسته و بالقوه می‌باشد. نمونه‌هایی از پیاده‌سازی این رویکرد، PGP (Pretty Good Privacy) و GnuPG (از جمله پیاده‌سازی‌های آزاد استاندارد OpenPGP، که خود حاوی ویژگی‌های استاندارد شدهٔ PGP است) می‌باشد. از آن جایی که PGP و پیاده‌سازی‌های آن به منظور انتشار اطلاعات کلید عمومی، اجازهٔ استفاده از امضاهای دیجیتال را برای پست الکترونیکی خود می‌دهند، طبعاً، ایجاد یک نسخه از وب اعتماد آسان است.

یکی از مزایای وب اعتماد، از جمله پیاده‌سازی PGP این است که می‌تواند با تمام بخش‌های داخل دامنه تعامل داشته باشد (از جمله، مرکز صدور گواهی داخلی در یک شرکت)، در حقیقت برای ارتباط با مرکز صدور گواهی داخلی یک شرکت از آن به عنوان یک معرف مورد اعتماد استفاده می‌شود. اگر «وب اعتماد» کاملاً مطمئن باشد، به دلیل ماهیت وب اعتماد، اعتماد به یک گواهی، اطمینان به تمام گواهی‌های موجود در آن وب را باعث می‌شود. زیرساخت کلید عمومی دارای ارزشی به اندازهٔ استانداردها و روش‌هایی است که صدور گواهی‌ها را کنترل می‌کند و شامل PGP یا یک وب اعتماد تأسیس شده می‌باشد که می‌تواند به‌طور قابل توجه، قابلیت اطمینان در پیاده‌سازی حوزهٔ PKI یا سرمایه‌گذاری در آن را کاهش دهد.

مفهوم وب مورد اعتماد اولین بار توسط خالق PGP, Phil Zimmermann در سال ۱۹۹۲ در راهنمای PGP نسخهٔ ۲ به کار برده شد.

زیرساخت کلید عمومی ساده 
گزینهٔ دیگر که با احراز هویت عمومی اطلاعات کلید عمومی سرو کار ندارد، زیر ساخت کلید عمومی ساده (SPKI) می‌باشد که حاصل ۳ تلاش مستقل برای غلبه بر پیچیدگی‌های X.509 و وب مورد اعتماد PGP می‌باشد. از آن جایی که کلید، تنها چیز قابل اعتماد به جای شخص می‌باشد، SPKI کاربران را با افراد وابسته نمی‌کند. SPKI از هیچ مفهوم اعتماد و اطمینان استفاده نمی‌کند، به طوری که تصدیق کننده، صادرکننده هم هست. این موضوع، در اصطلاحات SPKI «حلقهٔ احراز هویت» نامیده می‌شود، که در آن احراز هویت از طراحی اش جدایی ناپذیر است.

تاریخچه 
در سال ۱۹۷۶ افشاء عمومی الگوریتم‌های کلید نامتقارن و تبادل کلید امن توسط Diffe, Hellman, Rivest, Shamir، و Adleman ارتباطات امن را کاملاً تغییر داد. همراه با گسترش بیش تر ارتباطات الکترونیکی دیجیتال دارای سرعت بالا (اینترنت و ماقبل آن)، نیاز به روش‌هایی که در آن کاربران می‌توانستند به‌طور ایمن با همدیگر ارتباط برقرار کنند، مشهود شد، به طوری که نتیجهٔ آن، پیدا کردن روش‌هایی بود که کاربران می‌توانستند از کسی که با او تعامل دارند، اطمینان حاصل کنند.

پروتکل‌های رمز نگاری مناسب ابداع شدند و در چارچوب اصول رمزنگاری جدید با توانایی بهره بری مؤثر تحلیل شدند. با ابداع شبکهٔ جهانی وب و گسترش سریع آن، نیاز به احراز هویت و ارتباط امن روز به روز بیش تر شد. دلایل تجاری به تنهایی کافی بودند. (برای مثال، تجارت الکترونیکی و دستیابی آنلاین به پایگاه داده‌های اختصاصی از طریق مرورگرهای وب و غیره). Taher Elgamal و دیگران در مرورگر Netscape پروتکل SSL را توسعه دادند. (https در URLهای وب)؛ آن شامل تشکیلات ایجاد کلید و احراز هویت سرور (پیش از v3 و فقط یک طرفه) و مانند آن بود. به همین ترتیب، ساختار PKI برای سایت‌ها و کاربران وبی که خواستار ارتباطات ایمن بودند، ایجاد شد.

فروشندگان و کارآفرینان، متوجه احتمال یک بازار بزرگ و شرکت‌های تازه به کار (یا پروژه‌های جدید در شرکت‌های موجود) شدند و به منظور تحریک برای به رسمیت شناختن قانونی و حفاظت از مسئولیت، شروع به کار کردند. کانون وکلای آمریکا، پروژهٔ فناوری تحلیلی گسترده‌ای در رابطه با برخی از جنبه‌های قانونی عملیات PKI منتشر کرد (به رهنمودهای امضای دیجیتال ABA نگاهی بیندازید) و در مدت کوتاهی پس از آن، چندین ایالت آمریکا (Utah برای اولین بار، در سال ۱۹۹۵) و دیگر مقامات قضایی سراسر جهان، شروع به تصویب قوانین و اتخاذ مقررات کردند. گروه‌های مصرف‌کننده و دیگران، سوالاتشان را در رابطه با حریم خصوصی، دسترسی و ملاحظات مسولیتی -با توجه به این که در برخی از حوزه‌های قضایی بیش تر مورد توجه قرار می‌گرفت - افزایش دادند.

قوانین تصویب شده و مقررات مصوب متفاوت است و مشکلات فنی و عملیاتی در تبدیل طرح PKI به بهره‌برداری تجاری وجود دارد و پیشرفت‌های، به مراتب کندتر از تصور پیشگامان این امر بوده‌است.

در سال‌های اولیهٔ قرن ۲۱، مهندسی رمز نگاری اساسی، به وضوح برای استقرار به‌طور صحیح آسان نبود. روش‌های عامل (دستی یا اتوماتیک) برای طراحی به‌طور صحیح آسان نبودند (یا حتی اگر خوب طراحی شده بودند، برای اجرا به‌طور کامل، نیازمند مهندسی بودند). استانداردهای موجود کافی نبودند.

فروشندگان PKI بازاری برای خود پیدا کردند اما کاملاً همان بازاری که در رؤیای خود در اواسط دههٔ ۹۰ می‌دیدند، نبود و آهسته‌تر و از روش‌های متفاوت نسبت به آنچه که پیش‌بینی می‌شد، رشد می‌کرد. زیرساخت‌های کلید عمومی، برخی از مشکلاتی را که با آن مواجه بودند، حل نکرده‌اند و فروشندگان بزرگ از کسب و کار آن بیرون رفته‌اند یا توسط دیگران سهام آن‌ها خریداری شده‌است. زیر ساخت کلید عمومی تا به حال بیش‌ترین موفقیت را در پیاده‌سازی‌های دولتی به دست آورده‌است. بزرگ‌ترین پیاده‌سازی PKI تا این تاریخ، مربوط به زیرساخت کلید عمومی آژانس سیستم‌های اطلاعاتی دفاع (DISA) برای برنامهٔ دسترسی مشترک به کارت‌ها می‌باشد.

موضوعات امنیتی 
 نگاه کنید به PKI security issues with X.509
 نگاه کنید به Breach of Comodo CA
 نگاه کنید به Breach of Diginotar CA

مثال‌های کاربردی 
زیر ساخت‌های کلید عمومی یک نوع از هر یک از فروشندگان مختلف، استفاده‌های بسیاری دارند، از جمله فراهم کردن کلیدهای عمومی و الصاق آن‌ها به هویت کاربران که برای موارد زیر استفاده می‌شوند:
 رمز گذاری یا احراز اصالت فرستندهٔ پیام پست الکترونیک (برای مثال، با استفاده از OpenPGP یا S/MIME)
 رمز گذاری یا احراز اصالت سندها (برای مثال، امضای XML یا استانداردهای رمزدار کردن XML، به شرطی که سندها مانند XML رمز شده باشند).
 احراز اصالت کاربران به برنامه‌های کاربردی (برای مثال، ورود با استفاده از کارت‌های هوشمند و احراز اصالت کاربر با SSL). استفادهٔ عملی برای احراز اصالت HTTP امضا شدهٔ دیجیتالی در پروژه‌های Enigform و mod_openpgp دارد.
 راه اندازی پروتکل‌های ارتباطات امن، از جمله تبادل کلید اینترنت (IKE) و SSL. در هردوی آن‌ها، راه اندازی اولیهٔ یک کانال امن (یک "ارتباط امنیتی") با استفاده از روش‌های کلید نامتقارن انجام می‌شود (با نام مستعار کلید عمومی). در حالی که ارتباطات حقیقی، از روش‌های کلید متقارن سریع تر (با نام مستعار کلید مخفی) استفاده می‌کنند.
 امضاهای سیار، امضاهای الکترونیکی هستند که با استفاده از یک دستگاه تلفن همراه ایجاد می‌شوند و به امضاها یا خدمات مربوط به گواهی در یک محیط مخابراتی مستقل از مکان، تکیه می‌کنند.
 رابط اندازه‌گیری جهانی (UMI) استاندارد باز که در ابتدا توسط مشاوران کمبریج برای استفاده در دستگاه/سیستم‌های اندازه‌گیری هوشمند و اتوماسیون خانگی ایجاد شد و از یک زیر ساخت PKI برای امنیت خود بهره می‌برد.

واژگان 
 CA: مرکز صدور گواهی
 TTP: شخص ثالث معتمد

منابع

پیوند به بیرون 
 PKI tutorial ("هر چیزی که شما نمی‌خواهید، ولی مجبور به فهمیدن آن در PKI هستید") توسط Peter Gutmann
 PKI Tutorial using Fingerpuppets
 PKIX workgroup
 Easing the PAIN - شرح مختصری از PKI خصوصی، احراز اصالت، صحت و عدم انکار زیر ساخت کلید عمومی (PAIN)
 NIST PKI Program— که در آن مؤسسهٔ ملی استانداردها و فناوری (NIST) برای گسترش زیر ساخت کلید عمومی تلاش می‌کند.
  Ten Risks of PKI: What You're Not Being Told About Public Key Infrastructure by C. Ellison and B. Schneier
 Response to Ten Risks by A. Perez
 Seven and a Half Non-risks of PKI by B. Laurie
 The Inevitable Collapse of the Certificate Model  by Hagai Bar-El

 
امنیت شبکه‌های رایانه‌ای
امنیت لایه انتقال
رمزنگاری با کلید نامتقارن
رمزنگاری کلید عمومی
رمزنگاری
زیرساخت‌های رایانش
مدیریت کلید