مفهوم پروتکلهای رمزنگاری
در ادبیات شبکه های کامپیوتری به مجموعه ای از تعاملات که ابتدا با یک هماهنگی و توافق اولیه (مثل عمل sign in و احراز هویت) آغاز می شود و سپس مجموعه ای از فعل و انفعالات و تراکنش بین طرفین صورت می گیرد و نهایتاً طرفین در روالی هماهنگ با یکدیگر خداحافظی کرده و تعاملات خود را به پایان می رسانند، اصطلاحاً یک "نشست" گفته می شود که برنامه نویسان نیز گاهی اوقات به آن "جلسه" یا seassion نیز می گویند
به عنوان مثال از لحظه ای که برای خواندن نامه های الکترونیکی خود عمل sign in انجام می دهید، "نشستی" را آغاز کرده اید؛ سپس مجموعه ای از عملیات (مثل خواندن، نوشتن، حذف و تغییر برنامه ها) را انجام داده و سرانجام با عمل sign out، خاتمه ی نشست را به اطلاع طرف مقابل می رسانید.
گاهی نیاز است که اطلاعات مبادله شده در طی یک نشست، رمزنگاری شود. بدین ترتیب طرفین باید بدانند که از کدام روش رمزنگاری و کلید رمز استفاده کنند، قالب پیام ها چگونه باشد، تازگی (freshness) و افزونگی redundancy)) طبق چه مکانیزمی پیاده سازی شده و یک قطعه داده ی رمز شده پس از رمزگشایی، به چه نحو باید تعبیر و پردازش شود.
پروتکل چیست؟
پروتکل عبارت است از قراردادی که بین طرفین یک نشست توافق و رعایت می شود تا تمام جزئیات برقراری ارتباط، نحوهی تبادل پیام ها، قالب (format) هر پیام و روش تعبیر و پردازش آنها دقیقاً مشخص باشد. هرگونه تخطی از اصول تصریح شده در پروتکل منجر به رفتارهای پیش بینی نشده، قطع ارتباط یا دریافت پاسخ های غلط خواهد شد. در پروتکل هایی که نیاز به برقراری یک ارتباط امن و رمزنگاری شده وجود دارد بایستی نحوه ی شروع یک نشست (شامل احراز هویت طرفین و تعیین مجوز هر شخص)، چگونگی رمزنگاری اطلاعات، مکانیزم تازگی و افزونگی پیام ها، نحوه توافق بر روی کلید رمز و کل جزئیات پیام ها به روشنی در پروتکل تصریح شده باشد تا طرفین بتوانند به درستی نشستی را با هم ترتیب داده و از پیام های یکدیگر بهره برداری کنند.
به عنوان مثال تراکنش های الکترونیکی برای مبادله ی پول و اعتبار از راه دور نیاز به پروتکلی رمزنگاری شده و صد در صد مطمئن دارند به نحوی که هیچ شخص اخلالگر ثالثی نتواند منجر به ایجاد هرگونه اشکال غیر قابل کشف در تعاملات افراد شود.
متأسفانه گاهی از اوقات مکانیزم های امنیتی مثل رمزنگاری، امضای دیجیتالی و نظائر آن بسیار محکم و غیر قابل نفوذند ولیکن پروتکل های مورد استفاده در ایجاد نشست های امن با دقت طراحی شده اند و امکان رسوخ در سیستم را به اخلالگران می دهند.
هرگاه به دلیل وجود رخنه های امنیتی در یک پروتکل، راه نفوذ اخلالگران به سیستم باز بماند روش های رمزنگاری و هرمکانیزم امنیتی دیگر (با هراستحکامی) تأثیر خود را از دست خواهند داد. بنابراین یکی از خطیرترین مراحل طراحی یک پروتکل رمزنگاری صد در صد امن، تحلیل دقیق آن به منظور کشف هرگونه ضعف یا حفره امنیتی است.
دشوارترین پروتکل ها کدامند؟
دشوارترین پروتکل ها مربوط به نشستی است که طرفین ارتباط هیچ شناخت قبلی از یکدیگر ندارند و در بدو نشست باید هویت خود را به یکدیگر اثبات و سپس بر سر کلید رمز به توافق برسند و پس از آن تعاملات خود را آغاز نمایند.
منظور از پروتکل های Multi Parties Secure Protocol چیست؟
گاهی یک نشست به طور همزمان بین چندین نفر برقرار می شود، به عنوان مثال اتاق های گفت و گو (chat room)، تنظیم قراردادهای الکترونیکی آنلاین و نظائر آن به ایجاد نشست های جمعی نیاز دارد. هرگاه بخواهیم این نشست ها به صورت امن برقرار شود به پروتکل های خاصی احتیاج است که افراد با رعایت آن بتوانند در روالی مشخص با یکدیگرفعل و انفعال داشته و در هر زمان دلخواه به نشست بپیوندند و یا نشست را ترک کنند.
اهمیت روش های رمزنگاری و مکانیزم های امنیتی
یک اشکال کوچک در نرم افزار کاربر می تواند منجر به نفوذ اخلالگران در سیستم شده و تمام کلید های رمز لو برود حتی بدون آنکه کاربر از این موضوع آگاه شود. لذا روش های رمز نگاری و مکانیزم های امنیتی لازمند ولی هرگز کافی نیستند. جالب آنکه گاه این اشکالات ناخواسته در برخی از برنامه های بسیار مشهور و فراگیر (مثل Internet Explorer، Outlook، IIS و Mozilla) دیده شده است.
در هر پروتکل به مجموعه ای از عملیات پایه (اتمیک) نیاز است که به هریک از این عملیات پایه یک )Primitive عمل اصلی) گفته می شود. به عنوان مثال ممکن است در یک پروتکل به پنج عمل اصلی «محاسبه ی چکیده پیام»، «رمزنگاری کلید عمومی برای یک قطعه داده»، «محاسبه ی رمز متقارن برای یک قطعه داده»، «محاسبه و درج تاریخ و زمان صدور پیام» و «اعمال اصل افزونگی» نیاز باشد، طبق تعریف به هریک از این عملیات پایه اصطلاحاً Primitive گفته می شود.
دیدگاه شما چیست؟