عکس پیش‌فرض نوشته

در واژگان شبکه های کامپیوتری به مجموعه ای از تعاملات که ابتدا با یک هماهنگی و توافق اولیه (مانند عمل ورود و احراز هویت) آغاز میشود و سپس مجموعه ای از فعل و انفعالات و تراکنش بین طرفین صورت میگیرد و نهایتاً طرفین در روالی هماهنگ با یکدیگر خداحافظی کرده و تعاملات خود را به پایان میرسانند، اصطلاحاً یک نشست یا Session گفته میشود.

پروتکل های رمزنگاری و پروتکل های امنیتی

 

به عنوان مثال از لحظه ای که برای خواندن ایمیل های خود عمل SignIn را انجام میدهید، یک نشست یا Session را آغاز کرده اید؛ سپس مجموعه ای از عملیات (مثل خواندن، نوشتن، حذف و تغییر پیام ها) را انجام داده و سر انجام با SignOut کردن خاتمه نشست را به اطلاع سرویس دهنده میرسانید.

 

گاهی نیاز است که کل اطلاعات مبادله شده در طی یک نشست، رمزنگاری شود.

بنابراین طرفین باید بدانند که از کدام روش رمزنگاری و کلید رمز استفاده کنند، قالب پیام ها چگونه باشد، تازگی (Freshness) و افزونگی (Redundancy) بر اساس چه مکانیزمی پیاده سازی شده و یک قطعه داده رمز شده پس از رمزگشایی، به چه نحوی باید تعبیر و پردازش شود.

پروتکل عبارت است از قراردادی که بین طرفین یک نشست توافق شده و رعایت میشود تا تمام جزئیات برقراری ارتباط، نحوه تبادل پیام ها، قالب (Format) هر پیام و روش تعبیر و پردازش آنها دقیقاً مشخص باشد.

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

در پروتکل هایی که نیاز به برقراری یک ارتباط امن و رمزنگاری شده هست بایستی نحوه شروع یک نشست (شامل احراز هویت طرفین و تعیین مجوز هر شخص)، چگونگی رمزنگاری اطلاعات، مکانیزم تازگی و افزونگی پیام ها، نحوه توافق بر روی کلید رمز و کل جزئیات پیام ها به روشنی در پروتکل تصریح شده باشند تا طرفین بتوانند به درستی یک Session را با هم ترتیب داده و با یکدیگر به تبادل اطلاعات بپردازند.

به عوان مثال تراکنش های الکترونیکی برای مبادله پول و اعتبار از راه دور نیاز به پروتکلی رمزنگاری شده و 100% مطمئن دارند به نحوی که هیچ شخص اخلالگر ثالثی نتواند منجر به ایجاد هر گونه اشکال غیر قابل کشف در تعاملات افراد شود.

 

متأسفانه گاهی اوقات مکانیزم های امنیتی مثل رمزنگاری، امضای دیجیتالی و نظایر آن بسیار مستحکم و غیر قابل نفوذند ولی پروتکل های مورد استفاده جهت ایجاد نشست های امن با دقت کافی طراحی نشده اند و امکان نفوذ به سیستم  و ایجاد شدن مشکل را فراهم می سازد.

 

در صورتی که پروتکل استفاده شده دارای مشکلات و باگ های امنیتی باشد و اخلالگران بتوانند به سیستم نفوذ کنند، میتوان گفت استفاده از روش های رمزنگاری و هر مکانیزم امنیتی دیگری فایده ای برای شبکه های کامپیوتری ما نخواهد داشت.

در نتیجه یکی از خطیرترین مراحل طراحی یک پروتکل رمزنگاری کاملاً امن، تحلیل دقیق آن جهت یافتن ضعف ها و حفره های امنیتی است.

 

 

انواع پروتکل های امنیتی

عموماً پروتکل های امنیتی در سه رده زیر تقسیم بندی میشوند:

1- پروتکل های مبتنی بر حکمیت عنصر ثالث (Arbitrated Protocols)

در پروتکل های مبتنی بر حَکَمیت کلیه تراکنش های بین طرفین یک نشست از طریق یک عنصر ثالث که مورد تایید همگان است نظارت و هماهنگ میشود.

عنصر ثالث (حَکَم) در این نوع پروتکل ها، به کلید رمز سایر سیستم ها دسترسی داشته و همه معاملات رمزنگاری شده افراد و سیستم های موجود در شبکه از طریق آن صورت میگیرد.

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

در چنین پروتکل هایی، درستی عملکرد عنصر حکمیت و عدم نفوذ پذیری آن نقش بسیار حیاتی در امنیت کل کاربران موجود در شبکه ایفا میکند.

درضمن چنین عنصری را میتوان یک گلوگاه ایجاد مشکل و نقطه حساس به خرابی در شبکه دانست زیرا ارتباطات و تراکنش های افراد در شبکه توسط عنصر حکمیت تنظیم و به طور کامل نظارت میشود.

معمولاً اخلالگران شبکه در تلاشند تا به روش های مختلف این عنصر مرکزی را از کار بیاندازند، لذا ماهیت عناصر حکمیت در شبکه باعث ایجاد حساسیت و تاخیر خواهد شد.

طبق تعریف بالا، به هر پروتکلی که برای درستی عملکرد و تضمین امنیت به یک عنصر ثالث وابسته باشد اصطلاحاً Arbitrated Protocol گفته میشود.

 

2- پروتکل های مبتنی بر قضاوت ثانوی (Adjudicated Protocols)

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

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

مشکلات احتمالی ایجاد شده توسط این نوع از پروتکل ها بسیار کمتر از نوع قبلی است زیرا نقش بسیار کوتاهی در نشست ایجاد شده برعهده دارد.

 

3- پروتکل های خوداتکاء (Self-Enforced Protocols)

پروتکل های خوداتکاء (Self-Enforced) پروتکل هایی هستند که به هیچ عنصر ثالثی وابسته نیستند ولیکن از مکانیزم هایی بهره گرفته اند که هر گونه تلاش در تقلب (از طرف مقابل یا اخلالگران میانی) به راحتی کشف و از آن جلوگیری میشود.

عموماً این نوع از پروتکل ها که از نظر ماهیتی پیچیده تر از بقیه هستند زمانی به کار میروند که تعاملات افراد در خلال یک نشست، نیازی به پشتوانه های حقوقی و قضایی ندارد.

به عنوان مثال، ایجاد قراردادهای الکترونیکی، صدور چک و حواله های الکترونیکی عموماً باید بر اساس پروتکل هایی صورت بگیرد که پشتوانه ی یک عنصر ثالث را به عنوان “شاهد مورد تایید و اعتماد” در پی داشته باشند؛ در طرف مقابل موسساتی مثل دانشگاه ها، کتابخانه ها و سازمان ها و شرکت های خدماتی غیر حساس میتوانند از پروتکل های امنیتی Self-Enforced بهره بگیرند.

این آموزش بیش از ۳ سال قبل ارسال شده و اکنون در لیست به‌روزرسانی‌های سایت قرار دارد. اگر پیشنهاد یا انتقادی برای بهبود آموزش دارید، خوشحال می‌شیم به ما اطلاع بدهید.