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

زیرساخت کلید عمومی (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: شخص ثالث معتمد