تبادل کلید
پروتکل تبادل کلید (نام علمی: Key-agreement protocol) در رمزنگاری یک پروتکل تبادل کلید یک توافقنامه بین حداقل ۲ جزء یک شبکه است که یک کلید را بین آنها به اشتراک میگذارد و مانع دستیابی افراد خارج از پروتکل به این کلید میشود
تبادل کلید نمایی
نخستین تبادل شناخته شده کلید عمومی بر پایه تبادل کلید دیفی-هلمن بنا شده بود. در این روش هر کدام از طرفین مولد یک گروه دوری را به توان عددی تصادفی میرسانند، در چنین شرایطی با توجه به شرط لگاریتم گسسته ادعا میشود که مهاجم -شنونده غیرمجاز که در حال استراق سمع است- نمیتواند اعداد تصادفی که انتخاب شدهاند را حدس بزند. در تبادل کلید دیفیهلمن، هویت طرفین دخیل نیست، به چنین پروتکلهای تبادل کلیدی، پروتکل تبادل کلید بیهویت گفته میشود.
احراز هویت
پروتکل تبادل کلیدهایی مثل پروتکل تبادل کلید دیفی-هلمن که هویت طرفین در تبادل کلید دخیل نیست، در برابر حمله مرد میانی آسیبپذیر هستند. طیف گستردهای از پروتکلهای تبادل کلید برای جلوگیری از حمله مرد میانی پیشبینیهایی داشتهاند و بر این مبنا توسعه پیدا کردهاند. معمولاً از فرضیات ریاضی برای دخالت دادن هویت افراد استفاده میشود و هویت افراد با استفاده از روشهای زیر در پروتکل لحاظ میشود:
- کلیدهای عمومی و خصوصی
- اشتراک گذاری کلیدهای محرمانه
- رمز عبور
کلید عمومی
روش معمول در این زمینه استفاده از امضای دیجیتال امن و قابل اطمینان است: اگر باب متنی را با کلید خصوصیاش امضاء کند و برای آلیس بفرستند، آلیس میتواند مطمئن باشد که این پیام از طرف مهاجم ارسال نشدهاست. زمانی که آلیس و باب میخواهند از کلید عمومی استفاده میکنند میتوانند با استفاده از روش دیفی-هلمن امضای دیجیتال خود را معرفی کنند (برای مثال پروتکل امن انتقال ابرمتن، SSL و…) روشهای معروف دیگر برای استفاده از کلید عمومی/خصوصی در پروتکلهای MQV, YAK, ISAKMP که خود ار انواع پروتکلهای IPsec در ارتباطهای امن اینترنتی را میتوان مشاهده کرد. همواره این پروتکلها نیازمند بررسی هستند که هویت اطلاعات و حفظ محرمانگی کلیدهای نشست را حفظ میکنند.
سیستمهای ترکیبی
سیستم ترکیبی استفاده از رمزنگاری غیرمتقارن برای به اشتراکگذاری کلید برای سیستم رمزنگاری متقارن است. اکثر برنامههای کاربردی، ترکیبی از سیستمهای رمزنگاری مختلف را مورد استفاده قرار میدهند تا همه خواص امنیتی مورد نیاز یک ارتباط امن برقرار شود.
کلمه عبور
پروتکلهای تأیید کلمه عبور، جزئی از پروتکل تبادل کلیدی است که نیازمند استفاده از کلمه عبور است (که ممکن است این کلمه عبور از کلید کوتاهتر باشد). این پروتکل، محرمانگی و اصالت را باید حفظ کند و در برابر حملههای MITM و دیگر حملات علیه کلمه عبور امن باشد. برخی پروتکلهای تأیید کلمه عبور مثل DH-EKE, SPEKE وSRP از روش دیفیهلمن استفاده میکنند.
فنون دیگر
اگر یکی از طرفین روشی برای اطمینان از تمامیت کلید مشترک در یک کانال عمومی داشته باشد که ممکن است از روش تبادل کلید دیفی-هلمن برای کلید کوتاهمدت مشترک استفاده کرده باشند، آنگاه برای احراز هویت نیز انجام خواهد شد. یک روش استفاده از احراز هویتی صوت است که در PGPfone استفاده میشود. احراز هویت صوت، حمله MITM (مرد میانی) را برای تقلید صدای یکی از طرفین پروتکل غیرممکن میسازد که یک فرض عجیب به نظر میآید. برخی پروتکلها برای محیطهای عمومی کوچک آماده شدهاند مثل پروتکلهای جفت شدن بلوتوث در گوشیهای تلفن همراه.
کلید محرمانه مشترک
رمزنگاری کلید محرمانه (متقارن) نیازمند تبادل کلیدی است که خصوصی بودن و تمامیت را تضمین سازد، به شکلی که اگر درست انجام شود مانع حمله مرد میانی باشد.
یادداشت
برای آشنایی با مفهوم کلید عمومی/خصوصی صفحه تبادل کلید دیفی هلمن را مطالعه کنید.