پروتکل امنیت در لایه شبکه IPSec



مقدمه

در پشته پروتکل TCP/IP هر لایه دارای یک یا چند پروتکل می باشد که هر پروتکل وظیفه خاصی را در آن لایه انجام می دهد, بر همین اساس جهت ایجاد امنیت هر لایه بنا به اصول طراحی زیر پروتکلها ، یک یا چند پروتکل امنیتی تعبیه شده است.مطابق اصول طراحی زیر لایه هر لایه وظیفه ای را بر عهده دارد که منحصر بفرد می باشد و در هر لایه نیز هر پروتکل می تواند بنا به قرارداد عملیات خاصی را برعهده بگیرد .بر همین اساس امنیت در لایه شبکه بر عهده IPSec می باشد. از این پروتکل بطور وسیعی درشبکه های مجازی خصوصی (Virtal Private Network ) *** برای دفاترمربوط به یک شرکت یا سازمان و اساساً ایجاد ارتباط امن بین دو یا چند سازمان بکار می رود . امنیت شبکه های مجازی خصوصی((*** از چند روش امکان پذیر می باشد که عبارت اند از استفاده از دیواره آتش ، IPsec , AAA Server و کپسوله سازی.

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

- سرآیند احراز هویت (Authentication Header(AH) ) :که بحث پیرامون فرمت بسته ها و مسائل عمومی مربوط به استفاده از AH برای احراز هویت بسته می پردازد.

- الگوریتم رمزنگاری (Encryption Algorithm ) :که به نحوی رمزنگاری های مختلف در ESP می پردازد.

- الگوریتم احراز هویت که نحوه استفاده از الگوریتمهای احراز هویت مختلف در ESP , AH (اختیاری) را بیان می دارد.

- مدیریت کلید(Key Management ) :که به مسائل مربوط به مدیریت کلید می پردازد.

- ارتباط بین دامنه ای (Domain of Inter Predation ): یا مطالب مربوط به ارتباط بین قسمت های مختلف مانند شناسه های استفاده شده برای الگوریتم ها و پارامترهایی از قبیل طول عمر کلید.

پروتکل IPSec خود شامل اجزاء تشکیل دهنده قراردادها و نحوی تامل بین آنهاست. در شکل 1 ارتباط بخشهای مختلف این قرارداد نمایش داده شده است.





شکل 1.معماری پروتکل IPSec و نحوی تامل اجزاء آن



در پروتکل IPSecسرویسهای امنیتی در دو قرارداد ESP , AH تدارک دیده شده اند .این سرویسهای امنیتی شامل_ :کنترل دسترسی (Access Control ) ،صحت و درستی (Integrity) ، احراز هویت مبدا داده (Data Origin Authentication ) ، رد بسته های دوباره ارسال شده (Anti Replay ) ، محرمانگی (confidentially) ، محرمانگی جریان ترافیک بصورت محدود_ خواهند بود.

این سرویسها در سه نوع ترکیب IPSec ارتباط فراهم آمده اند:

پروتکلهای ESP , AH فقط بصورت رمزنگاری (Encryption) و ESP بصورت Encryption و احراز هویت (Authentication).



IPSec یک پروتکل توسعه یافته روی پروتکل IP است که جهت امنیت IP تهیه شده است. این پروتکل از دو پروتکل AHوESP برای اطمینان بیشتر روی احراز هویت،تمامیت داده ها(سلامت داده) و محرمانگی استفاده می کند. این پروتکل می تواند،هم امنیت درلایه شبکه و هم امنیت در پروتکلهای لایه بالاتر در حالت Transport Modeرا برقرار سازد. این پروتکل از دو حالت Tunnel و Transport جهت اعمال سرویسهای امنیتی استفاده می کنند، یعنی برای امنیت لایه شبکه از حالت mode Tunnel استفاده می کند و برای امنیت لایه های بالاتر از حالت انتقال یا mode Transport استفاده می نماید.

درحالت Tunneling ؛دیتاگرام IP بطور کامل توسط دیتاگرامIP جدیدی کپسوله شده و آنرا برای پروتکل IPSec بکار می برد. ولی در حالت Transport فقط payload دیتاگرام بوسیله پروتکل IPSec فیلد سرآیند IPSec و سرآیندIP و فیلدهای لایه های بالایی درج (inserting) می شود.مطابق شکل2 این دو حالت به نمایش در آمده است.



شکل 2. حالت انتقال و تونل



مزایای حالت Tunnel این است که آدرسها معمولاً آدرس Gateway هاست که پس از بازگشایی آدرس واقعی بدست می آید و این موضوع از حملات شبکه جلوگیری می کند و مزیت دوم آن است که بسته بیرونی، یک بسته IP همانند بقیه بسته هاست و قابلیت مسیریابی دارد.

در حالت Transport احراز هویت بصورت مستقیم بین Server و سرویس گیرنده (Client)توسط کلید متقارن مشترک انجام میگیرد. در این حالت که الزاماً دو کامپیوتر در یک LAN قرار ندارند. اما در حالت Tunnel، سرویس گیرنده هویت خود را به Gateway اثبات می کند. در هر دو روش هر یک حالت خودشان (Transport mode Manuel mode) را از طریق SA استخراج کرده و مورد استفاده قرار می دهند.



حالت های انتقال و تونل در AH

قرارداد AH در بسته IP برای حفاظت ازتمامیت داده های تبادلی دیتاگرام IP ، IPSec از کدهای هَش احراز هویت پیام hash (Hash Message Authentication Code- )و یا با اختصار HMAC استفاده می کند. برای استفاده از HMAC،پروتکلهای IPSec از الگوریتم های hash ؛SHA برای محاسبات یک hash مبنا روی یک کلید سری(secret key) و محتویات دیتاگرام IP استفاده می کند.

بنابراین این کدهای هش احراز هویت پیام hash هم در سرآیند پروتکل IPSec و هم در پکت های دریافتی که بتواند این کدها را چک نماید که در واقع می تواند به کلید سری دسترسی داشته باشد،قرار می گیرد. برای ارائه سرویس محرمانگی دیتاگرام IP ،پروتکلهای IPSec از استانداردهای الگوریتم رمزنگاری متقارن (Symmetric Encryption Algorithm ) استفاده می کنند. IPSec از استانداردهای NULL ، DESاستفاده خواهد کرد. امروزه معمولاً یکی از الگوریتم های قوی مثل Blowfish , AES,3DES را بکار می برد.

IPSec برای دفاع وحفاظت از تهاجمات داده های تبادلی(Denial of services) ،از روش پنجرة اسلایدی sliding windows استفاده می کند. در این روش هر پکت یک شمارة توالی(sequence number) را به خود اختصاص می دهد و اگر عدد آن پکت به همراه یک windowsیا newer درست شده باشد، در این صورت پکت قدیمی بلافاصله دور انداخته (dispatched) می شود(این روش همچنین برای حفاظت از تهاجمات میانه راه پاسخ (The– of- middle Response Attach) نیز دوباره بکار می آید یعنی حفاظت از مهاجمانی که پکت های اصلی را ثبت کرده و بعد از چند لحظه تأخیر و احتمالاً تغییر دادن آن، ارسال می دارند.

برای کپسوله کردن و بازگشائی این یک پکت کپسوله شده ، با استفاده ازروشهای ذخیرة سازی، کلیدهای سری،الگوریتم هاIP و آدرسها درگیر در تبادلات اینترنتی را ذخیره نمایند و بکار میگیرد. همة این پارامترهای مورد نیاز جهت حفاظت دیتاگرامIP درجایی بنام مجمع امنیتی یا SA ها ذخیره می شوند. این مجمع امنیتی به نوبت در پایگاه دادة مجمع امنیتی(security association database ) یا (SAD) ذخیره می شوند.

مجمع امنیتی (SA) دارای سه پارامتر یگانه (یکتا-یکه) است که شامل :

1- شاخص پارامتر امنیت :(Security Parameter Index) این پارامتر 32 بیتی ارزش محلی داشته. این پارامتربهمراه ESP , HA حمل می شود تا سیستم دریافت کننده بتواند SA مربوط به آن را انتخاب نماید.

2- مشخصه پارامتر امنیت (security Parameter Identifier )SPI :این پارامتر نوع پروتکل امنیتی SA را تعیین می کند، AH یا ESP طبیعتاً این مشخصه بطور همزمان هر دو پروتکل را بهمراه ندارد.

3- آدرس مقصد : IP ، این آدرس اساساً آدرس یک نقطه انتهایی یا یک شبکه (روتر، حفاظ) خواهد بود.

با این تفاصیل، بطور کاملترو ریزتر مجمع امنیتی یا SA شامل اطلاعات و پارامترهای زیر است:

1- آدرس مبداءو مقصد مربوط به سرآیند IPSec.اینها IP آدرسهای پکت های نظیر به نظیر مبداء و مقصد حفاظت شده توسط IPSec می باشند.

2- الگوریتم و کلید سری بکار برده شده در IPSec ( ESP Informationو .AH Informantion)



برخی پایگاه ذخیره سازی SA ها،اطلاعات بیشتری را نیز ذخیره می کنند که شامل:

3- حالت های اصلی انتقال بستهIPSec(Transport یاTunnel )

4- اندازه Sliding windows جهت حفاظت از تهاجمات بازگشتی (replay attach)

5- زمان حیات (life time ) SA ها .فاصله زمانی است که پس از آن SA باید پایان یابد یا باSA جدیدی عوض شود.

6- حالت ویژه پروتکل IPSec که در این پارامتر علاوه بر حالتهای Transport , Tunnel ، حالت wildcard نیز مشخص می شود.

Sequence Number caurter-9 که یک پارامتر 32 بیتی که در سرآیند ESP,AH بعنوان فیلد شمارة سریال قراردارد.

sequence caunter cnerflow-10 یک شمارشگر که سرریز در شماره سریال را ثبت می کند و تعیین اینکه بسته های بعدی SA ارسال شود یا خیر؟

11-Path Maximum Transportation limit یا ماکزیمم بسته ای که در مسیر قابل انتقال است.



از آنجائیکه IP آدرس مبدأ و مقصد توسط خود SA ها تعریف می شوند. حفاظت از مسیر دو طرفه کامل IPSec بطور مستقیم فقط برای یک طرف امکان پذیر خواهد بود. برای اینکه بتوانیم حفاظت هر دو طرف را انجام دهیم نیازمند دو مجمع امنیتی غیر مستقیم (indirection ) خواهیم بود. SA ها فقط چگونگی حفاظت توسط IPSec را تعریف می کنند:

اطلاعات مقررات امنیتی راجع به هر پکت در مقررات امنیتی (Security Policy) تعریف شده است که در پایگاه ذخیره کنندة مقررات امنیتی (Database Security Policy ) ثبت ونگهداری می شود.

SP یامقررات امنیتی شامل اطلاعات زیر است:

1- آدرس مبدأ و مقصد پکت های حفاظت شده. در حالت Transport این آدرسها درست همان آدرسهای مبدأ و مقصد SA است.

2- پروتکل و پورت حفاظت شده . برخی IPSecها اجاره نمی دهند یک پروتکل به خصوص حفاظت شود. در این حالت تمام تبادلات ارسال و دریافت بین IP آدرسهای ذکر شده حفاظت می شوند.

3- مجمع امنیتی(SA) (Security Associate ) برای حفاظت پکت ها مورد استفاده قرار می گردد.

تنظیم دستی SA ها همواره دچار خطا و بی دقت است. از سوی دیگر کلید سری و الگوریتم های رمزنگاری مابین همه نقاط شبکه اختصاصی مجازی (***) باید به اشتراک گذاشته شود. به خصوص برای مدیران سیستم , تبادل کلید مسئله بحرانی خواهد کرد. بطور مثال اینکه چطور می توانیم تشخیص دادهیم هیچ عملیات رمزنگاری انجام نمی شود تا در آن هنگام تبادل کلید متقارن سری انجام گیرد یکی از همین مسائل است.برای حل این مشکل پروتکل تبادل کلید اینترنت (Internet Key Exchange ) پیاده سازی شده است . این پروتکل احراز هویت، برای نقاط نظیر اولین گام خواهد بود. دومین گام ایجاد SA و کلید سری متقارن جهت انتخاب و بکارگیری کلی تبادلی دیفن هیلمن(Diffle – Hellman key exchange ) خواهد بود.پروتکلIKE برای اطمینان از محرمانگی بطور دوره ای بدقت کلید سری را دوباره دریافت می دارد.


writer : seied mohamad hoseine
:موفق: