پروتکل، مجموعه قوانینی برای ارتباط طرفین و یا دو موجودیت نظیر(peer entity) میباشد. مجموعه قوانینی که برای انتقال پیام بین دو طرف ارتباط در یک شبکه وجود دارد. پروتکلهای مختلفی در لایه های مختلف شبکه ها تعریف شدهاند. این پروتکلها اهداف مختلفی را دنبال مینمایند. پروتکلهای تعریف شده در لایه کاربرد ارتباط بین دو نهاد به صورت انتها به انتها را برقرار مینمایند. یعنی دو کاربرد در دو انتهای ارتباط به صورت امن رابطه برقرار مینمایند. پروتکلهای امنیتی در لایه های پایینتر با ارتباط کاربردی، کاری ندارند و امنیت در حد واسطها و دیتا گرام و یا امنیت بسته را برقرار مینمایند. پروتکلهای امنیتی در ابتدا کار احراز هویت را انجام میدهند. احراز هویت به صورت یکطرفه و دو طرفه انجام میپذیرد. احراز هویت یک طرفه یعنی کاربر و یا نهادی که میخواهد از شبکه ارتباط بگیرد، باید ابتدا خود را معرفی نماید.
معرفی یک کاربر به شبکه، بسته به اینکه پروتکل امنیتی مربوط به کدام لایه باشد، فرق میکند. پروتکل امنیتی لایه سه، آدرس IP او را بررسی نموده و تصدیق مینماید. پروتکل امنیتی لایه کاربرد، آدرس پورتها، شماره نشست و بقیه مشخصهها را بررسی مینماید. بقیه مشخصهها میتواند شامل شماره ترتیبی(Sequent Number) نیز باشد.
در احراز هویت دوطرفه شبکه سرویسدهنده هم باید خود را به کاربر معرفی نموده و خود را احراز نماید. بعد از معرفی اولیه دو طرف و توافق بر کیفیت ارتباط ؛ امکان ایجاد ارتباط ، تعریف شده و شروع میشود.
توافقهای اولیه راجع به الگوریتمهای رمزنگاری مورد استفاده، کلیدهای عمومی، کلیدهای خصوصی و بقیه مشخصهها میباشد. پس از این مرحله هر دو طرف ارتباط میدانند که از چه کلیدی استفاده کنند تا طرف مقابل قادر به رمزگشایی باشد،از چه الگوریتمی برای رمزنمودن داده استفاده نمایند و بقیه اطلاعات لازم را از طرف دیگر بدست میآورند.
این توافقها در بخشی به نام hand shaking و یا دستداد انجام میپذیرد. دستداد در ابتدای هر ارتباط انجام میپذیرد. در مورد احراز هویت و روشهای مختلف آْن در مقالههای بعدی توضیح خواهیم داد.
از پروتکلهای امنیتی میتوانیم به IPsec ، SSL، SSH، TLS، WTLS اشاره کنیم. هر کدام از این پروتکلها میتوانند به همراه پروتکلهای شبکه و در کنار آنها، وظیفه اجرا و پیادهسازی مکانیزمهای امنیتی را به منظور حفظ ابعاد هشتگانه امنیتی برعهده داشته باشند.
این مکانیزمها از بروز حملهها جلوگیری مینمایند. پیادهسازی برخی از این پروتکلها به صورت اجباری در پروتکلها تعریف شده است. به عنوان مثال پیادهسازی پروتکلIPsec در پروتکل IPv6 اجباری میباشد. پروتکلIPsec مربوط به لایه شبکه و بقیه پروتکلهای گفته شده مربوط به لایه کاربرد و یا انتقال میباشند. سازگاری این پروتکلها در کنار بقیه استانداردهای شبکه منجر به افزایش استفاده از آنها میگردد. برخی از آنها نیز همانند WTLS به منظور خاصی تعریف میگردد. پروتکلWTLS یک پروتکل امنیتی لایه انتقال است که در شبکههای سیار برای حفظ امنیت لایه کاربرد ارتباط انتها به انتهای کاربران شبکه تعریف شده است. پروتکلهای دیگر لایه انتقال SSL، TLS میباشند و پروتکلSSH مربوط به ارتباط در لایه کاربرد میباشد. با وجودی که پروتکلهای SSL، TLS شباهت زیادی دارند، به طور همزمان و در دو طرف یک ارتباط قابل استفاده نیستند. هدف این دو پروتکل صحت داده و محرمانگی ارتباط بین طرفین ارتباط میباشد.
SSL بیشتر توسطWEB browser ها و کارهای مربوط به شبکه که امنیت در آنها مهم میباشد، به کار گرفته میشود. یکی از این کاربردهای مهم تجارت الکترونیک میباشد.SSL بر روی TCP اجرا میگردد.
هر چه پروتکل امنیتی استفاده شده در لایههای پایینتر باشد نیازی به تغییر برنامه ها نخواهیم داشت. به عنوان مثال در صورت استفاده از IPsec نیازی به تغییرات در برنامههای کاربر نیست اما در صورتی که بخواهیم از SSL و یا TLS استفاده نماییم، باید برنامه کاربردی تا حدودی تغییر یابد و از پیادهسازی پروتکل امن مربوطه آگاه باشد.
IPsec یا همان Internet Protocol security عبارت است از مجموعهای از چندین پروتکل که برای ایمن سازی پروتکل اینترنت در ارتباطات بوسیله احراز هویت و رمز گذاری در هر بسته(packet) در یک سیر داده به کار میرود. این پروتکل محصول مشترک مایکروسافت و سیسکو سیستمز میباشد که در نوع خود جالب توجه است.
IPsec بر خلاف دیگر پروتکلهای امنیتی نظیر SSL، TSL، SSH که در لایه انتقال (لایه ۴) به بالا قرار دارند در لایه شبکه یا همان لایه ۳ مدل مرجع OSI کار میکند یعنی لایه که آی پی در آن قرار دارد که باعث انعطاف بیشتر این پروتکل میشود به طوری که میتواند از پروتکلهای لایه ۴ نظیر تی سی پی و یو دی پی محافظت کند.
مزیت بعدی IPsec به نسبت بقیه پروتکلهای امنیتی نظیر اس اس ال این است که : نیازی نیست که برنامه بر طبق این پروتکل طراحی شود. ساختار خانواده پروتکل IPSec شامل دو پروتکل است. یعنی سرآیند احراز هویت یا AH یا همان authentication header وESP هر دوی این پروتکلها از IPSec مستقل خواهد بود.
سه قسمت اصلي در IPSec عبارتند ازFilter list و Filter Action و Rules . در واقع اين سه بخش استخوانبندي سرويس IPSec را تعيين مي كنند. جهت پيكربندي اين سرويس بايد درك كامل و دقيقي از شبكه خود داشته باشيد و بدانيد چه ترافيكي در شبكه شما وجود دارد. همچنين محل هاي فيلترگذاري و تعيين مجوز را مي بايست به صورت كامل و دقيق رعايت كنيد.
Filter list در واقع مشخص كننده مواردي است كه در فيلتر شما اعمال مي شود اين موارد مي تواند شامل پروتكل ها ، پورت ها و آدرس هاي IP باشد به عبارت ساده تر توسط Filter list مشخص مي كنيد كدام يك از موارد گفته شده توسط IPSec كنترل شود اما Filter Action زماني انجام مي شود كه رويدادي كه در Filter list وارد شده است ،اتفاق بيفتد. در واقع عكس العمل IPSec را براي آن رويداد مشخص مي كند مثلا شما در Filter list خود ، پورت 443 را وارد مي كنيد، Filter action نوع برخورد IPSec را با بسته اي كه از اين پورت وارد مي شود را مشخص مي كند. اين پاسخ مي تواند بر سه قسم باشد، اگر شما مجوز Permit را صادر كنيد بسته رسيده بدون هيچ گونه سوال و جوابي به خروجي مخصوص فرستاده مي شود و مي تواند مورد استفاده قرار بگيرد. اگر شما مجوز Block را صادر كنيد بسته رسيده بدون هيچ سئوال و جوابي Discard مي شود در واقع اجازه ورود به بسته به كامپيوتر داده نمي شود.
اگر شما مجوز Negotiate Security را براي بسته اي صادر كنيد وقتي كه اين بسته به كامپيوتر شما ميرسد مي بايست طبق متد هاي معرفي شده در قسمت Authentication به معرفي خود بپردازد اگر صلاحيت ان مورد تاييد قرار گرفت بسته وارد مي شود و در غير اين صورت بسته Discard مي شود. توجه داشته باشيد كه اگر صلاحيت بسته مورد تاييد قرار گرفت و وارد كامپيوتر شما شد ارتباط دو PC به صورت امن مي باشد.
Rule ها: Rule ها در واقع مشخص كننده Policy هايي هستند كه هر كدام داراي يك Filter list و Filter Actionمي باشند . مثلا شما يك Rule براي محدود كردن Website خود درست مي كنيد كه در رابطه با Packet ها و درخواست ها به صورت Negotiate Security عمل كنند و يا اينكه Role جديد ايجاد كنيد و در ان فيلتر ليست خود را بسته هاي ICMP مشخص كنيد كه فيلتر Action آن Block مي باشد.
حال با يك مثال شرح خواهيم داد چگونه براي استفاده از برنامه Remote Desktop محدوديت ايجاد كنيم. همانطور كه در بخش Remote Desktop گفته شد كامپيوتر مقصد براي صدور اجازه ورود به صورت Remote براي كاربران، مي بايست يك سري تنظيمات را انجام دهد اكنون آن تنظيمات انجام شده و مي خواهيم به Domain Controler(dc) وارد شويم . براي اين منظور وارد مسير زير مي شويم
Start \ all program \ Accessories \ Communication \ Remote Desktop Connection