رمزنگاری کلید عمومی: تفاوت میان نسخه‌ها

محتوای حذف‌شده محتوای افزوده‌شده
Hamid Hassani (بحث | مشارکت‌ها)
خط ۱:
{{ویکی‌سازی}}
'''رمزنگاری کلید عمومی''' یا '''رمزنگاری نامتقارن''' روشی از [[رمزنگاری]] است که کلید مورد استفاده برای رمزگذاری با کلید مربوط برای رمزگشایی با هم متفاوت است (برخلاف [[رمزنگاری متقارن]] که در آن رمزگذاری و رمزگشایی با یک کلید انجام می‌شود).
در [[رمزنگاری نامتقارن]]، کاربر یک جفت کلید در اختیار دارد:{{سخ}}
 
1۱- '''کلید عمومی'''(برای رمزگذاری متن اصلی و راست‌آزمایی امضای دیجیتال){{سخ}}
 
2۲- '''کلید خصوصی'''(برای رمزگشایی متن رمز و [[امضای دیجیتال]] داده‌ها){{سخ}}
 
مشخص است که کلید خصوصی مخفی باقی می‌ماند ولی کلید عمومی ممکن است به طور وسیع منتشر شود. پیام‌های دریافتی کد شده توسط کلید عمومی کاربر فقط برای خودش قابل خواندن می‌باشد زیرا تنها خود کاربر کلید خصوصی جهت رمزگشایی را در اختیار دارد.
 
دو کلید با هم رابطه‌ای ریاضی دارند ولی عملاً کلید خصوصی از روی کلید عمومی محاسبه پذیر نیست.
 
== مفاهیم زیرساخت کلید عمومی ==
زیرساخت کلید عمومی یا PKI، زیرساختی است که بر اساس اعتماد، و نه امنیت، طراحی و پیاده سازیپیاده‌سازی شده‌است و هدف آن برقراری [[امنیت]] و آرامش خاطر کاربران [[شبکه‌های کامپیوتری]] است.
 
PKI را می‌توان به صورت مجموعه [[سخت‌افزار]]، [[نرم‌افزار]]، کاربران، سیاست‌ها و رویه‌هایی که برای ایجاد [[مدیریت]]، ذخیره، توزیع و ابطال گواهی مبتنی بر رمزنگاری با کلید عمومی مورد نیاز می‌باشند تعریف نمود. رمزنگاری به عنوان یکی از روش‌های قابل اعتماد جهت فراهم آوردن سرویس‌های امنیتی قابل استفاده می‌باشد، ولی امروزه به صورت کلی‌تری جهت فراهم آوردن ابزارهایی که می‌توانند سرویس‌هایی را برای [[امنیت اطلاعات]] و داده‌ها ارائه نمایند، استفاده می‌شود. برای هردو عمل رمزنگاری و تصدیق هویت کلید عمومی از زوج کلید (یک کلید عمومی و یک کلید خصوصی) استفاده می‌شود. در رمزنگاری، فرستنده با کلید عمومی فایل را رمزگذاری می‌کند و گیرنده پس از دریافت، آن را با کلید خصوصی خود از رمز خارج می‌کند؛ و در بحث تصدیق هویت، فرستنده با کلید خصوصی خود پیام را امضا می‌کند و گیرنده، پیام فرستنده را با کلید عمومی تصدیق می‌نماید.<ref> Raina, K. (2003). PKI Security Solutions for the Enterprise,Wiley Publishing Inc.</ref>
زیرساخت کلید عمومی یا PKI، زیرساختی است که بر اساس اعتماد، و نه امنیت، طراحی و پیاده سازی شده‌است و هدف آن برقراری [[امنیت]] و آرامش خاطر کاربران [[شبکه‌های کامپیوتری]] است.
 
PKI را می‌توان به صورت مجموعه [[سخت‌افزار]]، [[نرم‌افزار]]، کاربران، سیاست‌ها و رویه‌هایی که برای ایجاد [[مدیریت]]، ذخیره، توزیع و ابطال گواهی مبتنی بر رمزنگاری با کلید عمومی مورد نیاز می‌باشند تعریف نمود. رمزنگاری به عنوان یکی از روش‌های قابل اعتماد جهت فراهم آوردن سرویس‌های امنیتی قابل استفاده می‌باشد، ولی امروزه به صورت کلی‌تری جهت فراهم آوردن ابزارهایی که می‌توانند سرویس‌هایی را برای [[امنیت اطلاعات]] و داده‌ها ارائه نمایند، استفاده می‌شود. برای هردو عمل رمزنگاری و تصدیق هویت کلید عمومی از زوج کلید (یک کلید عمومی و یک کلید خصوصی) استفاده می‌شود. در رمزنگاری، فرستنده با کلید عمومی فایل را رمزگذاری می‌کند و گیرنده پس از دریافت، آن را با کلید خصوصی خود از رمز خارج می‌کند؛ و در بحث تصدیق هویت، فرستنده با کلید خصوصی خود پیام را امضا می‌کند و گیرنده، پیام فرستنده را با کلید عمومی تصدیق می‌نماید.<ref> Raina, K. (2003). PKI Security Solutions for the Enterprise,Wiley Publishing Inc.</ref>
 
;ساختار موجودیت‌های PKI
 
ارتباط بین موجودیت‌های PKI طی یک ساختار کلی ارائه می‌شود.<ref> Symeon (Simos) Xenitellis, S.(2000). The Open–source PKI Book, A guide to PKIs and Open–source Implementations,http://ospkibook.sourceforge.net</ref>
 
<center></center>
 
== زوج کلیدهای چندتایی ==
 
هر موجودیت PKI می‌تواند چند زوج کلید داشته باشد. بین یک زوج کلید و یک «نقش» یک تناظر قوی وجود دارد. مثلاً ممکن است یک موجودیت از یک کلید برای امضای یک خرید برای بخش کاری خودش و از کلید دیگر برای امضای یک فرم کرایة فیلم و از یکی دیگر برای امضای یک ایمیل شخصی استفاده کند.
 
سطر ۳۱ ⟵ ۲۹:
<center>[[پرونده:Kpair.JPG]]</center>
 
زوج کلیدهای مختلف می‌توانند کاربردهای متفاوت داشته باشند. خصوصاً اینکه یک زوج کلید در الگوریتم [[امضای دیجیتال]]ی (DSA) زمانیکه بر طبق خصوصیاتی پیاده سازیپیاده‌سازی شده‌است، نمی‌تواند برای رمزگذاری و یا رمزگشایی بکار رود. بطور مشابه زوج کلید DH نمی‌تواند برای امضا نمودن داده‌ها و راست‌آزمایی امضا بکار رود. بعلاوه حتی یک زوج کلید بر اساس الگوریتم RSA _ که بصورت ریاضی برای تصدیق، یکپارچگی، محرمانگی و یا معاوضه کلید بکار می‌رود_ ممکن است به وسیلة سیاستها، احکام، یا انتخاب پیاده سازیپیاده‌سازی برای استفادة تک منظوره محدود شود.
 
== کشف رمز کلید ==
 
موضوع کشف رمز کلید در دو حوزه مورد بحث قرار می‌گیرد:
* کشف رمز کلید خصوصی موجودیت نهایی
* کشف رمز کلید خصوصی یک CA
در حالت اول، به محض اینکه شخصی متوجه می‌شود که کلید خصوصی اش کشف رمز شده‌است، باید اقدامات زیر را انجام دهد:
* یک پیام درخواست ابطال برای مرجع قدرت امنیتی مربوط جهت صدور اعلان به تمام طرفهای مرتبط مبنی بر عدم استفاده از کلید عمومی
* در صورت لزوم، پیمودن مراحل برای تولید و صدور گواهی برای یک زوج کلید جدید
 
پیامد کشف رمز کلید یک موجودیت نهایی، بستگی به نوع کلید دارد. اگر کلید امضا کننده کشف رمز شده باشد، دارندة این کلید باید گواهی مورد نظر را باطل کند و همین کار از دسترسی بیشتر افراد غیر مجازغیرمجاز جلوگیری خواهد کرد. اما اگر کلید کشف رمز شده، کلید خصوصی و برای از رمز درآوردن اسناد باشد، بعلاوة نکتة بالا، باید تمام اسنادی که با این کلید از رمز خارج می‌شدند و کلیدهایی که این اسناد را به رمز درآورده‌اند، شناسایی شوند.
 
== بازیابی و آمادسازی در برابر حوادث ==
 
;آگاه ساختن طرف اعتماد کننده
 
در صورتی که کلید CA کشف رمز شود، به دلیل تعدد افراد، وی نمی‌تواند به طرفهای اعتماد کننده اطلاع دهد که این مسألهمسئله اتفاق افتاده‌است و هیچ راه قابل اعتمادی برای این شکل از [[اطلاع رسانیاطلاع‌رسانی]] وجود ندارد.
 
یک راه اطلاع رسانیاطلاع‌رسانی از طریق پیامهای CRL است که آن را با ارائة یک مکانیزم بیان می‌کنیم. در این مکانیزم، CRL شامل کلید کشف رمز شده می‌باشد که توسط کلید خصوصی جدید CA صادر و امضا شده‌است. اعضای اعتماد کننده این امضا را با بازیابی کلید عمومی CA و محاسبة عدد HASH این کلید معتبر می‌شمارند و آن را با عدد HASH قبلی در گواهی قدیمی CA مقایسه می‌کنند. این مکانیزم نیاز بدان دارد که CA در زمان گواهی کردن زوج کلید فعلی، زوج کلید بعدی را نیز تولید کند.
 
;آماده‌سازی
;آماده سازی
 
در شرایط کشف رمز CA باید اقدامات زیر را در جهت کاهش آسیبها انجام دهد:
* تلاش به هر شکل ممکن برای شناخت طرفهای اعتماد کننده تا پیام اخطار فقط به این افراد فرستاده شود. این کار در مدل وب شدنی نیست، اما از طریق دیگر مدلهای اعتماد PKI حاصل می‌شود.
* ذخیره نمودن کلید عمومی مورد اعتماد به عنوان یک گواهی در حوزة محلی طرفهای اعتماد کننده، پشتیبانی از انتشار پیام CRL و تقویت نرم‌افزاری طرفهای اعتماد کننده برای چک کردن پیام CRL. این کار تا حد زیادی زیان را کمینه می‌کند چون بدون مداخلة موجودیت‌های نهایی و بطور خودکار، اعتماد نسبت به کلید کشف رمز شده از بین می‌رود. این روش برای محیط هاییمحیط‌هایی که وضعیت گواهی خود را از طریق لیست ابطال چک می‌کنند، مناسب ترینمناسب‌ترین است.
* داشتن یک دورة زمانی معتبر برای زوج کلیدها. کشف رمز یک کلید پس از ده سال استفاده نسبت به کشف رمز کلید پس از یک سال استفاده، عواقب وخیم تری دارد.دارد؛ بنابراین هرچه این دورة زمانی کوتاهتر باشد، میزان خسارت کمتر خواهد بود.
* اجرای مکانیزم خودکار و کنترل شدة جابجایی کلید CA.
 
;بازیابی
 
تنها راه بازیابی این است که به PKI دوباره ارزش دهی شود.شود؛ بنابراین یک کلید از سمت CA تولید می‌شودو یک کپی از کلید عمومی در محل هر موجودیت PKI قرار داده می‌شود. به عبارتی PKI باید برای موجودیت‌ها به شکلی ساخته شود که انگار هیچ وقت وجود نداشته‌است.
 
== مدیریت گواهی مستقل ==
اگر یک کلید عمومی در چند گواهی قرار داده شده و کلید خصوصی در معرض خطر باشد، باید به یاد داشتیادداشت که کدام گواهی‌ها دارای این کلید بودند تا بتوان آنها را باطل نمود. عدم ابطال هرکدام از این گواهی‌ها می‌تواند منجر به یک ریسک امنیتی جدی شود. در مقابل، چنین ریسکی کاهش می‌یابد اگر کلید عمومی فقط در یک گواهی ظاهر شود؛ چون بار اجرایی یافتن و ابطال یک گواهی به مراتب کمتر است.
 
بعلاوه، گواهی‌های جداگانة در ارتباط با زوج کلیدهای جداگانه، از نظر ساخت مستقلند: آنها از نظر دورة اعتبار، سیاستها، کاربرد و رویه‌های مدیریتی مستقلند.مستقلند؛ بنابراین ابطال یکی از آنها بر بقیه تأثیرگذار نیست. داشتن یک کلید عمومی در چند گواهی، مدیریت آن را پیچیده می‌کند.
اگر یک کلید عمومی در چند گواهی قرار داده شده و کلید خصوصی در معرض خطر باشد، باید به یاد داشت که کدام گواهی‌ها دارای این کلید بودند تا بتوان آنها را باطل نمود. عدم ابطال هرکدام از این گواهی‌ها می‌تواند منجر به یک ریسک امنیتی جدی شود. در مقابل، چنین ریسکی کاهش می‌یابد اگر کلید عمومی فقط در یک گواهی ظاهر شود؛ چون بار اجرایی یافتن و ابطال یک گواهی به مراتب کمتر است.
بعلاوه، گواهی‌های جداگانة در ارتباط با زوج کلیدهای جداگانه، از نظر ساخت مستقلند: آنها از نظر دورة اعتبار، سیاستها، کاربرد و رویه‌های مدیریتی مستقلند. بنابراین ابطال یکی از آنها بر بقیه تأثیرگذار نیست. داشتن یک کلید عمومی در چند گواهی، مدیریت آن را پیچیده می‌کند.
 
== پشتیبانی از عدم انکار ==
برای پشتیبانی از عدم انکار، شرط لازم آن است که کلید خصوصی همراه با فعالیت [[عدم انکار]] مورد نظر (مانند امضای یک رسید برای اثبات انتقال آن) نباید برای بخشهای دیگر شناخته شده باشد. در غیر اینصورت، موجودیت مزبور به سادگی می‌تواند اعلام کند که بخش دیگری عدم انکار نموده‌است.نموده‌است؛ بنابراین [[سرویس عدم انکار]] به مانع برخورد می‌کند.
 
برای پشتیبانی از عدم انکار، شرط لازم آن است که کلید خصوصی همراه با فعالیت [[عدم انکار]] مورد نظر (مانند امضای یک رسید برای اثبات انتقال آن) نباید برای بخشهای دیگر شناخته شده باشد. در غیر اینصورت، موجودیت مزبور به سادگی می‌تواند اعلام کند که بخش دیگری عدم انکار نموده‌است. بنابراین [[سرویس عدم انکار]] به مانع برخورد می‌کند.
 
[[کلید خصوصی]] مربوط به گواهی که هدفش پشتیبانی از عدم انکار است، نباید در معرض دید موجودیت‌های دیگر قرار گیرد. در بعضی محیطها، لازم است که چنین کلیدهایی تولید شوند تا از کلیدهایی که درگیر با فعالیتهای عدم انکار نیستند، توسط یک موجودیت مورد اعتماد نسخة پشتیبان تهیه شود و یا این کلیدها در نرم‌افزار ذخیره گردند.<ref> Understanding PKI: Concepts, Standards, and Deployment Considerations, Second Edition, Addison Wesley.</ref>
 
== منابع ==
 
{{پانویس}}